COMPGZ01 - Networked SystemsNote: Whilst every effort is made to keep the syllabus and assessment records correct, the precise details must be checked with the lecturer(s).
- COMPGZ01 (Also taught as: COMP3035)
- Succesful completion of years 1 and 2 of the Computer Science programme
- Taught By
- Brad Karp (50%)
Kyle Jamieson (50%)
- To offer a rigorous introduction to the problems that arise when networking computer systems, and algorithms and systems design that solve these problems. The architectural principles and protocols that underlie the internet will be explained in detail. Topics to be taught willl include the physical layer, widely used link layers (wired and wireless), MAC protocols, internetworking, intra-domain routing, reliable transport, congestion control, wide-area (policy) routing, naming, network security, the end-to-end principle, and network applications.
- Learning Outcomes
- Understanding the nuances interacitons between a network's distributed entities is a vital skill, without which one cannot truly be said to understand networking. To help students develop this skill, 3035/GZ01 incorporates significant programming courseworks in Python and Java, in which students build working implementations of network potocols.
Week 1 Introduction to Networking; Information, Error Control Coding, and Compression
Week 2 Medium Access Control: CDMA, ALOHA, and Ethernet; Link Layer Addressing and Forwarding; Spanning Trees; MPLS
Week 3 Achieving Reliability; Stop-and-Wait, Go-Back-N
Week 4 Achieving Reliability (cont); Selective Repeat; Intro to Internetworking; Network Address Translation; Inside Internet Routers
Week 5 The Domain Name System; Multi-hop Networks and end-to-end Arguments
Week 6 Reliable Transport and TCP introduction
Week 7 TCP and Congestion Control; Intra-Domain Routing: Introduction and Distance-Vector
Week 8 Intra-Domain Routing: Link-State; Intra-Domain Routing: BGP
Week 9 Intra-Domain Routing: BGP (cont); Wireless Networks: 802.11 MAC
Week 10 Security: Firewalls, Worms and IDSes; Content Delivery HTTP, Web Caching, and Content Distribution Networks
Method of Instruction:
Lecture presentations, self-learning modules and tutorials
The course has the following assessment components:
- Coursework Section (4 pieces, 40%)
- Written Examination (2.5 hours, 60%)
To pass this course, students must:
- Obtain an overall pass mark of 50% for all sections combined
The examination rubric is:
Required Text: Larry L. Peterson and Bruce S. Davie, Computer Networks: A Systems Approach, Morgan Kaufmann; 5th ed. (20 April 2011, ISBN 978-0123850591) or 4th ed. (16 April 2007, ISBN 978-0123705488).
in UK by Pearson Education, ISBN 978-0-13-136548-7
Optional Text: Jerome Saltzer and M. Frans Kaashoek, 'Principles of Computer Systems Design: An Introduction', Part I (Chapters
1-6), paperback, published in UK by Elsevier, ISBN 978-0-12-374957-4.
Required Text: Jerome Saltzer and M. Frans Kaashoek, 'Principles of Computer Systems Design: An Introduction', Part II (Chapters
7-11), Version 5.0, PDF available free online.
Research Paper: Metcalfe, R., Boggs, D., 'Ethernet: Distributed Packet Switching for Local Computer Networks', Communications
of the ACM 19(7), July 1976.
Research Paper: Degemark, M., Brodnick, A., Carlsson, S., and Pink, S., 'Small Forwarding Tables for Fast Routing Lookups',
in SIGCOMM 1997.
Research Paper: Saltzer, J., Reed, D., and Clark, D.,' End-toEnd Arguments in System Design', in ACM TOCS, 2(4), November
Research Paper: Jacobson, V. and Karels, M., Congestion Avoidance and Control, revised version of original paper in SIGCOMM