The University of Southampton

COMP3210 Advanced Computer Networks

Module Overview

This module is designed to be a follow-up module to the Computer Science or ITO second year introductory networking module.

The module is split fairly evenly between two areas, each principlally delivered by a separate lecturer. The wireless part reviews wireless technologies and their application in areas such as sensor networking. The coursework gives students the opportunity to get hands-on experience with wireless networking for small, embedded devices. The other part of the module reviews emerging networking technologies, which might include topics such as future routing protocols, IPv6 transition, and software-defined networking.

Students should consider taking this module if they are interested in learning about networking systems and their architectures in more detail than covered in the introductory module, and exploring emerging topics which are delivered as part of ECS' research-led teaching philosophy.

Aims & Objectives

Aims

Knowledge and Understanding

Having successfully completed this module, you will be able to demonstrate knowledge and understanding of:

  • Operation of wireless networks
  • Emerging topics in computer networks
  • A range of network architectures and protocols

Subject Specific Intellectual

Having successfully completed this module, you will be able to:

  • Design and critically analyse networking protocols for a range of technologies and scenarios

Subject Specific Practical

Having successfully completed this module, you will be able to:

  • Build a wireless networking demonstrator for an embedded system

Syllabus

Wireless networking:

  • Bluetooth, 802.11 standards
  • Information theory, bandwidth, multiple access
  • Wireless sensor networks
  • Wireless roaming; eduroam
  • Mobile IPv6; host and network mobility

Emerging networking technologies:

  • Host configuration and service discovery principles
  • Future routing architectures
  • IPv6 deployment scenarios and challenges, IPv6 transition/integration
  • Advanced IP multicast, including IPv6 multicast and SSM
  • Software-defined networking
  • Delay-tolerant networking
  • Future home network architectures
  • IP network management and monitoring
  • Network security; intrusion detection and prevention

Learning & Teaching

Learning & teaching methods

ActivityDescriptionHours
LectureRegular lecture slots.21
TutorialTutorial support on the coursework and specific lecture topics8
SeminarGuest lectures from industry experts4
TutorialRevision (last teaching week)3

Assessment

Assessment methods

MethodHoursPercentage contribution
Wireless networking for embedded systems-30%
Exam2 hours70%

Referral Method: By examination

Share this module FacebookTwitterWeibo

COMP3208 Social Computing

Module Overview

The aim of this module is to introduce the fundamental concepts and computational techniques used in social computing. In a broad sense, social computing includes all situations where social interactions are supported by computers. More specifically, in this module we will focus on three main areas: crowdsourcing, online auctions (including online advertising), and recommender systems. The module has a large practical component where you will learn how to solve a problem using crowdsourcing, and you will learn how to set up such experiments and dealing with incentives. In addition, you will learn about technologies such as auctions and algorithms for recommender systems. Note that this module does not cover social networking as this is covered elsewhere.

Aims & Objectives

Aims

Knowledge and Understanding

Having successfully completed this module, you will be able to demonstrate knowledge and understanding of:

  • concepts and example applications from social computing, including crowdsourcing, recommender systems, and online auctions
  • incentives in crowdsourcing applications
  • applications in crowdsourcing
  • the auctions used in online advertising

Subject Specific Intellectual

Having successfully completed this module, you will be able to:

  • use recommender technologies such as item-based and user-based collaborative filtering techniques
  • describe the most important techniques and issues in designing, building and modelling social computing systems

Subject Specific Practical

Having successfully completed this module, you will be able to:

  • set up social computing experiments and analyse the results using a scientific approach

Syllabus

  • Crowdsourcing
    • Human computation
    • Participatory sensing
    • Citizen science
    • Amazon Mechanical Turk and other platforms
  • Web analytics and Experimental design
    • A/B split testing
    • Latin squares
  • Incentives and monetary payments in crowdsourcing
  • Prediction markets
  • Reputation systems
    • User-based collaborative filtering
    • Item-based collaborative filtering
  • Online auctions
    • Sponsored search
    • Display advertising

Learning & Teaching

Learning & teaching methods

ActivityDescriptionHours
Lecture36

Assessment

Assessment methods

MethodHoursPercentage contribution
implementation and analysis of social computing system-30%
Exam2 hours70%

Referral Method: By examination

Share this module FacebookTwitterWeibo

COMP3207 Cloud Application Development

Module Overview

During the first two years of the degree students gain experience in a variety of 'traditional' programming languages in procedural, functional and object-oriented flavours. This module addresses the design and use of scripting languages for a contemporary cloud-based computing application.

  • Explore the role of scripting languages in cloud applications
  • Introduce Python and Javascript and their applications
  • Provide experience in cloud computing
  • Provide an appreciation of new concepts in a rapidly developing field

Aims & Objectives

Aims

Knowledge and Understanding

Having successfully completed this module, you will be able to demonstrate knowledge and understanding of:

  • The role of scripting languages
  • The syntax and semantics of languages such as Python and JavaScript
  • Cloud computing and its advantages and disadvantages

Subject Specific Intellectual

Having successfully completed this module, you will be able to:

  • Compare and contrast the features and capabilities of scripting languages used for cloud computing applications
  • Compare and contrast scripting languages with other programming languages
  • Select an appropriate scripting language for the development of a given cloud-based application
  • Read programs in a range of scripting languages

Subject Specific Practical

Having successfully completed this module, you will be able to:

  • Design and implement a cloud-based application

Syllabus

  • Cloud computing
    • introduction and examples
    • advantages and disadvantages
    • taxonomy of cloud computing: PaaS, SaaS, IaaS
  • Python
    • overview, introduction and examples
    • advantages and disadvantages
    • Google App Engine
  • JavaScript
    • client-side web scripting: DOM and AJAX
    • server-side applications: node.js

Learning & Teaching

Learning & teaching methods

ActivityDescriptionHours
Lecture36

Assessment

Assessment methods

MethodHoursPercentage contribution
Individual Assignment-40%
Group Assignment-60%

Referral Method: By set coursework assignment(s)

Share this module FacebookTwitterWeibo

COMP3206 Machine Learning

Module Overview

This module aims to introduce the mathematical foundations for machine learning and a set of representative approaches to address data-driven problem solving in computer science and artificial intelligence.

Aims & Objectives

Aims

Knowledge and Understanding

Having successfully completed this module, you will be able to demonstrate knowledge and understanding of:

  • Underlying mathematical principles from probability, linear algebra and optimisation
  • The relationship between machine learning and neurophysiology

Subject Specific Intellectual

Having successfully completed this module, you will be able to:

  • Characterise data in terms of explanatory models
  • Use data to reinforce one/few among many competing explanatory hypotheses

Subject Specific Practical

Having successfully completed this module, you will be able to:

  • Systematically work with data to learn new patterns or concepts
  • Gain facility in working with algorithms to handle data sets in a scientific computing environment

Syllabus

  • Historical Perspective
    • Biological motivations: the McCulloch and Pitts neuron, Hebbian learning.
    • Statistical motivations
  • Theory
    • Generalisation: What is learning?
    • The power of machine learning methods: what is a learning algorithm? what can they do?
  • Probability
    • Probability as representation of uncertainty in models and data
    • Bayes Theorem and its applications
    • Law of large numbers and the Gaussian distribution
    • Markov and graphical models
  • Supervised Learning
    • Classification using Bayesian principles
    • Perceptron Learning
    • Support Vector Machines and Kernel methods
    • Neural networks/multi-layer perceptrons (MLP)
    • Features and discriminant analysis
  • Linear Algebra
    • Using matrices to find solutions of linear equations
    • Properties of matrices and vector spaces
    • Eigenvalues, eigenvectors and singular value decomposition
  • Data handling and unsupervised learning
    • Principal Components Analysis (PCA)
    • Blind source separation using Independent Components Analysis (ICA)
    • K-Means clustering
    • Spectral clustering
    • Manifold learning
  • Regression and Model-fitting Techniques
    • Linear regression
    • Polynomial Fitting
    • Kernel Based Networks
  • Optimisation
    • Convexity
    • 1-D minimisation
    • Gradient methods in higher dimensions
    • Constrained optimisation
    • Dynamic Programming
  • Case Studies
    • Example applications: Speech, Vision, Natural Language, Bioinformatics.

Learning & Teaching

Learning & teaching methods

ActivityDescriptionHours
LectureLectures using whiteboard and slides20
Computer LabTimetables computer lab sessions during weeks 8 and 96

Assessment

Assessment methods

The coursework items will be varied in scope and will require different degrees of effort.  Marks will be distributed accordingly, and the distribution will be made clear to students in advance.

MethodHoursPercentage contribution
Assignment on implementing machine learning algorithms-20%
Exam2 hours80%

Referral Method: By examination

Share this module FacebookTwitterWeibo

COMP3204 Computer Vision

Module Overview

The challenge of computer vision is to develop a computer based system with the capabilities of the human eye-brain system. It is therefore primarily concerned with the problem of capturing and making sense of digital images. The field draws heavily on many subjects including digital image processing, artificial intelligence, computer graphics and psychology.

This course will explore some of the basic principles and techniques from these areas which are currently being used in real-world computer vision systems and the research and development of new systems.

Objectives:

  • To develop the students' understanding of the basic principles and techniques of image processing and image understanding.
  • To develop the students' skills in the design and implementation of computer vision software

Aims & Objectives

Aims

Knowledge and Understanding

Having successfully completed this module, you will be able to demonstrate knowledge and understanding of:

  • Human and computer vision systems
  • Current approaches to image formation and image modelling
  • Current approaches to basic image processing and computer vision

Subject Specific Intellectual

Having successfully completed this module, you will be able to:

  • Analyse and design a range of algorithms for image processing and computer vision
  • Develop and evaluate solutions to problems in computer vision

Subject Specific Practical

Having successfully completed this module, you will be able to:

  • Implement basic image processing algorithms

Syllabus

  • The human eye-brain system as a model for computer vision
  • Image formation: sampling theorem, Fourier transform and Fourier analysis
  • Image models
  • Basic image processing: Sampling and quantisation, Brightness and colour, Histogram operations, Filters and convolution, Frequency domain processing
  • Edge detection
  • Boundary and line extraction
  • Building machines that see: constraints, robustness, invariance and repeatability
  • Fundamentals of machine-learning: classification and clustering
  • Understanding covariance, eigendecomposition and PCA
  • Feature extraction
  • Interest point detection
  • Segmentation
  • 2-D Shape representation
  • Local features
  • Image matching
  • Large-scale image search and feature indexing
  • Understanding image data and performing classification and recognition
  • 3D vision systems
  • Recovering depth from multiple views
  • Practical examples, including: biometric systems (recognising people), industrial computer vision, etc

Learning & Teaching

Learning & teaching methods

ActivityDescriptionHours
LectureLectures and demonstrations of material24
TutorialStudents develop and present implementations of basic material12

Assessment

Assessment methods

MethodHoursPercentage contribution
Working with OpenIMAJ to achieve basic computer vision analysis-10%
Build basic technique-10%
Group coursework -20%
Exam2 hours60%

Referral Method: By examination and a new coursework assignment

Share this module FacebookTwitterWeibo

COMP3203 Serious Games

Module Overview

The aim of this module is to introduce students to the field of learning design and Serious Games and to provide students with practical experience of the design, development, delivery and evaluation of a modest game-based e-learning activity.

Aims & Objectives

Aims

Knowledge and Understanding

Having successfully completed this module, you will be able to demonstrate knowledge and understanding of:

  • Identify key concepts and principles in learning theory and cognitive psychology that underpin teaching, learning, and information processing
  • Identify the principles underlying the systems engineering of instructional materials and environments
  • Identify the elements of a serious game

Subject Specific Intellectual

Having successfully completed this module, you will be able to:

  • Analyse the instructional design of a series of learning activities in a game
  • Design a serious game to achieve a specified objective by following an instructional systems design method

Transferable and Generic

Having successfully completed this module, you will be able to:

  • Combine conflicting theories and requirements to develop an effective serious game

Syllabus

  • The instructional systems engineering (ISE) development lifecycle and its application to the analysis, design, production, and evaluation of instructional materials and serious games.
  • Key pedagogical components of instructional materials, and serious games.
  • Key technical components of serious games: Data structures; Games Engines; User Experience.
  • Tools and techniques for the analysis, design, production, and evaluation of serious games.

Learning & Teaching

Learning & teaching methods

ActivityDescriptionHours
Lecture36
Computer Lab12

Assessment

Assessment methods

Concept of a Serious Game: Students individually design a serious game.

 Prototype Serious Game: Students in groups design and develop a small prototype serious game.

Class Test: Supervised unseen restricted-time open-book individual exercise (detailed case study, short-answer and multiple-choice question), 90 minute duration.

MethodHoursPercentage contribution
Concept for a Serious Game-30%
Prototype for a Serious Game-40%
Class test-30%

Referral Method: By set coursework assignment(s)

Share this module FacebookTwitterWeibo

ELEC3207 Nanoelectronic Devices

Module Overview

This module aims to provide an in-depth understanding of complimentary metal oxide semiconductor field effect transistors (CMOS) device physics and of the process flows used to fabricate CMOS transistors. It will discuss all important issues related to scaling down the transistor size into the nanometer regime, such as high-k dielectrics and FINFETs. The teaching will be complemented with a finite element simulation of the MOS scaling which will bring into practice many of the above improvements.

Aims & Objectives

Aims

Knowledge and Understanding

Having successfully completed this module, you will be able to demonstrate knowledge and understanding of:

  • Understand the fundamental device physics of semiconductors.
  • Understand the operation principle of CMOS transistors.

Subject Specific Intellectual

Having successfully completed this module, you will be able to:

  • Construct the process flows to fabricate CMOS transistors.

Subject Specific Practical

Having successfully completed this module, you will be able to:

  • Simulate the performance of CMOS transistors

Syllabus

Nanoelectronics

Technology roadmap of nano-electronics (Moore's law)

Scaling of devices and technology jump

Energy band structure in Silicon

Metal Oxide Semicoductor Field Effect Transistors (MOSFET)

Basic MOSFET Operation

Threshold Voltage and Subthreshold Slope

Current/voltage characteristics

Finite Element Modelling of MOS

Advanced CMOS transistors scaling

Challenge of the CMOS technologies

High-k dielectrics and Gate stack

Future interconnect

FINFET and architecture

Design for Variability

Mobility enhancement

 

 

Learning & Teaching

Learning & teaching methods

ActivityDescriptionHours
Lecture24
Computer Lab12

Assessment

Assessment methods

Students can get good experiences by simulating the MOSFET characteristics after learning the fundamental principles in the lectures. Simulations and lecturing are complementary each other, and students can get more insights in understanding the MOSFETs. The learning outcomes include the capabilities to simulate unknown new device performance for their future jobs in CMOS or even beyond-CMOS industries.

MethodHoursPercentage contribution
SILVACO finite element simulation-30%
Exam2 hours70%

Referral Method: By examination

Share this module FacebookTwitterWeibo

ELEC3206 Digital Control System Design

Module Overview

To introduce the student to the fundamentals of control theory as applied to digital controllers or sampled data control systems in general. To familiarise the student with the use of the MATLAB Control Toolbox.

Aims & Objectives

Aims

Knowledge and Understanding

Having successfully completed this module, you will be able to demonstrate knowledge and understanding of:

  • z transform analysis of sampled data feedback loops
  • stability theorems and root locus techniques
  • A suite of techniques for digital controller design
  • Optimal control design method

Syllabus

  • Introduction
  • Basics of z transform theory
    • inverse z transform
    • convolution
    • recursion relation
    • realisability
  • Sampling and reconstruction of signals
    • zero order hold/D->A conversion
    • Shannon's sampling theorem; aliasing and folding
    • choice of the sampling period in sampled-data control systems
    • pulse transfer function and analysis of control systems
    • mapping of poles and zeroes
  • Case study: PID digital control
  • Continuous-time state-space systems and their discretization
    • controllability and observability under discretization
    • intersample behaviour
  • Realization theory
    • canonical forms
    • minimality
    • internal- and BIBO-stability, and relation between the two
  • Controller design via pole placement
    • continuous-time-based design techniques
    • deadbeat control
  • Case study: root-locus based digital control design
  • Observers and their use in state-feedback loops
    • Observer-based controllers
    • the separation principle

  • Optimal control design
    • Introduction to optimal control
    • Finite horizon LQR
    • Inifte Horzion LQR

Learning & Teaching

Learning & teaching methods

ActivityDescriptionHours
Lecture36
Tutorial12

Assessment

Assessment methods

MethodHoursPercentage contribution
Exam2 hours100%

Referral Method: By examination

Share this module FacebookTwitterWeibo

ELEC3205 Control System Design

Module Overview

This module aims

  • To develop skills for design of linear multivariable control systems by pole placement.
  • To introduce basic nonlinear system analysis and design methods.

Aims & Objectives

Aims

Knowledge and Understanding

Having successfully completed this module, you will be able to demonstrate knowledge and understanding of:

  • Design controller using frequency domain methods
  • Analyse linear dynamical systems by state space methods.
  • Derive state space representation from a given transfer function representation.
  • Check controllability/observability by rank test of the controllability/observability matrix.
  • Design pole placement state-feedback controller in the state space setting, also with observers in the loop.
  • Model, analyse, and synthesise nonlinear dynamical systems.
  • Derive state space representations for nonlinear systems from first principles.
  • Analyse stability of nonlinear autonomous systems by state space methods.
  • Analyse nonlinear input--output systems by describing functions.

Syllabus

  • Frequency Domain Methods for Controller Design
    • Lead-lag compensator
    • Introduction to loop shaping
  • State-space representations for linear systems
    • Transfer function canonical realisations
    • State space representations
  • Structural properties
    • Controllability and state transfer
    • Observability and state estimation
  • Multivariable control by pole placement
    • Pole placement by state feedback
    • Elements of optimal control
  • State estimation
    • Observer design by pole placement
  • Joint observer-controller schemes
  • Nonlinear systems and mathematical modelling
  • Introduction to the phase plane analysis method
  • Stability and Lyapunov analysis
    • Lyapunov indirect method
    • Lyapunov direct method
    • Lasalle’s Theorem
  • Describing functions
  • Nonlinear control system design
    • Design via linearisation
    • Design via feedback linearisation
    • Introduction to Lyapunov based design method

Learning & Teaching

Learning & teaching methods

ActivityDescriptionHours
Lecture36

Assessment

Assessment methods

MethodHoursPercentage contribution
2 problem sheets, containing 3 questions each. -20%
-%
Exam2 hours80%

Referral Method: By examination

Share this module FacebookTwitterWeibo

ELEC3203 Digital Coding and Transmission

Module Overview

  • to expand knowledge of techniques for information transmission via discrete (digital) channels, which have a wide area of applications, ie distributed computer systems, instrumentation and control systems, as well as communication systems of all types.
  • to introduce the basic concepts and applications of information theory and show its importance.
  • to develop skills in communications performance evaluation and digital transmission system design.
  • to concentrate attention on the application of the various analytical techniques. 
  • to link theoretical concepts with cutting edge industrial standards.

Aims & Objectives

Aims

Having successfully completed this module, you will be able to:

  • understanding essential building blocks in modern digital communications systems.
  • understanding techniques for improving the efficiency and reliability of multimedia information.
  • design and characterise digital transmission components and schemes using Monte Carlo simulation.
  • bridge theoretical analysis with practical simulations and prototypes
  • understanding various design trade-offs and practical implementation constraints

Syllabus

  • Information Theory
    • information and entropy
    • coding of memoryless sources: Shannon-Fano / Huffman coding
    • sources with memory: Markov model
    • coding of sources with memory
    • channel model and information across channels
    • average mutual information and channel capacity
  • Digital Modulation and Optimal Reception
    • quadrature amplitude modulation
    • optimal transmit / receive filtering
    • ASK/PSK constellations, eye diagram
    • channel distortions and their influence on reception
    • synchronisation, equalisation
    • adaptive equalisation
  • Source Coding
    • linear and non-linear quantisation, companding
    • rate-distortion theory, predictive coding
    • prediction gain, parametric and analysis-by-synthesis speech coding
    • inter-frame video coding, motion compensation
    • intra-frame video coding, transform coding
  • Channel Coding
    • convolutional coding
    • Viterbi decoding
    • block coding
    • hybrid ARQ
  • Coding versus Modulation Tradeoff
    • bandwidth and power trade-off plane
    • bandwidth efficient and power efficient design
    • trellis coded modulation
    • bit interleaved coded modulation
    • system design in communications standards

Learning & Teaching

Learning & teaching methods

ActivityDescriptionHours
Lecture36
Tutorial12

Assessment

Assessment methods

MethodHoursPercentage contribution
Exam2.5 hours100%

Referral Method: By examination

Share this module FacebookTwitterWeibo

Pages