Section | 1 |
---|---|
Instructor(s) | |
Location | Ryerson 251 |
Meeting Times | Tuesday 5:30pm - 8:30pm |
Fulfills | Core Systems Elective |
Course Description
Broadly, this course will focus on the history, theory and implementation of computer networks. We will discuss the low-level technologies that move bits around (such as Ethernet and WiFi), the high-level applications that are part of our everyday 21st-century lives (such as email, the Web, and mobile phones), and everything in between (security, TCP/IP).
At the completion of this quarter, you will (or should!) be able to explain, in detail, how data makes its way around the Internet when you click on a web link, how you can drive around at 80 MPH talking on a cell phone without the call dropping, how you can make a streaming video call over a lousy wireless link without frame dropping or jitter. In short, we'll pull back the curtain on what can be a somewhat mysterious and magical part of working with computers.
Course Contents
Coursework
Weekly homeworks, several exams, and projects. You will complete the projects in teams of two. These will be a series of hands-on programming + design tasks. Based on provided specs (e.g., the protocol standard) you will implement different network servers or clients (for example, a simple web server or a simple network router).
Course Textbooks
Computer Networking: A Top-Down Approach (6th Edition) James F. Kurose and Keith W. Ross
Please note this is the new 6th edition; previous iterations of this course used the 5th edition. The title is available electronically via Kindle as well.
Core Programming (completed or concurrently enrolled)
Recommended (but not required): UNIX Bootcamp
This class is scheduled at a time that conflicts with these other classes: