Syllabus

This course covers concepts in the design and implementation of computer communication networks, their protocols, the applications, and advanced principles of Computer Networks. Topics include layered network architectures, network programming interfaces (e.g., sockets), transport protocols, congestion control, routing algorithms, data link protocols, local area networks, wireless networks and network security. In addition, advanced principles in protocol mechanisms and implementations will be discussed.

Textbook: Computer Networking - A Top-Down Approach Featuring the Internet, by James F. Kurose & Keith W.Ross, Addison Wesley, 7th Edition
Prerequisites: You are required to have completed CSCI 272 or equivalent programming experience with C, Java or Perl.

Part 1: Introduction

Part 2: The Application Layer

Part 3: The Transport Layer

Part 4: The Network Layer

Part 5: The Link Layer and Local Area Networks

Part 6: Wireless Networks

Part 7: Security in Computer Networks