Software Engineering (3 Years) [BSc]

Computer Networks


Unit code: COMP28411
Credit Rating: 10
Unit level: Level 2
Teaching period(s): Semester 1
Offered by School of Computer Science
Available as a free choice unit?: Y

Requisites

None

Additional Requirements

Students who are not from the School of Computer Science must have permission from both Computer Science and their home School to enrol.

Pre-requisites

To enrol students are required to have taken COMP18112 plus one of COMP15111 or MATH10111

Aims

This course unit aims to build on the ideas gained in the first year course unit Fundamentals of Distributed Systems. It aims to provide students with an understanding of the techniques that networking protocols use to achieve error detection and recovery, multiplexing and security protection. To also seeks to show students how the limitations of communication media can limit what applications can achieve. Equipment with the skills needed to go out and setup networks in small and medium sized organisations.

Overview

In today's connected world, phones, PDAs, computers, .. all share information. In reality, it's the applications running on these devices, e.g. picture messaging and e-Commerce, that share the information. This course unit examines the principles involved in making this sharing possible, efficient and secure. In particular, it looks at how networking can mask many of the imperfections of interconnection technologies from applications; allow applications to share communication mediums; and potentially give Quality of Service (QoS) guarantees to applications. At the end of the unit you'll appreciate how different applications can place different demands on the interconnection infrastructure and conversely how technology can limit the types of application that can be run.

Teaching and learning methods

Lectures

17 in total, 3 per fortnight

Examples classes

5 in total, 1 per fortnight (Moodle-based)

Laboratories

10 hours in total, 5 2-hour sessions

Learning outcomes

Learning outcomes are detailed on the COMP28411 course unit syllabus page on the School of Computer Science's website for current students.

Employability skills

  • Analytical skills
  • Problem solving

Assessment methods

  • Written exam - 70%
  • Practical skills assessment - 30%

Syllabus

Introduction

network elements, network structures, protocols, service models, encapsulation, sharing, performance measures

Applications

networking elements of an application (multiple protocols, clients, servers, meaning of data, data encoding), styles of protocols, relationship of control and data, distributing information, caching

Security

attacks, authentication, confidentiality, integrity, non-repudiation, encryption/decryption, keys, key distribution, digital certificates, implementing secure systems (IPSEC, TLS), firewalls

Multimedia networks

IP multimedia, VoIP, streaming and buffering, jitter, multimedia error recovery, RTP, content distribution networks, peer-to-peer, bit torrent, multimedia QoS

Inter-process communication

service models, reliability (acknowledgements, retransmission, variable timeouts), flow control, congestion control, RPC, discovery (port mappers)

Host-to-host communication

forwarding, mapping to physical networks (address, fragmentation), address managment (sub-netting, cidr)

Node-to-node communication

error detection (parity, crc), framing, bit encoding, wireless transmissions

Convergence

relationship mobile phones and data communications

Recommended reading

COMP28411 reading list can be found on the School of Computer Science website for current students.

Feedback methods

Coursework is submitted on-line with numeric and written feedback provided for each individual element of this

Study hours

  • Assessment written exam - 2 hours
  • Lectures - 18 hours
  • Practical classes & workshops - 15 hours
  • Independent study hours - 65 hours

Teaching staff

Andrew Carpenter - Unit coordinator

▲ Up to the top