My Review of CS6250 Computer Networks
Grade: A
Difficulty: 2/10
Rating: 7/10
Time commitment: 8 hours/week
------------------------------
Overall
Great lecture videos, covering all the computer network fundamentals and some advanced materials. They cover switching, routing protocols & algorithms, IGP/BGP topology, naming (DNS), addressing (DHCP), congestion control, traffic/flow measurement, TCP/UDP layer mechanics, distribution (CDN), simulation (SDN: software defined network), network security (various forms of attacks including DDoS), firewall, with some applications layer topics (HTTP and web caching).To fully digest the content, it requires significant time commitment. I spent so much time watching the lecture video, often pausing to take detailed notes along the way. It turns out the lecture video was not so necessary to do the assignments. Overall an easy & fun course.
Assignments
- Python coding assignments are mostly about figuring out API syntax on SDN simulator. They get you hands-on with actual network topology configuration and trouble shooting. e.g. how to automate DoS mitigation, flow control & measurement. TAs give you plenty of tips and guidance in terms of what to implement. I found this a lot of fun.
- Open book quizzes & closed book exams. Some questions had tricky wording but overall not hard to score 90+% as long as you review the lecture.
Thoughts
Overall I enjoyed this course. It's fairly comprehensive and also goes into a lot of practical problems, like how BGP gets attacked, how DNS gets attacked, how to guard against different types of attacks, so on. But my affinity to the subject is biased since I come from a networking background (published a peer reviewed IEEE conference paper on wireless sensor network protocol virtualization), and have worked on low latency real time market data distribution systems in my day job.For someone who does not work in network/infra, the course topics may be foreign and may feel boring.
I think this is a good first course, assuming you have at least some interest in networking, since it's a conventional CS course with manageable workload.