| Section | 1 |
|---|---|
| Instructor(s) | Nicholson, Anthony (ajn) |
| Location | Crerar 390 |
| Meeting Times | Wednesday 5:30pm - 8:30pm |
| Fulfills | Core Systems Elective |
Course Description
This course focuses on the history, theory, and implementation of computer networks. It is intended as an introductory survey course where we will go broad on a wide array of fundamentals.
Our primary focus will be the Internet and mobile phone networks, using others (e.g. the legacy wired telephony network) as counterpoints where illustrative. We'll explore the whole stack, from low-level technologies (e.g., Ethernet, Wi-Fi) to high-level applications (e.g., Web, email). By the end of this course, you should have a better understanding of the underlying network protocols used by the computers, smart phones, and other network-enabled devices that you depend on every day.
Course Scope
Coursework
Weekly assignments, midterm and final. The exams will be in class, the assignments will be more in-depth to be completed at home.
Course textbook
Computer Networks: A Systems Approach, Peterson + Davie, version 6.2. Available free online.
Completed or concurrently taking MPCS 51036, 51040, 51042, 51046, 51100, CAPP 30122, MACS 30122, or have a Core Waiver for Programming.
Familiarity with Python or Java a plus but not required.
Experience with concurrent programming (threads, synchronization)
This course requires competency in Unix and Linux. If you attended the MPCS Unix Bootcamp you covered the required material. If you did not, please review the UChicago CS Student Resource Guide here: https://uchicago-cs.github.io/student-resource-guide/.
Course request information for non-MPCS students: https://masters.cs.uchicago.edu/student-resources/non-mpcs-student-course-requests/
This class is scheduled at a time that conflicts with these other classes: