csperkins.org

Networked Systems H (2019-2020)

The Internet is ubiquitous yet problematic, and the design of the network is showing its age. It struggles to effectively support mobile networks and devices, to deliver low-latency and interactive services, to protect security, and to maintain user privacy. This course considers the challenges facing the modern-day Internet, and reviews solutions being developed by the Internet standards community to address these challenges, and make a network fit for the 21st century. It builds on the material covered in the Networks and Operating Systems Essentials course in Level 2, to discuss how the traditional network protocols are being extended, improved, and replaced to support the modern Internet and its applications.

Aims and Objectives

The aims of the course are: to introduce the fundamental concepts and theory of communications; to provide a solid understanding of the technologies that support modern networked computer systems; to introduce low-level network programming concepts, and give students practice with systems programming in C; and to give students the ability to evaluate and advise industry on the use and deployment of networked systems.

By the end of the course, students should be able to:

Prerequisites

Networks and Operating Systems Essentials 2, Algorithms and Data Structures 2, Object Oriented Software Engineering 2, and Java Programming 2 are pre-requisites. Systems Programming (H) is a required co-requisite and Operating Systems (H) is a recommended co-requisite. This course is only available to Honours students.

Timetable

The course consists of a series of lectures delivered over 10 weeks, supported by weekly 2-hour laboratory sessions.

Recommended Reading

Any good text on computer networks, e.g.,:

Credits

This is a level H course, worth 10 credits.

Assessment

Assessment is by examination (80%) and assessed coursework (20%).

Past exam papers: