Computer Networks

Instructor: Amir Mahdi Sadeghzadeh Certificate: Official (bilingual)
Term: Summer 2025 Prerequisite: Python Programming
Schedule: Sundays 14:00 to 17:00 Online Class: Online Class

General Objective

The objective of this course is to familiarize students with the basic concepts of computer networks and related topics.

Topics

  • Socket-based programming
  • IP packet switching
  • IP-based addressing and routing
  • Transport protocols (TCP and UDP)
  • Congestion control
  • Address translation (DNS, DHCP, and ARP)
  • Middleware
  • Switches and Bridges
  • Links
  • Link-state routing
  • Distance-vector and path-vector routing
  • Policy-based path-vector routing (BGP)
  • Overlay and peer-to-peer networks
  • Multimedia streaming
  • Circuit Switching
  • Wireless and mobile networks
  • Content Delivery Networks (CDN)
  • Software-defined networks

Assessment

  • Exercises and projects: 40%
  • Final exam: 60%

References

  1. Larry L. Peterson and Bruce S. Davie. Computer Networks: A Systems Approach. 5th Edition, 2011.