This course will provide students with a thorough understanding of the basic principles of computer networks, the design philosophy of the Internet, and the details of Internet protocols. Students who complete this course will be able to describe in detail the operations of Internet protocols and develop their own Internet applications. Students will also develop an understanding of the design and construction of Internet services via a semester long class project. At the end of the course, you should be capable of network programming.
The prerequisite for CS 352 is Computer Architecture (CS 211). Principles of Programming Languages (CS 314), while not a prerequisite, is strongly recommended. Students are expect to know how to program in Java and use simple data structures such as hash tables and arrays. Students are also expected to understand the department's computer facilities.