Notice: For the latest information and guidance on Purdue's response to COVID-19 please visit: https://coronavirus.purdue.edu/students

Computer Network Systems

ECE50863

Credit Hours:

3

Learning Objective:

  • Describe the architectural principles underlying the Internet design.
  • Explain LAN interconnects, routing algorithms and congestion control algorithms.
  • Identify, formulate, and solve problems encountered in the design of networks.
  • Implement networking systems and rigorously evaluate them using systematic empirical methods.

Description:

The goal of this course is to provide students with a proper grounding in the basic concepts and seminal work in computer network protocols and systems, and to introduce students to research in the field. The course will cover classical concepts such as network architecture, switching, routing, congestion control, and quality-of-service, and discuss recent developments in these areas.

The course will also cover new developments in networking such as network measurements, network management, overlay networking and peer-to-peer systems, network security, and new network architectures. The course will emphasize a system-oriented and empirical view of Internet architecture.

Topics Covered:

  • Internet Architectural Principles
  • Layer 2 Interconnects and Switching
  • Internet Addressing, ARP and DNS
  • Intra-domain Routing
  • Inter-domain Routing (BGP)
  • End-to-End Congestion Control (TCP)
  • Router Mechanisms for Congestion Control
  • Quality of Service
  • Internet Video
  • Network Security
  • Software-Defined Networking
  • Content Delivery Networks
  • Data-center and Enterprise Networks

Prerequisites:

Hard requirements:
  • ECE 264 (Advanced C Programming) or equivalent
  • ECE 368 (Data Structures) with B or higher or equivalent
Additional information:
  • Strong proficiency in programming and data structures is required given the heavy programming requirements. Students should be strongly independent when it comes to coding/debugging.
  • A broad and strong foundation in undergraduate computer engineering courses and good programming skills is essential. A prior course in operating systems or networking will be useful but not essential.

Applied / Theory:

50 / 50

Textbooks:

Peterson, L., & Davie, B. (2012). Computer networks a systems approach (5th ed., The Morgan Kaufmann Series in Networking). Burlington, Mass.: Morgan Kaufmann. (Full text available online through Purdue Libraries.)

Computer Requirements:

ProEd Minimum Requirements:

view

Tuition & Fees:

view