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, for example:

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 and Thursdays. Labs take place from 14:00-16:00 on Wednesdays in the Level 3 lab of the Boyd Orr Building, except for the first week, when the labs sessions will be introduced via a lecture.

Lecture Handouts

Laboratory Exercises

Coursework: Date handed out: Date due (at 9:00am): Weighting:
Lab 1: TCP programming 11 Jan 2012 0%
Lab 2: TCP programming 18 Jan 2012 0%
Lab 3: TCP exercise 25 Jan 2012 27 Feb 2012 16%
Lab 4: UDP exercise 29 Feb 2012 09 Mar 2012 4%

Handout: Introduction to socket programming