Networked Systems H (2022-2023)
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:
-
describe and compare capabilities of various communication
technologies and techniques;
-
know the differences between networks of different scale, and how
these affect their design;
-
describe the issues in connecting heterogeneous networks;
-
describe the important of layering, and the OSI reference model;
-
details demands of different applications on quality of service
requirements for the underlying communication network;
-
demonstrate an understanding of the design and operation of an IP
network, such as the Internet, and explain the purpose and function
of its various components; and
-
write simple communication software, showing awareness of good
practice for correct and secure programming.
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.
The course runs during Semester 2 in the 2022-2023 academic year.
Recommended Reading
Any good text on computer networks, e.g.,:
-
Peterson and Davie, Computer
Networks: A Systems Approach, 5th Edition, Morgan Kaufman,
2011, ISBN 0123851386.
An updated version of this book is
available free online
under a Creative Commons (CC BY 4.0) license.
-
Bonaventure,
Computer Networking: Principles, Protocols and Practice, 3rd
Edition, 2021. Free online textbook.
-
Kurose and Ross, Computer
Networking: A Top-Down Approach, 8th Edition, Addison-Wesley,
2021, ISBN 978-1292405469.
-
Tanenbaum, Feamster, and Wetherall, Computer
Networks, 6th Edition, Pearson, 2021, ISBN 978-1292374062.
Credits
This is a level H course, worth 10 credits.
Assessment
Assessment is by examination (80%) and assessed coursework (20%).
Coursework:
Past exam papers:
Lecture Recordings
Laboratory Handouts