The University of Southampton

COMP6209 Automated Code Generation

Module Overview

This module aims to cover the topic of production of code via automated means. This topic incorporates the different approaches to metaprogramming that are available in mainstream languages and also touches on issues such as automated generation of testing code and software product lines.  The course is practical in nature and reasonable programming skills in Java and possibly also C++ are required. The module is optional but at least one of this module and Automated Software Verification must be taken by MSc Software Engineering students. 

Aims & Objectives

Aims

On successful completion of this module you will be able to

 Demonstrate understanding of high-level concepts in code generation 

 Use a range of generative programming techniques in your software development

 Demonstrate understanding of basic aspect-oriented programming concepts

 Apply aspect-oriented programming techniques to your code base

 Demonstrate understanding of Software Engineering practices for Software Product Lines

 Use code generation techniques to facilitate automated testing 

Syllabus

Automated code generation concepts

Software product Lines

Programs as data structures

Template based metaprogramming

Quote based metaprogramming 

Rewrite based code generation 

Aspect oriented programming

Automated generation of testing code

Learning & Teaching

Learning & teaching methods

ActivityDescriptionHours
LectureLectures to cover the course material36
TutorialWeekly exercise class to consolidate the learning of the course material12

Assessment

Assessment methods

MethodHoursPercentage contribution
Programming exercise: Template Metaprogramming -20%
Programming exercise: Rewrite Based Metaprogramming or Aspect-Oriented Programming-20%
Exam1.5 hours60%

Referral Method: By examination

Share this module FacebookTwitterWeibo

COMP6208 Advanced Machine Learning

Module Overview

  • To introduce key concepts in pattern recognition and machine learning; including specific algorithms for classification, regression, clustering and probabilistic modeling.
  • To give a broad view of the general issues arising in the application of algorithms to analysing data, common terms used, and common errors made if applied incorrectly.
  • To demonstrate a toolbox of techniques that can be immediately applied to real world problems, or used as a basis for future research into the topic.

Aims & Objectives

Aims

Knowledge and Understanding

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

  • Key concepts, tools and approaches for pattern recognition on complex data sets
  • Kernel methods for handling high dimensional and non-linear patterns
  • State-of-the-art algorithms such as Support Vector Machines and Bayesian networks
  • Theoretical concepts and the motivations behind different learning frameworks

Subject Specific Intellectual

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

  • Conceptually understand the role of pattern analysis and probabilistic modeling, together with the mathematical techniques this requires

Subject Specific Practical

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

  • Be able to solve real-world machine learning tasks: from data to inference.

Syllabus

  • Key concepts
    • Supervised/Unsupervised Learning
    • Loss functions and generalization
    • Probability Theory
    • Parametric vs Non-parametric methods
    • Elements of Computational Learning Theory
  • Kernel Methods for non-linear data
    • Support Vector Machines
    • Kernel Ridge Regression
    • Structure Kernels
    • Kernel PCA
    • Latent Semantic Analysis
  • Bayesian methods for using prior knowledge and data
    • Bayesian inference
    • Bayesian Belief Networks and Graphical models
    • Probabilistic Latent Semantic Analysis
    • The Expectation-Maximisation (EM) algorithm
    • Gaussian Processes
  • Ensemble Learning
    • Bagging
    • Boosting
    • Random Forest
  • Dimensionality Reduction
    • CCA, LDA, ICA, NMF
    • Canonical Variates
    • Feature Selection vs Feature Extraction
    • Filter Methods
    • Sub-space approaches
    • embedded methods
  • Low-Rank approaches
    • Recommender Systems
  • Application areas
    • Security
    • Business
    • Scientific

Learning & Teaching

Learning & teaching methods

ActivityDescriptionHours
Lecture24
TutorialOptional tutorials for students who find the mathematical parts difficult and seek extra support.4
Computer LabPart of the teaching will be done in a timetabled hands-on computer lab environment.18

Assessment

Assessment methods

MethodHoursPercentage contribution
Research Report-33.333333%
-%
Exam0 hours66.666666%

Referral Method: By examination

Share this module FacebookTwitterWeibo

COMP6207 Advanced Intelligent Agents

Module Overview

Aims

  • To introduce the students to the key issues of interaction of multiple self-interested parties (a.k.a. agents) and give a broad survey of topics at the interface of theoretical computer science and game theory dealing with such interactions.
  • To provide the theoretical background and practical tools to solve problems arising in settings with self-interested participants, to predict possible behaviour and outcomes, and finally, to design multi-agent systems that would incentivise desirable behaviour.
  • To introduce the students to the specifics of computational game-theoretic techniques in different application areas, ranging from multi-agent systems, electronic marketplaces and networked computer systems to computational biology and social networks.
  • To extend and advance the knowledge obtained in other AI modules (in particular, COMP6XXX Intelligent Agents). 

Aims & Objectives

Aims

Knowledge and Understanding

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

  • the main game-theoretic concepts such as Nash equilibrium, dominant strategies, mixed strategies, and Bayesian games
  • simple machine learning approaches for finding Nash equilibria
  • the principles of mechanism design and its use to shape incentives and designing markets
  • the main mechanisms including the second-price and Vickrey-Clarke-Groves auctions
  • potential games and their application to congestion and routing problems
  • the main voting protocols
  • the issues of manipulation in voting
  • cooperative games and coalition formation
  • the computational complexity of finding game theoretic solutions
  • sponsored search auctions and their properties

Intellectual Skills

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

  • as an element of an interactive system with multiple self-interested participants: to reason about the opponents' behaviour and make strategic decisions
  • as a system administrator: to analyse participant behaviours and predict likely outcomes
  • as a system designer: to create incentives for participants that result in systems with desirable properties, and encourage cooperation

Practical Skills

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

  • find dominant strategy and min-max solutions, and compute pure strategy and mixed Nash equilibria in certain game classes
  • apply learning techniques for finding stable outcomes
  • derive parameters for producing optimal/efficient mechanisms in specific application domains
  • apply cooperative solution concepts, such as the Core and the Shapley value, to analyse and design effective cooperative systems

Syllabus

Basic game-theoretic concepts: non-cooperative games

  • strategic interactions as (normal form) games
  • solution concepts: dominance and iterated dominance; minimax strategies; Nash equilibrium; computing and evaluating the quality of solutions
  • games with pure strategy equilibria; potential functions and equilibrium dynamics
  • other game forms and solutions concepts: extensive-form games; subgame perfect equilibrium; correlated equilibrium; strong equilibrium, Bayes-Nash equilibrium

Basic game-theoretic concepts: cooperative games

  • coalition formation
  • characteristic function and other representations
  • solution concepts (the Core, Nucleolus, Shapley value, Banzaff index) and their computation

(Computational) social choice

  • voting rules; desirable properties of voting rules
  • Arrow's impossibility theorem; Muller-Satterthwaite impossibility theorem
  • Manipulation; Gibbard-Satterthwaite impossibility theorem
  • convergence to stable outcomes in strategic voting

(Algorithmic) mechanism design

  • standard auction formats: English; Dutch; first-price; second-price
  • revenue maximisation and revenue equivalence theorem
  • general mechanisms: formalism; revelation principle; desirable properties
  • Vickrey-Clarke-Groves mechanism
  • advanced mechanisms: combinatorial auctions; simultaneous auctions; sequential auctions; double auctions

Learning in games

  • Fictitious play
  • Regret minimisation

Applications

  • e-Commerce (ad auctions)
  • Network and routing games, (generalised) congestion games
  • Smart grid

Learning & Teaching

Learning & teaching methods

ActivityDescriptionHours
Lecture36
Tutorial12

Assessment

Assessment methods

Teaching and learning activities

Teaching methods include

  • Directed Reading: There is a combination of lecture notes, selected research papers and book chapters for directed reading, which is a necessary preparation for the lectures.
  • Lectures: Three hours per week during the teaching weeks, supported by handouts and class discussion.
  • Tutorials: One hour per week during the teaching weeks, focusing on the application of the practical aspects of computational game-theoretic techniques and problem solving.
  • Assessment: There are 4 home take Assignments.

Learning activities include

  • Work in groups: Reading and discussion groups with a plenary feedback during the tutorials. Participation, while not compulsory, is encouraged.
  • Individual study: Certain amount of (directed) reading is expected during your private study time. It is strongly recommended that you read around the subject areas covered in the lectures. Refer to the list of background texts and ask the lecturers if you require further resources.
  • Exercise:  Applying theoretical knowledge and practical tools obtained in the lectures to solve example problems provided in the recommended literature and home take assignments.

Feedback and student support during module study

  • Assignments will be marked and feedback given during the tutorial sessions.
  • Reading and discussion groups with a plenary feedback during the tutorials.

Relationship between the teaching, learning and assessment methods and the planned learning outcomes

  • The knowledge, understanding and intellectual skills listed will be taught in lectures. In completing the assignments and examination you will demonstrate your mastery of all the skills listed.
  • The purpose of the tutorials is for you to master the skills and provide feedback on your understanding of topics not covered by, or are difficult to fully assess in, an assignment.
MethodHoursPercentage contribution
-25%
Exam0 hours75%

Referral Method: By examination

Share this module FacebookTwitterWeibo

COMP1204 Data Management

Module Overview

This module aims to:

  • Explain the role of database systems in information management.
  • Introduce students to standard UNIX tools and techniques (e.g., vi editor, ed, sed and awk).
  • Develop the student's skills in the effective use of Unix tools for document preparation, software development and system administration.
  • Introduce students to command line working and to help develop their appreciation of its strengths/weaknesses relative to GUIs.

Aims & Objectives

Aims

Knowledge and Understanding

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

A1.  The role of database systems in information management.

A2.  The concept of data modelling

A3.  The relational model of data

A4.  The structure and facilities of the Unix system and its application to system tasks

Intellectual Skills

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

B1.  Support the design and develop software making effective use of Unix based tools and facilities

B2.  Apply entity-relationship modeling.

B3.  Normalise data.

Subject Specific Skills 

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

C1.  Make effective use of data manipulation tools.

C2.  Construct new tools using shell scripts, pipes and filters.

C3.  Make effective use of markup languages.

C4.  Use SQL to create, update and query a database.

Syllabus

  • The Unix family of operating systems (Linux, BSD, OS X)
    • The Unix philosophy and environment; files, processes, pipes, filters and basic utilities
    • Data manipulation tools; editors, grep and other utilities.
    • Scripting
    • Shells and shell programming.
    • Program development tools.
  • Structured documents and markup languages
    • LaTeX
    • XML-based languages (HTML, DocBook)
  • Database systems
    • Rationale behind Database Systems
    • Database Modelling using the Entity-Relationship Model
    • Data Models and Data Sublanguages
    • Practical SQL
  • The Relational Model
    • Relations, domains, attributes, keys, dependencies
    • Normalisation

Learning & Teaching

Learning & teaching methods

ActivityDescriptionHours
Lecture36
Tutorial12

Assessment

Assessment methods

Note that a University Approved Calculator may be used during the examination.

MethodHoursPercentage contribution
Database Coursework-15%
UNIX Coursework-10%
Exam2 hours75%

Referral Method: By examination

Share this module FacebookTwitterWeibo

COMP6206 Advanced Computer Vision

Module Overview

To capitalise on image processing and computer vision skills presented in part 3, to ready students for practical implementation in commerce or in research. Computer Science, Electrical and Electronic Engineering students are all welcome on this course (if you hear a prerequisite of Signal Processing is stated, this is not true).

This course has always been hugely enjoyed by the students (and the staff!) as it is a mix of theory and implementation and capitalises on presentation and group project work.

Aims & Objectives

Aims

To build working computer vision systems

To appreciate the stock of technique available for computer vision

To learn the principles of developing and applying computer vision

To practice (and perfect!) presentation tectniques and group coursework

Syllabus

  • Feature Extraction
    • Further techniques in parametric and non-parametric feature extraction including advance Hough transform techniques and active contour models.
  • Feature Description
    • How to describe extracted features for purposes of further analysis and in feature recognition.
  • Image Interpretation
    • Syntactic and symbolic image interpretation and analysis.
  • Image Restoration
    • Beyond the Weiner filter. Least mean squares and extensions and maximum entropy restoration.
  • 3D Imaging
    • Calibration, epipolar constraint, coordinate systems. Active and passive ranging systems.
  • Morphology
    • Binary image processing and image geometry

Learning & Teaching

Learning & teaching methods

ActivityDescriptionHours
LectureOverview of computer vision, overview of implementation and tutorial on basic techniques3
LectureStudents present implementations of advanced material18
Specialist LabGroup coursework, e.g o build a mobile phone based biometric system, or to build a system for and to spoof a face localisation system15

Assessment

Assessment methods

MethodHoursPercentage contribution
Lecture material-60%
Group coursework-40%

Referral Method: By examination

Share this module FacebookTwitterWeibo

COMP6205 Web Development

Module Overview

The aims of the module are

  • To provide students with the opportunity to improve their understanding of web development, and their judgement of the effectiveness of different development techniques, both in theory and in practice.
  • To cover important techniques and issues in designing, building and deploying robust large scale web systems
  • To consider development methods and patterns which enhance maintainability and testability, such as web components, MVC, ORM, HTML template engines, and automated web testing
  • To familiarise students with the ASP.NET web development framework, and compare this with other frameworks and approaches to web development.

Aims & Objectives

Aims

Knowledge and Understanding

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

  • Modern web standards, technologies, and techniques, including content management systems and responsive web design
  • The ASP.NET web development framework, including ASP.NET MVC
  • Similarities and differences with alternatives such as Enterprise Java, OO PHP, Python/Django, and Web Forms
  • Techniques for deploying and testing web sites, and for enhancing their performance and scalability

Subject Specific Intellectual

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

  • Evaluate alternative server-side frameworks, and contrast client-side and server-side web programming
  • Model and manage web performance using a range of methods
  • Explain the limitations of partitioning and parallelism in improving web performance

Subject Specific Practical

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

  • Design and build ASP.NET MVC web sites using professional web development tools such as IDEs, HTML template engines, test automation, and Object-Relational Mapping software

Syllabus

  • Review of modern web standards such as HTML5 and CSS3
    • web templates and template engines
    • responsive web design
  • Web Information Architecture and Content Management Systems
    • intranet search techniques, use of metadata
    • examples of CMS/Portals such as Sharepoint and Drupal
  • Web Development using ASP.NET
    • underlying .NET technologies such as C#, ASP, and LINQ
    • ASP.NET Razor and MVC
    • comparison with other approaches such as:  Java Enterprise (JSP, JDBC), Python/Django, Object Oriented PHP, and ASP.NET Web Forms
    • comparison of client-side versus server-side programming
  • Patterns and methods to enhance maintainability and testability
    • dependability injection and inversion of control
    • Model-View-Controller (MVC) and variants (MV*)
    • object relational mapping (ORM)
  • Business Logic
    • maintaining web state (page, session, and application lifetime and scope)
    • persistence using Entity Framework and LINQ
    • techniques for validating input data in each tier and their benefits
  • Testing, deployment and configuration
    • private, test and public builds
    • web site hosting
    • classification and management of detected errors
    • range and use of web test automation tools
  • Performance modelling and management
    • partitioning and parallelism, Amdahl’s law
    • performance modelling and benchmarking
    • graceful degradation (admission control, disabling recommendations)

Learning & Teaching

Learning & teaching methods

Pre-requisites

Professional web sites are constructed using standards such as HTML5 and CSS3.  They typically connect to a back-end database, either directly or using an API.  In addition, you should have some understanding of networking and security, for example familiarity with HTTPS.

Web development also involves the use of modern object oriented languages such as C#, Java, JavaScript and PHP (OO from version 5 onwards).  It is expected you will be comfortable with using language features such as inheritance and interfaces as associative arrays and iterators.  You will, moreover, be comfortable with the language of design patterns, including the classic Model-View-Controller (MVC).

There will be a diagnostic test at the start of this module.  Students who have some minor gaps in their background knowledge will be given directed reading to help them catch up, and given the opportunity to participate in a study group.  Students with more significant gaps will be advised to reconsider their choice of this option.

ActivityDescriptionHours
Lecture36

Assessment

Assessment methods

MethodHoursPercentage contribution
An ASP.NET MVC Web Development Exercise-30%
Exam2 hours70%

Referral Method: By examination

Share this module FacebookTwitterWeibo

COMP6203 Intelligent Agents

Module Overview

This unit gives a broad introduction to the new and rapidly expanding field of agent-based computing. It introduces the key concepts and models of the field, dealing both with the individual agents and with their interactions. Particular emphasis is placed on automated negotiation, cooperation and on-line auctions, and students are required to program a trading agent in Java which will compete in a class tournament within a simulated trading environment.

Aims & Objectives

Aims

Learning outcomes are:

  • Understand motivations for, and approriate use of, agent-based computing.
  • Understand main agent models in use today and their grounding in artificial intelligence research.
  • Understand main agent decision making frameworks for cooperative and competetive environments.
  • Be able to apply these approaches to deploy an agent within a simulated agent trading environment.
  • Be able to analyse and critique the performance of this deployed agent.

Syllabus

Topics covered are:

  • Introduction to agent-based computing
    • Motivations for agent-based computing
    • Key concepts and models of reasoning (symbolic, reactive and practical)
    • Rational decision making and handling uncertainty
  • Agent Interactions
    • Models of coordination (DCOP and the max-sum algorithm)
    • Models of competitive behaviour (game theory and mechanism design)
    • Computational markets (auctions)
  • Agent design and implementation
    • Structuring agent models in code
    • Deploying agents within a simulated environment
    • Practical reasoning strategies for computational markets

Learning & Teaching

Learning & teaching methods

ActivityDescriptionHours
LectureLectures of core academic course content.18
Demonstration or Examples SessionIntroduction to trading agent competition - downloading and running initial simulator and agent.2
TutorialDiscussion student developed strategies for the trading agent competition.4

Assessment

Assessment methods

MethodHoursPercentage contribution
Trading agent competition-40%
Exam1.5 hours60%

Referral Method: By examination, with the original coursework mark being carried forward

Share this module FacebookTwitterWeibo

COMP6202 Evolution of Complexity

Module Overview

Evolution by natural selection has created amazingly complex and sophisticated solutions to some very difficult problems - how exactly does it achieve this? - and how can we harness this capability for engineering artificial systems and computational problem solving?

This module has three complementary aims:

  1. To provide knowledge of the theory, mechanisms and processes of evolution, and the factors affecting evolvability of complex systems, paying particular attention to the algorithmic assumptions underlying different aspects of the models and theory. (This unit introduces basic biological topics to a computer science/numerate audience and assumes no biological background/pre-requisites.)
  2. To provide knowledge of and experience with using computational methods inspired by natural evolution and population dynamics.
  3. To place this knowledge and these techniques within the broader framework of general computational optimization techniques.

The content includes key concepts, tools and approaches in:

  • basic aspects of evolutionary biology,
  • techniques in artificial evolutionary computation,
  • and scientific exchange between the two disciplines: e.g. how artificial evolutionary algorithms help us understand the capabilities and limitations of biological evolution, and how current topics in evolutionary biology inspire new solutions to evolvability and scalability in engineering.

 

This module is intended as an optional module for appropriate part 4 undergraduates and MSc students. Prior completion of specific modules is not a prerequisite for enrolment. This unit introduces basic biological topics to a computer science/numerate audience and assumes no biological background/pre-requisites. However, the module does involve considerable biological as well as computational material, and would suit students with an interest in the theory of evolution and competence in programming.

Aims & Objectives

Aims

Syllabus

  • Introduction to algorithmic concepts of evolution
    • What is evolution?
    • Natural selection and adaptation
    • Evolutionary algorithms
    • Algorithm variants (genetic algorithms, evolutionary strategies, etc.)
  • Computational optimisation methods
    • Combinatorial optimisation (e.g. TSP, graph-colouring)
    • Heuristic techniques (e.g., Simulated Annealing, gradient ascent)
  • Evolvability of Complex Systems
    • Concepts of evolutionary difficulty (fitness landscapes, epistasis, adaptation and constraint)
    • Modularity
    • Sexual recombination and evolvability
    • Algorithmic possibilities for evolution
    • Artificial Life models, open-ended evolution
    • Developmental representations
  • Advanced topics
    • Wright versus Fisher (mass selection, shifting balance theory)
    • Units of selection
    • Interactions among species (coevolution, coadaptation)
    • Compositional evolution (hybridisation, major evolutionary transitions)
    • Macro-evolution (saltations, gradualism, extinction, trends, diversity, species and speciation)

Learning & Teaching

Learning & teaching methods

ActivityDescriptionHours
LectureMain delivery of taught material - conventional lectures.36
Specialist LabThis is effectively 'office hours' where I make myself available for assisting with coursework questions. An hour per week needs to be timetabled but no room booking is needed.12

Assessment

Assessment methods

referral needs 3hr exam.

MethodHoursPercentage contribution
warm-up coursework (not assessed): code a genetic algorithm-%
main coursework: reimplement a selected paper and extend -50%
Exam1.5 hours50%

Referral Method: By examination

Share this module FacebookTwitterWeibo

ELEC6216 Personal Multimedia Communications

Module Overview

The course endeavours to practice the fundamentals of wireless communications, to review the most recent trends and techniques in the broad field of Mobile Multimedia Communications and to equip the participants with basic skills required to design such systems.

The course is taught to the MSc students in Wireless Communications and Part IV Master of Engineering students in Electronics.

Students taking this course are expected to have the basic knowledge of digital communications and wireless communications.

Aims & Objectives

Aims

When completing this module, you will be expected to be able to:

  • be familiar with the architecture of mobile multimedia systems;
  • have a good knowledge about the various types of wireless communication channels as well as their modelling;
  • employ the skills of Monte Carlo simulation to predict the performance of some specific wireless communication schemes based on the above-mentioned wireless communication channel models;
  • be able to apply appropriate simulation tools for simulating the bit error rate (BER) or/and throughput performance of wireless communication schemes;
  • be able to analyse the constraints of some wireless communications techniques;
  • be familiar with the principles of a range of wireless communications systems as well as their implementation challenges;
  • employ the knowledge of some novel techniques that have been employed or may be employed in wireless communications systems.

Syllabus

Students are required to complete a range of compulsory tasks on the topics, including:

  • Additive white Gaussian noise (AWGN) channel modelling and simulation;
  • Analysis and simulation of the BER performance for BPSK, QPSK, MQAM, etc. modulation schemes, when communicating over AWGN channels;
  • Modelling and simulation of uncorrelated Rayleigh/Rician fading channels;
  • Analysis and simulation of the BER performance for BPSK, QPSK, MQAM, etc. modulation schemes, when communicating over uncorrelated Rayleigh/Rician fading channels;
  • Modelling and simulation of correlated Rayleigh/Rician fading channels, pilot-based channel estimation;
  • Simulation of the BER performance of BPSK, QPSK, MQAM, etc. modulation schemes, when communicating over correlated Rayleigh/Rician fading channels;
  • Principles and simulation of adaptive modulation over wireless channels.

Students are also required to complete one to several optional tasks on the topics, including:

  • Code-division multiple-access (CDMA), which mainly focuses on the evaluation of the performance of some CDMA schemes with various single- and multiuser detection strategies, when communicating over various wireless channels. The possible CDMA schemes may include DS-CDMA, FHMA, THMA, multicarrier CDMA, etc.;
  • Antenna techniques, which may consider the issues, such as transmit/receive diversity, space-time coding, MIMO transceiver design, MIMO space-time processing algorithms, beamforming and transmitter preprocessing, relay/cooperative communications, etc.;
  • Multicarrier and Orthogonal Frequency-division Multiplexing (OFDM), which may considers the issues, such as performance of downlink OFDMA and uplink SC-FDMA, uplink/downlink resource allocation, MIMO OFDM, techniques for mitigation of peak-to-average power ratio, techniques for inter-carrier interference suppression, etc.;
  • Source coding, which may work on the issues such as compression of voice, image, video, etc. source signals, various compression algorithms, compression efficiency, complexity, etc.;
  • Channel coding, which may include the investigation of, such as linear error-control codes (BCH code, convolutional code, LDPC, etc.), non-linear error-control codes (constant-weight code, Hadamard code, etc.), various decoding algorithm, viterbi algorithm, turbo decoding, iterative decoding, etc.;
  • Joint source-channel coding, which considers the issues such as channel optimised source coding, source-controlled channel decoding, joint source-channel decoding, iterative source-channel decoding, etc.;
  • Channel estimation and prediction, which studies the issues associated with channel estimation and prediction as well as various channel estimation and prediction algorithms in wireless communications;
  • Interference mitigation, which deals with the issues, such as interference suppression in various wireless systems, multiuser detection in CDMA systems, algorithms for suppressing partial-band interference, multiuser interference, multitone interference, etc.

Learning & Teaching

Learning & teaching methods

ActivityDescriptionHours
LectureIntroduce and revise the principles of the topics related to the course.24
TutorialProvide students knowledge about the advanced techniques in wireless communications. 12

Assessment

Assessment methods

MethodHoursPercentage contribution
Assessed by progress report, individual presentation, final report -100%

Referral Method: By set coursework assignment(s)

Share this module FacebookTwitterWeibo

ELEC6214 Advanced Wireless Communications Networks and Systems

Module Overview

ELEC6214 Advanced Wireless Communication Networks and Systems is designed:

  • To introduce the student to the most recent techniques in the broad field of Wireless Communication
  • To equip the student with basic skills required to design such systems as well as to work for future wireless systems

This module is taught in Semester 2. It is particularly aimed at equiping our MSc Wireless Communications and MEng Electronic Engineering with Wireless Communication students with advanced comminucation theory and technologies, vital for a successful career in digital economy.

This is a key taught module for the MSc Wireless Communication and MEng Electronic Engineering with Wireless Communication programmes course and is complemntary to the core semester 2 module, ELEC6216 Personal Multimedia Communications, which is hands-on coursework based. In particular, this module offers the students fundamental theory of wireless communications, which diretly benefits their "hands-on" practice in ELEC6216, in order to develop the vital transferable practical skills for working in the information industry.

For undergraduate students, the prerequisites for this module are satisfied by having taken ELEC3203 Digital Coding and Transmission OR ELEC3204 Wireless and Optical Communications.

For postgraduate students, the prerequisites for this module are satisfied by the prerequisites of their programme. However, some additional background reading will be required for students that do not have a background in the topics covered by ELEC3203 and ELEC3204.

Aims & Objectives

Aims

After taking this module, the student will master

  • The fundamentals of mobile wireless channels, and the limitations of mobile channels imposed on communication systems
  • Advanced modulation and transmission techniques, and practical channel coding schemes
  • The architectures of mobile communications, and recent standard mobile systems, such as the fourth generation (4G) system
  • The foundation of understanding and working for future generation of wireless systems
  • Theory and practice of Information Transfer in our information society, and the critical transferable skills to work in other information industries

Syllabus

Mobile fundaments

  • Multiple access techniques: frequency division multiple access (FDMA), time division multiple access (TDMA), code division multiple access (CDMA), space division multiple access (SDMA);
  • Space-time processing: multiple antenna techniques, diversity and multiplexing gains, multiple-input multiple-output (MIMO) systems.

Mobile radio channels

  • Pathloss, large-scale fading, small-scale fading; Power budge of mobile links;
  • Doppler spread and coherent time, delay spread and coherent bandwith; flat fading and frequency selective fading.

Modulation and transmission

  • Digital modulation overview and digital modulation schemes, spectral efficiency and implementation complexity, power efficiency and green communication;
  • Carrier and clock recovery, coherent receiver and non-cohernet receiver;
  • Adaptive signal processing for communication, channel equalisation, combating interference, and multi-user detection;
  • Multi-carrier orthogonal frequency division multiplexing (OFDM) and single-carrier block transmission with frequency domain equalisation.

Practical channel coding schemes

  • The fundamentals of forward error correction (FEC) coding, convolutional coding, linear block coding, hard-decision channel decoding, soft-decision channel decoding;
  • Turbo principle, turbo coding, turbo decoding-detection, near-capacity three-stage concatenatedturbo transceiver.

MIMO technology

  • The fundamentals of MIMO, diversity and multiplexing gains, beamforming gain, SDMA based multi user system;
  • Vertical Bell Lab layered space-time (V-BLAST), space-time block codes (STBCs), Linear dispersion codes (LDCs), spatial modulation (SM) and space-shift keying (SSK), and space-time shift keying (STSK) - a unified MIMO;
  • Acquisition of MIMO channel state information (CSI), state-of-the-art near-capacity MIMO systems.

Existing and future wireless systems and standards

  • 1st generation (1G) system, 2G system, 3G system, and 4G system;
  • Beyond 4G (B4G) system, massive MIMO, millimeter wave communication, optical wireless.

Learning & Teaching

Learning & teaching methods

ActivityDescriptionHours
LectureDelivery of basic syllabus by lecturing.36
TutorialDelivery of advanced topics by seminars as well as discussion and revisions.12

Assessment

Assessment methods

MethodHoursPercentage contribution
Exam2 hours100%

Referral Method: By examination

Share this module FacebookTwitterWeibo

Pages