Computer Networks – CS640 is another awesome course taught by a very young and talented professor Aditya Akella who has recently received SIGCOMM Rising Star award. This course covers foundational ideas, architecture, protocols and software used in networks that comprise the Internet and also covers concept of Software Defined Networking.
Course projects are in Java so you might get a chance to learn Java if you haven’t worked on it. Below were the projects I did as a part of coursework.
- Pinger to measure latency & RTT for UDP packets and Iperfer to measure network bandwidth of TCP Packets
- Build a simple router data and control Plane – this was one of the toughest project we did and was very complicated too for people like me who were new to Java. My recommendation will be to start early on this project if possible.
- Build two control application for SDN (i) L-3 Routing Application (ii) Distributed Load Balancer Application
- Build Mobile Website using Rest API’s to geo-locate your device and provide you with location-specific information
All project links will be available here soon.
Great course to learn basic network concepts. Project 2 and 3 were heavy and I would recommend any other student reading this to page to start early on this project and not wait for the last minute.
Exam: 2 midterms (20% each) – Exams were pretty good and were almost from the class notes so do attend classes – it helps! Homework: 3 homework’s totaling to 15% (TCP Congestion Avoidance and Congestion Control Homework was pretty awesome and we had great fun solving numerical problems Projects: 45% which were good and time consuming :).