CSU33032 – Advanced Computer Networks

Module CodeCSU33032 
Module NameAdvanced Computer Networks
ECTS Weighting [1]5 ECTS
Semester TaughtSemester 2
Module Coordinator/s  Hitesh Tewari

Module Learning Outcomes

On successful completion of this module, students will be able to:

  1. Demonstrate an in-depth knowledge of the Transport and Application Layers of the OSI reference model;
  2. Have a good understanding of number theory and basic cryptographic constructs used in symmetric and asymmetric cryptosystems;
  3. Have a good understanding of the application of cryptographic techniques in network security, privacy and electronic payment systems;
  4. Have a working knowledge of network programming, sockets and the use of cryptographic libraries for securing network traffic.

Module Content

This module introduces students to advanced topics in the areas of data communications, number theory and cryptography. A detail study is made of the TCP protocol in terms of multiplexing, flow and congestion control to understand the effects congestion in a large distributed network such as the Internet. A number of Application Layer protocols such as HTTP, DNS, AJAX and Websockets are studied to understand how Web Applications are designed today.

The students are also provided with an in-depth knowledge of number theory and cryptography which gives them an appreciation of how to secure data communication messages over an open network such as the Internet. This part of the course is quite mathematical in content.

Specific topics addressed in this module include:

  • Transport Layer Issues – Multiplexing, UDP, TCP, Flow Control, Congestion Control;
  • Application Layer Issues – HTTP, DNS, Web Applications;
  • Network Security – Symmetric and Asymmetric Key Cryptography, Key Agreement Protocols, X.509 Certs and Public Key Infrastructure (PKI), Digital Signatures, Discrete Logarithms, Elliptic Curve Cryptography, Authentication Protocols;
  • Electronic Payment Systems – Ecash, Bitcoin, Micropayments.

Teaching and Learning Methods

There are three lectures a week. In addition, there are two substantial individual programming projects as part of which students are required to demonstrate their working prototype.

Assessment Details

Assessment ComponentBrief DescriptionLearning Outcomes Addressed% of TotalWeek SetWeek Due
ExaminationWritten ExamL01, L02, L0380%
Project 1Individual ProjectL01, L0410%Week 3Week 6
Project 2Individual ProjectL02, L0410%Week 8Week 12

Reassessment Details

Written Exam, 100%.

Contact Hours and Indicative Student Workload

Contact Hours (scheduled hours per student over full module), broken down by:33 hours
Lecture (online Q&A)33 hours
Laboratory0 hours
Tutorial or seminar0 hours
Other0 hours
Independent Study (outside scheduled contact hours), broken down by:67 hours
Preparation for classes/exams and review of material35 hours
Completion of assessments (including examination, if applicable)32 hours
Total Hours100 hours

Recommended Reading List

  • Computer Networking – A Top-Down Approach, 7th Ed., James F. Kurose, Pearson Intl.
  • Understanding Cryptography, Christof Paar, Springer.

Module Pre-requisites

Prerequisite modules: CSU33031 – Computer Networks

Module Co-requisites


Module Website