MPCS 54233 Foundations of Computer Networks (Winter 2022)

Section 1
Instructor(s) Sotomayor Basilio, Borja (borja+mpcs)
Location Ryerson 251
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 take the online MPCS Unix Bootcamp Course on Canvas.

Overlapping Classes

This class is scheduled at a time that does not conflict with any other classes this quarter.

Eligible Programs

Masters Program in Computer Science