Networked Systems 3
Networked computer systems are becoming ubiquitous, whether in the form of desktop and laptop computers connected to the Internet, mobile phones, television set-top boxes, or the myriad of networked sensors and embedded computing systems that surround us in our everyday life. An understanding of the operation of these systems is essential for practising engineers and computer scientists, both to manage, design, or implement the next generation of networked systems, or to make effective use of the current generation. This module introduces the fundamental concepts in networked systems architecture, using a layered reference model, and outlines some strategies for low-level communications software development, as a basis for the future study of large-scale and high-level communications models.
Aims, Objectives, and Prerequisites
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
- To give students the ability to evaluate and advise industry on the use and deployment of networked systems
By the end of the module a student 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 importance of layering, and the OSI reference model
- Understand demands of different applications on quality of service requirements for the underlying communication network
- Understand a description of a LAN-based computer system, and explain the purpose and function of its various components
- Write simple communication software
Computer Systems 2 is a pre-requisite. Advanced Programming 3 and Operating Systems 3 are strongly recommended as co-requisites.
Credits
This is a 10 credit, level 3 course.
Recommended Readings
Any good text on computer networks, e.g.:
- Peterson and Davie, Computer Networks: A Systems Approach, 3rd Edition, Morgan Kaufman, 2003, ISBN 1558608338
- Kurose and Ross, Computer Networking: A Top-Down Approach, 5th Edition, Addison-Wesley, 2010, ISBN 0136079679
- Tanenbaum, Computer Networks, 4th Edition, Prentice Hall, 2002, ISBN 0130384887
Assessment
Assessment is by examination (80%) and programming exercises (20%). Programming exercises will comprise a simple warm-up task to ensure students understand the basic concepts, followed by more involved examples. Laboratory attendance for this course is compulsory and will be monitored electronically.
Past exam papers are available. Note that the courses was assessed 100% by examination prior to 2010.
Timetable
This is a 2nd semester course, running from teaching week 14 to teaching week 23 inclusive.
Lectures take place at 12:00 on Tuesdays in Maths 316 and at 12:00 on Thursdays in Boyd Orr 611. Labs take place from 14:00-16:00 on Wednesdays in the level 3 lab on Level 7 of the Boyd Orr Building, except for the first week, when the labs sessions will be introduced via a lecture held in Maths 204 from 14:00.
Lecture Handouts
- Lecture 1 - Introduction to Networks (1)
- Lecture 2 - Introduction to Networks (2)
- Lecture 3 - Case Studies
- Lecture 4 - Communications Theory
- Lecture 5 - Physical Layer
- Lecture 6 - Data Link Layer (1)
- Lecture 7 - Data Link Layer (2)
- Lecture 8 - Network Layer (1)
- Lecture 9 - Network Layer (2)
- Lecture 10 - Network Layer (3)
- Lecture 11 - Introduction to the Transport Layer
- Lecture 12 - Using the Transport Layer
- Lecture 13 - Connection Management
- Lecture 14 - Congestion Control
- Lecture 15 - The Session Layer and the DNS
- Lecture 16 - The Presentation Layer
- Lecture 17 - Applications Layer Protocols
- Lecture 18 - Security
- Lecture 19 - Wrap-up