MPCS 54233 Foundations of Computer Networks (Autumn 2022)

Section 1
Instructor(s) Sotomayor Basilio, Borja (borja+mpcs)
Location TBD
Meeting Times Tuesday 12:30pm - 1:50pm
Thursday 12:30pm - 1:50pm
Fulfills Core Systems Elective


This course focuses on foundational aspects of computer networks. Topics include programming with sockets; concurrent programming; data link
layer (Ethernet, packet switching, 802.11, etc.); internet and routing protocols (IP, IPv6, ARP, intra-domain and inter-domain routing, etc.); end-to-end protocols (UDP, TCP); and other commonly used network protocols and techniques. The course revolves around the development of several projects in C where students will implement a variety of real-world network protocols.

This class is cross-listed with CMSC 23320.

Course Prerequisites

MPCS 51100 Advanced Programming or MPCS 51040 C Programming

Other Prerequisites

This course requires competency in Unix and Linux. Please plan to attend the MPCS Unix Bootcamp ( or review the UChicago CS Student Resource Guide here:

Overlapping Classes

This class is scheduled at a time that conflicts with these other classes:

  • MPCS 51046-1 -- Intermediate Python Programming
  • MPCS 52060-1 -- Parallel Programming

Eligible Programs

Masters Program in Computer Science