School of Electronic Engineering and Computer Science

Module information

Below is a full list of modules that are available across our Computer Science and Electronic Engineering courses in 2019/2020.

Please note that this is for information only and may be subject to change. To find out which modules are compulsory and elective for each semester of a course, please visit our undergraduate or postgraduate programme course pages.

Module TitleCodeLevelSemesterCreditsDescription
ECS401U Procedural ProgrammingECS401ULevel 4 modules (First year)Sem 115

The major aim of this module is to teach you how to write simple programs fluently and correctly. In the course of doing this you will also learn to read and understand programs, and some basic use of an operating system. The course is given using Java under Linux, but the skills you will learn are intended to be transferable.

Topics include the use of:
•    basic control structures
•    arrays, records and other datatypes including abstract data types
•    abstraction, methods and recursion
•    simple search and sort algorithms

 This is a laboratory-based course supported by lectures. You will have a weekly timetabled lab session. These sessions will be backed up by a weekly two-hour lecture.

ECS403U Communications and NetworksECS403ULevel 4 modules (First year)Sem 215

This module provides an introduction to the principles of communications embracing fundamental concepts in communication systems, the transmission of information, computer networking, and the Internet.

Topics include:

  • Digital Communications and Networks: Data transmission, telecommunications networks and resource sharing, packet and circuit switched networks.
  • Internet Protocols and Applications: Internetworking systems and the history of the Internet.
  • The layered model of open communication systems: The OSI model and the Internet model, overview of each layer.
  • The Data link Layer: characteristics, protocols and services; Local area networks.
  • The Network Layer: characteristics, protocols and services; IPv4 and IPv6 protocols.

 

ECS404U Computer Systems and NetworksECS404ULevel 4 modules (First year)Sem 115

The aim of this module is to provide you with a basic understanding of how a computer works, how programmes are executed by the CPU at the machine level, and how computer networks function. The material covered includes the major components of a computer, including CPU, memory, I/O and buses and the role of bandwidth, latency and power dissipation in determining the relationship between them.

Topics will also include:

  • the use of bits, bytes and data formats to represent numbers, text and program
  • CPU structure and function: the conventional (von Neumann) computer architecture
  • data types, addressing modes and instruction sets
  • machine-level program structure and its correspondence to higher-level programs
  • the role of wired and wireless networks in modern computer system
  • a basic understanding of typical network technologies, e.g. ethernet, wifi
  • the role of protocols such as ethernet in the implementation and use of network technology

 

 

 

ECS405U Arts Application ProgrammingECS405ULevel 4 modules (First year)Sem 115

The aim of this module is to introduce programming to you through visual design and focuses on what computer programmes can do - i.e. the applications that can be developed - and use this to extract key structures and features of the chosen programming language (Processing/Java). The module focuses as much on the creativity of ideas as on how to write code to realise these ideas.

Topics include:

  • drawing shapes in processing
  • loops, flow charts and primitives
  • visual illusions
  • colour representation and processing
  • movement and animation
  • user responses
  • strings and writing methods
  • data visualisation and sonification
  • Java I/O, Object Orientation and Inheritance
  • colour in Java
ECS406U Bridging Arts and TechnologyECS406ULevel 4 modules (First year)Sem 115

The aim of this module is to remove the perceived barrier between technology, design and creativity and encourage you to explore how visual (e.g. drawing) and narrative skills can inform and enhance the creation of technologies.

You will use a range of art practice to break down assumptions of what technology should do and look like. Core writing skills (creative and essay skills) will also be developed through investigating narratives of technology, e.g. science fiction, and contrasting this with factors, such as algorithms, that underpin the technologies we use. By the end of the module you will have knowledge and understanding of art practice as systems, the importance of algorithms and data structures, and use creative skills to structure applications and communicate intention.

ECS407U Logic and Discrete StructuresECS407ULevel 4 modules (First year)Sem 115

This module consists of two parts and each one is of fundamental importance for any serious approach to Computer Science: Logic and Discrete Structures.

Logic plays a very important role in computer architecture (logic gates), software engineering (specification and verification), programming languages (semantics, logic programming), databases (relational algebra and SQL the standard computer language for accessing and manipulating databases), artificial intelligence (automatic theorem proving), algorithms (complexity and expressiveness), and theory of computation (general notions of computability).

Discrete Mathematics is used by computer scientists to think about their subject and to communicate their ideas independently of particular computers and programs.

The aim of this course is to allow you to gain experience in constructing and manipulating the formal structures, which will prepare you for the many similar formalisms and structures that you will meet in other courses and throughout your career.

Topics include:

  • Propositional logic 
  • Predicate Calculus
  • Producing and annotating formal proofs
  • Programming language, Prolog.
  • This course will also cover a variety of standard representations, operations, properties, constructions and applications associated with selected structures from Discrete Mathematics (sets, relations, functions, directed graphs, orders).
ECS408U Electronic Engineering Mathematics IECS408ULevel 4 modules (First year)Sem 115

The aim of this module is to teach you five core mathematics subjects:

  • Complex numbers: algebraic, polar, Argand, and exponential forms, de Moivre's theorem, computing roots of powers of complex numbers, example applications to engineering.
  • Vectors: algebraic and cartesian forms, operations on vectors, geometric forms of some of the operations, example applications to engineering.
  • Series and Limits: basic definitions of sequences and their converging values, arithmetic and geometric  series, Taylor and MacLaurin series, methods for computing convergence/divergence of series and their limit, if defined.
  • Continuous Functions: functions, properties of functions, injectivity, subjectivity, monotonicity, boundedness, continuity, types of discontinuity.
  • Differentiation: the basic concept behind and definition of limits and derivatives, limits and derivatives of basic functions, rules for computing limits and derivatives from basis functions.

All topics will be related to engineering applications and by the end of the module, you will be able to define the main mathematical concepts in the course.

ECS409U Analogue Electronic SystemsECS409ULevel 4 modules (First year)Sem 215

The aim of this module is to provide you with a sound understanding of basic devices and circuits in Electronic Engineering. The module introduces you to electronic devices, components, circuits and simple systems. There is particular emphasis on the basic theorems and techniques of electric circuit theory in relation to simple a.c. and d.c. circuits in order to provide a sound theoretical background to both analogue and digital courses in subsequent semesters.

 

ECS411U Signals and InformationECS411ULevel 4 modules (First year)Sem 215

This module introduces the fundamentals of signals, Fourier Series, signal statistics and modulation schemes: AM, FM, PM and digital modulation.

Topics covered include:

  • signal fundamentals such as discrete versus continuous time signals
  • signal average, energy and power signals
  • orthogonality
  • Fourier Series.

The module also provides an introduction to information theory, including the Shannon-Hartley Theorem. By the end of the module you will be able to understand the fundamental ideas required in signals theory and in the construction of modulation schemes, to evaluate key measures and metrics, e.g. in relation to signal bandwidth and explain the meaning and use of certain key concepts via simplified real-life engineering scenarios.

ECS412U Digital Circuit DesignECS412U Level 4 modules (First year)Sem 115

The aim of this module is to introduce you to the basic theorems of digital logic, present basic techniques for designing digital circuits, and provide the knowledge and understanding required to go on to higher level modules on digital systems and microprocessors.

By the end of the module you will be able to:

  • Perform number base conversions; use complements to represent signed numbers and perform arithmetic operations with negative numbers
  • Understand the difference between binary numbers and codes and error detection.
  • Manipulate Boolean algebraic expressions using the Boolean postulates and theorems.
  • Derive a Boolean function from the truth table of the function.
  • Use a Karnaugh map to reduce a Boolean function to its minimum form.
  • Express a combinational logic function as a logic gate circuit; convert expressions between the sum-of-products and the product-of-sums forms and implement in NAND or NOR gate form respectively.
  • Use NAND gates to realise a half-adder logic circuit.
  • Use the half adder as a building block for full-adders, parallel adders and multipliers.
  • Understand the applications of MSI logic chips such as code converters, decoders and encoders, multiplexers and demultiplexers.
  • Devise test vectors to perform waveform analysis on combinational logic circuits. Understand how to use logic gates to build gated latches and flip-flops.
  • Use characteristic tables and state diagrams to design sequential logic circuits.
  • Use TTL integrated circuit logic chips to build combinational and sequential logic circuits in the lab.
ECS414U Object-Oriented ProgrammingECS414U Level 4 modules (First year)Sem 215

This module aims to improve your programming skills and to develop fundamental skills in reading, writing, describing, structuring and reasoning about programmes. In particular, the course aims to develop these skills at the level of mid-level structure as seen in the object oriented style of programming.

Topics covered include:

  • the concepts of class, object, method, subclass, inheritance and their use in programming.
  • the relevance of the object-oriented style with respect to concrete software problems will be stressed both in lectures and labs.

By the end of the module you will be able to use most of the object-oriented concepts when writing programmes. Given a description of a problem in English, you should be able to identify the relevant classes and subclasses for the solution; write the methods reflecting the requested behaviour of the system; test and debug the programme.

ECS415U Introduction to Digital AudioECS415U Level 4 modules (First year)Sem 215

An understanding of digital audio is essential if you would like to pursue a career in music technology or audio engineering and is a highly useful skill for anyone studying multimedia.

This module covers the entire field of digital audio, including some depth in the subfields and related subjects. This module aims to provide you with knowledge of the fundamentals of acoustics and sound; understanding of digital audio and its representations; the ability to create and edit audio; critical listening skills.

Topics covered include:

  • introduction to the basics of sound, and the key concepts of acoustics that are required to understand how sound is created, represented and transmitted.
  • the important characteristics of sound, such as intensity, frequency, pitch and timbre.
  • how sound may be accurately represented digitally. Different representations, such as wav, midi and mp3 are introduced.
  • critical listening skills, including the ability to properly create, record and discern sounds, identify subtle problems, identify frequencies, and hear hidden distortions.
ECS416U Introduction to MultimediaECS416ULevel 4 modules (First year)Sem 215

The aim of this module is to introduce you to the representation, analysis and processing of digital multimedia. JavaScript and HTML5 are also introduced, including the new graphics, audio and video elements. You will develop interactive multimedia content in the labs and mini-projects.

Topics covered include: 

  • 2D graphics and animation
  • Colour
  • Image processing
  • Integral transforms
  • Sampling and quantization
  • Revision
  • Compression and encoding
  • Hearing and MP3
  • Vision and JPEG
  • Characterization and retrieval

By the end of the module you will be able to understand the signal-processing basis of multimedia representation and processing; be able to use simple interactive multimedia pages in HTML5/JavaScript and know about modern multimedia standards and formats.

ECS417U Fundamentals of Web TechnologyECS417U Level 4 modules (First year)Sem 215

The aim of this module is to provide you with a basic understanding of the operation of the World Wide Web and teach you practical skills for programming the Web. You will gain hands-on experience with the use of web programming languages and technologies. You will also develop an understanding of the important programming concepts such as a markup language for text layout design and a scripting language.

By the end of this module you will have an understanding of:

  • Issues surrounding the technical development of web services
  • The ability to undertake basic programming using a range of common web languages
  • The programming concept of a markup language
  • The programming concept of a scripting language
  • The programming concept of event-driven computation
ECS418W Business ModellingECS418WLevel 4 modules (First year)Sem 215

The aim of this module is to provide a grounding in mathematical concepts and practical experience in developing quantitative models and solutions methods based around statistics.

In this module, you will gain:

  • an introduction to key issues associated with quantitative models and associated processes that support problem solving and decision making.
  • quantitative skills and knowledge needed to underpin such problem solving whilst modelling systems.
  • familiarity and confidence in applying both mathematical notation and quantitative problem solution methods.
  • the ability to demonstrate, using case studies, the application of mathematical models to a range of engineering activities.

By the end of the module you will be able to apply critical thinking, models, and methods to a range of IT activities; build quantitative models to aid decision making and the optimum solution of management decisions; show familiarity and confidence in the use of mathematical notation and basic mathematical skills used in managerial problem solving.

ECS419U Information System AnalysisECS419ULevel 4 modules (First year)Sem 215

The aim of this module is to locate the design methods and the development of computer systems in the wider context of the use of information technology and its impact upon organisations.

Topics covered include:

  • What are Information Systems and requirements?
  • Systems theory and types of information systems; their relationship with organisational processes and structures.
  • Requirements analysis and project failures.
  • Elicitation of Requirements: techniques for eliciting requirements; user participation; impact on project success.
  • Object-Oriented Analysis Techniques: UML notation, including use cases and class diagrams.
  • Overview of the software development processes.

By the end of the module you will be able to gather requirements and define use cases for designing software systems and know how to plan object oriented software architecture through class diagrams. You will also understand how to prototype systems, conduct stakeholder analysis and engage in systems thinking.

ECS421U Automata and Formal LanguagesECS421ULevel 4 modules (First year)Sem 215

Automata and languages are among the most fundamental concepts in Computer Science. Any device interacting with the outside world, whether a simple program or a complex system, requires well-defined input and output languages.

The aim of this module is to teach you different representations of languages, including grammars, which are crucial in programs reading input data. You will gain fluency in building new grammars, and analysing/understanding existing ones.

Topics covered include:

  • foundational concepts of computing, such as finite automata, regular languages, and grammars.
  • the connections and translations between these concepts, as well as their basic algorithms.
  • apply concepts in programming exercises to understand their use in computer programs.

By the end of the module you will be able to explain the relation between certain forms of finite automata and formal languages. You should understand what makes up a grammar and its language, how expressions are parsed, how to build a new grammar, and the central position of languages in computing.

ECS428U Skills for Electronic EngineeringECS428U Level 4 modules (First year)Sem 10

This module is designed to support you through the transition from school to university. It will provide you with the opportunity to work with others to develop and share basic practical skills that underpin many first year modules at the School of Electronic Engineering and Computer Science and foster a sense of enquiry and intellectual curiosity, develop basic graduate attributes that underpin effective student learning, and prepare and encourage you to obtain some work / voluntary experience at an early stage in order to enhance your employability.

ECS423U Electronic Engineering Mathematics 2ECS423ULevel 4 modules (First year)Sem 215

The aim of this module is to consolidate and continue from Electronic Engineering Maths 1 and provide you with a range of mathematical skills for Electronic and Electrical Engineering.

It provides the underpinnings for a number of modules on the Electronic Engineering, and Electrical and Electronic Engineering, programmes such as analogue and digital electronics, signals and systems theory and subjects pertaining to electric and magnetic fields such as optics, microwave engineering, and transmission systems.

Topics covered include:

  • linear algebra - matrices and matrix operations, applications to systems of equations, reduced row echelon form, determinants, Cramer's rule, eigenvalues and eigenvectors.
  • differential equations - solving first and second order differential equations.
ECS427W Professional and Research PracticeECS427WLevel 4 modules (First year)Sem 115

At Queen Mary University of London, we've been working to include a broader range of skills and experiences as part of our undergraduate degrees to make sure that by the time you graduate, you can stand out from the crowd and apply yourself to whatever you choose to do next. We have introduced a suite of additional, extra-curricular activities that have been designed to help you develop key skills and gain valuable experience, called QMUL Model.

This module is the QMUL Model offered at the School of Electronic Engineering and Computer Science. It is a practice-based module which will help you engage with current debates in the IT industry while developing essential professional and study skills. The aim of the module is to help you become more reflective, articulate (written and oral), independent learners, and able to work in groups.

For more information about QMUL Model, visit www.qmul.ac.uk/undergraduate/whyqm/teaching/

 

ECS501U C ProgrammingECS501ULevel 5 modules (Second year)Sem 115

If you already know how to program at a basic level in Java, you can take this module which introduces you to the principles of C Programming. It provides knowledge of the theory of C Programming and also its practical use in real engineering systems. The focus is on advanced topics of computer language programming and network programming.

By the end of the module you will be able understand the main approaches and methods used in C programming; use low-level memory and data structures concepts; understand the main approaches of network programming using sockets in C; understand the use of different processes and threads in designing software solutions; understand the importance of C programming to the development of engineering and technology.

ECS502U Microprocessor Systems DesignECS502ULevel 5 modules (Second year)Sem 115

The aim of this module is to examine the structure, applications and programming of microcontroller and similar devices, including practical work on using the devices.

By the end of the module you will be able to understand the architecture of microcontroller and microprocessor devices and understand the timing, memory and data transfer limitations of using these devices. You will also be able to choose the right device for a particular application, understand of the development cycle for the devices and understand interfacing issues for the devices. You will be able to write C code and assembly code for the devices and use a microcontroller in an electronic circuit.

ECS504U Electric and Magnetic FieldsECS504ULevel 5 modules (Second year)Sem 215

The aim of this module is to teach you the basic laws of electric and magnetic fields, their application to elementary problems involving steady and time changing fields and currents, and give you an introduction to electromagnetic radiation. The Maxwell Equations, which explain the relationships between time varying electric and magnetic fields, will be introduced. The emphasis is on physical intuition and visualisation rather than a very mathematical approach.

Topics covered include:

  • Revision of vectors and vector algebra, and reference coordinate systems.
  • Electrostatics: Electric charge and Coulomb's law.
  • Static electric field.
  • Electric field of continuous distribution of charges.
  • Lines of force and electric field.
  • Electrostatic potential.
  • Conductors in electrostatic field.
  • Gauss' law
  • Electric flux.
  • Static electric field in the presence of dielectrics.
  • The electric displacement vector.
  • Energy and forces in static electric field.
  • Steady electric current.
  • Static magnetic field.
  • Magnetic field of steady currents in the presence of magnetic materials.
  • Magnetic flux density.
  • The Biot-Savart law.
  • Ampere's laws.
  • Electromagnetic induction.
  • Energy and forces in the static and quasi-static magnetic field.
  • Maxwell's equations and their application.
ECS505U Software EngineeringECS505ULevel 5 modules (Second year)Sem 115

Software Engineering is concerned with applying engineering principles to the production of software.

The aim of this module is to provide the management principles, theoretical foundations, tools, notation and background necessary to develop and test large-scale software systems. The practical part of the module consists of lab assignments in which students use a range of relevant tools (a Java programming IDE, unit testing tool, configuration management tool, UML design tool, and project planning tool).

Topics covered include:

  • Systems Concepts and Modelling
  • Introduction to OO Modelling
  • Software Development Life Cycles
  • Domain, Requirements and Use-Case Analysis
  • Static and Dynamic Modelling With UML
  • Design Patterns
  • Software Testing
  • Software Quality Assurance and Metrics
  • Software Project Management
  • Legal, Social and Ethical Issues in Software Engineering
ECS506U Software Engineering ProjectECS506ULevel 5 modules (Second year)Sem 215

Software Engineering is concerned with applying engineering principles to the production of software. This module provides the management principles, theoretical foundations, tools, notation and background necessary to develop and test large-scale software systems. In a group of six students, you will be presented with a significant software problem to solve. To meet the problem requirements and build a satisfactory system, you will have to apply the principles learnt in your software engineering theory class, as well as previous programming modules, and you will have to work effectively as a team. 

ECS507U Website Design and AuthoringECS507U Level 5 modules (Second year)Sem 115

The aim of this module is to examine the art of good design, applied to web sites through both theory and practice. What makes a web design that is easy and pleasing to use? This module introduces the issues that must be considered in designing a website and the tools that can be used in website design and construction.

This module is part of a series of modules on web development and programming. It builds on the first year module that introduces the technology of the web. This module goes further with the technology of the web (which is evolving rapidly - notably HTML 5 and associated technologies such as SVG, DOM and support for media files) but places equal emphasis on the more fundamental and enduring principles of good design.

ECS508U Business Information SystemsECS508U Level 5 modules (Second year)Sem 215

This module is designed to provide you with a broad introduction to the area of information systems in business. Although it discusses technical aspects, its main focus is on the organisational, managerial, social and ethical aspects around the design and implementation of Information Systems in organisations. 

Topics covered include:

  • Introduction to information systems
  • Types of information system
  • Uses of Information systems
  • Information systems in e-commerce and e-business
  • Information system design and development
  • Information Systems within and between organisations
  • Case studies of business information systems
  • The human factor in information systems
  • Legal and ethical issues in Information systems
ECS509U Probability and MatricesECS509ULevel 5 modules (Second year)Sem 115

This module aims to equip you with the necessary background and techniques so that you can understand and solve problems of probability theory and of basic linear algebra. The module also aims to make the relationship and applications of these topics to Computer Science clear.

Topics covered include:

  • Introduction to Probability Theory
  • Conditional Probability & Sampling
  • Bayes Theorem
  • Random Variables and the Binomial Model
  • Applications of Probability Theory to Computer Science
  • Introduction to the Algebra of Matrices
  • Solving Systems of Linear Equations
  • Introduction to Vector Algebra
  • Vector Spaces, Linear Independence, Spanning Sets
  • Vector Spaces, Dimension, Basis and Change of Basis
ECS510U Algorithms and Data Structures in an Object-Oriented FrameworkECS510ULevel 5 modules (Second year)Sem 115

Algorithms are "ways of doing something", data structures are ways of combining collections of data to form a coherent whole. Many algorithms are about processing collections of data, an obvious example being to re-arrange a collection to put it in some sorted order. This module will introduce the basic concepts of algorithms and data structures expressed using the Java programming language.

This module is intended for those who have already covered the basics of programming and wish to move on to use and develop their programming skills for designing and constructing components of programs of a larger scale.

Topics covered include:

  • Using and defining objects
  • Recursion and iteration
  • Data abstraction
  • Constructive and destructive abstractions
  • Sorting and searching
  • Efficiency
  • Linked structures
  • Implementing collection types
  • Inheritance and generic typing
  • Generalised coding using interface types
  • Java's Collection Framework
ECS511U Creating Interactive ObjectsECS511ULevel 5 modules (Second year)Sem 115

Interactive objects are physical devices controlled by microcontrollers using simple sensors and actuators.

The aim of this module is to provide you with skills, knowledge, and experience of designing and prototyping interactive physical objects using contemporary microcontrollers. The module covers basic electronics, control circuits, sensors (analogue and digital), output (analogue and digital), microcontrollers, simple networking, and microcontroller programming using the popular Arduino open-source platform. It additionally touches on topics of interaction design and evaluation to provide a framework in which students can prototype and understand interactive objects.

Topics covered include:

  • Introduction to Interactive Objects Design and demonstration or real life implementations.
  • Introduction to Arduino kit and hardware components.
  • Programming refresher.
  • Analogue and Digital Electronics.
  • Further Programming Concepts.
  • Digital COmmunication and Interfaces.
  • Interactive Design Principles.
  • Building Digital System Blocks.
  • Sensors and Functions.

Practical Laboratory Sessions:

  • Four lab sessions on introductory concepts to arduino kit and sample exercises.
  • Individual group project in building and evaluating interactive objects.
  • Group project on applying interactive design principles.
ECS512U Sound DesignECS512U Level 5 modules (Second year)Sem 215

Synthesis, DSP and software development are increasingly required in the discipline of Sound Design - a part of film, radio, television, theatre and computer game development. Stand alone, embedded or mobile audio applications are increasingly popular. Within film production the role of "technical sound designer" and within games development the role of "Audio programmer/implementor" has been identified and demand for these roles continues to increase.

This module is for you if you wish to gain a basic understanding of sound synthesis, signal processing as it relates to sound design. You will also find the module useful if you are looking for supporting knowledge for software design of DAW, plugins, sequencers, and sound analysis applications.

Topics covered include:

  • fundamental technical and creative aspects of sound production, for both standalone audio projects and audio for film, games or music
  • skills in sound design
  • fundamental technical and creative aspects of sound production
  • fundamentals of computer audio
  • aesthetic and interpretive subjects
  • natural basis of sound.

By the end of the module, you will be able to demonstrate an understanding of sound and music composition and editing, including a practical and theoretical approach; apply understanding of simple sound synthesis; understand and use sequencers, mixers, digital audio workstations, mixing consoles and other forms of audio editors; use programming methods to build sound objects and sound scenes in a digital audio workstation environment.

 

 

ECS514U Design and Build Project in Electronic EngineeringECS514ULevel 5 modules (Second year)Sem 215

The Design and Build Project is a group-based exercise planned for the whole module that mainly focuses on technical skills related to hardware and software components and also the interfaces between these two sub-systems. The module will also introduce team work and group-based soft skills ranging from project planning and demonstration setting to project management and leadership.

Generally, projects are divided into two phases with clear inter-link between the various components and tasks set for the groups. The project is divided into 5 main milestones from assessment prospective starting by specifications/requirements setting through mid-point progress check and demonstration to final project report submission and groups' presentation.

ECS515U Signals and Systems TheoryECS515ULevel 5 modules (Second year)Sem 215

This module aims to give you an understanding of basic signal and system concepts, e.g. average value, the difference between periodic, non-periodic and random signals, and orthogonality. It further aims to give a working understanding of the use of transform techniques, including Fourier, Laplace and Z, and an appreciation of the effects of noise on signals and signal processing.

Topics covered include:

  • Concepts of signals and systems in continuous and discrete time.
  • Ideas behind linear, time invariant systems and functions.
  • Periodic and non-periodic, random, energy signal and power signal.
  • Explain and use signal average values.
  • Define signal symmetry, and to explain the concept and use of orthogonality.
  • Introduce the Fourier trigonometric series.
  • Introduce frequency domain representation and the Fourier transform.
  • Show how the Fourier transform is applied to some simple aperiodic signals and how to interpret the results.
  • Introduce discrete time signals and sampling, including aliasing and the unit sample sequence.
  • Explain FIR and IRR discrete time systems.
  • Show response of a discrete time system is convolution of the input sequence with the unit sample response.
  • Introduce the Z-transform, and apply to discrete time signals and systems.
  • Show that stability of discrete time systems can be examined by using Z-transform techniques.
  • Introduce the Laplace transform and the complex frequency terms.
  • Study certain simple applications of the Laplace transform, e.g. to the unit step function, the exponential function, the sinusoid and to combinations of these.
  • Inverse Laplace transform.
ECS517U Electronic Devices and ApplicationsECS517ULevel 5 modules (Second year)Sem 115

This module aims to provide an introduction to practical engineering issues relating to electronic hardware and design. It aims to give you an understanding of the constraints and objectives to be considered when designing electronic hardware, the knowledge of processes used in the manufacture of electronic hardware and the ability to analyse simple electronic circuits.

Topics covered include:

  • Principles of amplification, feedback and control
  • Diodes and transistors
  • Rectifiers and power supplies
  • Processing analogue signals: filters, amplifiers
  • System design issues: requirements, specifications, environment, safety, reliability
  • Electronic hardware: assembly, interconnect, integration, production.

By the end of the module, in the context of electronic hardware you will be able to formulate what is to be built and identify the system aspects; identify the constraints in terms of cost, material resources and timescale; break down the design into subsystems and components; determine whether the components meet specifications such as frequency, heat dissipation, reliability, environment, safety, accuracy and price; determine whether the components work together in a safe and reliable manner; design a simple analogue electronic circuit; analyse a simple analogue electronic circuit.

ECS518U Operating SystemsECS518ULevel 5 modules (Second year)Sem 215

What is an Operating System for and how does it work? This module prepares you for further studies in systems topics such as distributed systems and high performance computing.

Topics covered include:

  • Computer Architecture
    This theme reviews basic material on computer architecture and covers further topics on interrupts and caching. Compilation, linking and loading are also introduced.
  • Operating Systems
    This theme covers process management, memory management, file systems and I/O. The primary case study will be Linux, but reference will also be made to Windows for comparison. Practical work uses a scripting language and tools for tracing the running system.
  • Concurrency
    This theme introduces core concepts of deadlock and mutual exclusion. It then covers the use of threads in application programs as provided in Java, including the Thread class (and Runnable interface) and use of synchronised methods and the associated methods (wait, notify) of the Object class. Higher-level abstractions from the Java library (package java.util.concurrent) will also be introduced.
ECS519U Database SystemsECS519ULevel 5 modules (Second year)Sem 215

This module is an introduction to databases and their language systems in theory and practice.

Topics covered include:
•    The principles and components of database management systems.
•    The main modelling techniques used in the construction of database systems.
•    Implementation of databases using an object-relational database management system.
•    SQL, the main relational database language.
•    Object-Oriented database systems.
•    Future trends, in particular information retrieval and data warehouses.

ECS520U Creative Group Project for Multimedia Arts Technology ECS520ULevel 5 modules (Second year)Sem 215

This module is a group project for second year Multimedia Arts Technology (MAT) students.

It will provide you with hands-on knowledge and experience to work as successful modern digital multimedia engineers.

The principal aims of the module are:

  • To apply creativity in product development
  • To equip students with a detailed understanding of a product development cycle
  • To provide students with the experience of critically and artistically creating and examining multimedia content
  • To equip students with the necessary practical skills for conducting a major project

By the end of the module, you will have knowledge and understanding of:

•    Creative design for audiovisual content development
•    Tools available for content production
•    Translating multimedia technologies into applicable creative media

ECS521U Interactive Media Design and ProductionECS521U Level 5 modules (Second year)Sem 115

This module will provide principles of interactive media production and design using conventional media processing tools.

Topics covered include:

•    to study human aspects and interaction in the creation of artistic and informative media structures using commercial tools;
•    to practice presentation and design using interactive media tools;
•    to learn about different aspects of tools for interactive media;
•    to introduce optimising principles for web images; and
•    to introduce principles of image, video and graphics.

By the end of the module, you will be able to learn the importance of human aspects in multimedia application design and the ways of introducing interactivities:

  • understand the usage of common tools in multimedia design; 
  • understand the ideas of the popular multimedia applications;
  • be able to create their own multimedia applications considering the important aspects in a design process as taught in this module;
  • be able to share responsibilities and collaborate in teams in a design process.
ECS522U Graphical User InterfacesECS522U Level 5 modules (Second year)Sem 215

This module introduces you to basic concepts of psychology and design which inform the way in which Graphical User Interfaces (GUIs) should be designed, and how to build these interfaces in Java. The module looks at desktop and mobile GUIs, and also looks beyond graphical user interfaces to consider vision input and sound output.

By the end of the module, you should be able to:
•    build working GUIs using Java
•    understand basic principles of psychology and communication which inform the design of GUIs
•    understand how to analyse activities and situations to inform the design of suitable GUIs
•    understand, and have experienced, an iterative design process
•    evaluate your own and other peoples GUI designs
•    reflect upon different design and techniques and to critique their applicability

ECS528U Communication SystemsECS528ULevel 5 modules (Second year)Sem 115

This module provides a broad background to modern telecommunications systems and the underlying theory, including wireless networks and the Internet. It covers the fundamental ideas used in the design of modern telecommunications systems and networks, emphasising how networks are evolving from analogue, through digital to packet-based all IP networks, and from fixed-line to wireless based systems.

Topics covered include:

  • Analogue Circuit Switching
  • PCM and Time Division Multiplexed Networks
  • Evolution of TDM into 21CN router construction SLAs
  • Basic traffic theory
  • Information theory
  • Source coding
  • Intersymbol interference and equalisation
  • Line coding
  • Errors and impairments in transmission
  • Mobile and wireless networks

By the end of the module, you will be able to understand the fundamental ideas required in understanding the principles of operation and the architectures of circuit-switched and packet/cell-switched networks wired and wireless; have the ability to evaluate key measures and metrics, e.g. in relation to aspects of: analogue; digital and all-packet 21st Century Networks; basic traffic theory; intersymbol interference and equalisation; line coding; ARQ; wireless networks.

ECS526U Design and Build Project in Robotics Engineering (Robotics II)ECS526ULevel 5 modules (Second year)Sem 215

This is a compulsory module if you are studying MEng Robotics Engineering.

This module is a group-based exercise planned for the whole module that mainly focuses on technical skills related to hardware and software components and also the interfaces between these two sub-systems specifically aimed at Robotics in different applications (mainly Mechatronics, Medical and Cognitive domains). The module will also introduce team work and group-based soft skills ranging from project planning and demonstration setting to project management and leadership.

ECS601U Control SystemsECS601ULevel 6 modules (Final year)Sem 115

This is a compulsory module for all Electrical and Electronic Engineering students, and an optional module for Electronic Engineering students, Electronics and Telecommunications students, and Electronic Engineering and Computing students.
The aim of the module is to provide an understanding of feedback and control systems, modelling dynamic systems, use of Laplace transform for control systems analysis, the steady state response, the system frequency response, and s-plane analysis for the transient response, and the control of digital systems. Powered by MATLAB and LabVIEW softwares, the labs will enable you to apply concepts to real-time control design, implement control solutions and evaluate your results.

ECS602U Digital Signal ProcessingECS602ULevel 6 modules (Final year)Sem 115

This module builds upon the signal processing theory introduced in ECS515 Signals and Systems Theory module.

The aim of the course is to introduce you to the advanced concepts of processing signals that are represented as finite-precision number sequences, and to examine the role of digital signal processing techniques in digital storage and transmission.

By the end of the module you will be able to:
•    Explain the principles of analogue-to-digital and digital-to-analogue conversion of band-limited signals, and be aware of the limitations and imperfections of real systems.
•    Describe the discrete-time representation of sampled signals.
•    Explain the concepts of linearity, time-invariance, stability, causality, discrete-time convolution and linear-coefficient difference equations.
•    Explain the principles, theory and properties of the DTFT, the DFT and the z-transform. Understand the principles of discrete time filters (FIR and IIR).
•    Design simple FIR linear-phase filters using the window method or by frequency-sampling design.
•    Design computational structures for the realization of DSP algorithms for filters.

ECS604U Entrepreneurship in Information TechnologyECS604ULevel 6 modules (Final year)Sem 115

The aim of this module is to increase your awareness of the commercial opportunities available to you in the area of Information Technology. We examine how to cultivate an entrepreneurial mind set and discuss the routes available for turning your ideas into business ventures. The course provides an introduction to a number of crucial business skills such as financial planning, business planning and how to sell yourself and your ideas.

By the end of the module you will have:
•    developed an understanding of entrepreneurship and the enterprise culture.
•    demonstrated knowledge of the elements required to generate opportunities and to commercialise technology-based ideas.
•    developed an understanding of the process involved in protecting and validating ideas.
•    demonstrated knowledge of the importance of business and financial planning and how to develop a business plan.
•    identified the sources available to fund ideas.
•    worked through problems as an effective team member.
•    evaluated and presented outcomes through oral presentation.
•    independently managed your learning and the use of a wide range of resources with minimal guidance.
•    critically appraised progress of independent work.
•    made informed decisions about career choice and applications for jobs or further study.

Please note that numbers on this course are limited. Priority will be given to Computer Science students who have this course on their recommended programme.

ECS605U Image ProcessingECS605ULevel 6 modules (Final year)Sem 115

The aim of this module is to give you an introduction to digital image processing and uses programming language Java to implement simple applications in low level image processing.

Topics covered include:

  • image representation
  • image sampling and display
  • image transforms and image enhancement using point and spatial operations
  • image processing methods such as convolution, frequency filtering and image restoration, compression and segmentation.
ECS607U Data MiningECS607ULevel 6 modules (Final year)Sem 115

The aim of this module is to provide a practical understanding of the use of data mining for decision making. The module will cover the classes of algorithms and models and how an appropriate algorithm is chosen for a given task. The evaluation and interpretation of results and the limitation of methods will be emphasized.

Topics covered are likely to include:

  • a taxonomy of problems: classification, pattern recognition and association and of learning types: supervised versus unsupervised; clustering algorithms
  • knowledge representations such as regression, decision trees, association rules, bayesian networks
  • evaluation techniques: cross validation, performance metrics
  • social impact, ethics and the law.

•    * Note that this module is dual level, i.e. it is taught at both levels 6 (year 3) and 7 (year 4). The assessment for the level 6 and 7 variants differs by at least 1/3, either in coursework or exam components, with the higher level variant testing the more advanced learning objectives noted in the relevant module descriptor. Any student who has already studied the level 6 variant may not subsequently study the equivalent level 7 variant.

ECS766P Data MiningECS766P Level 7 modules (Final year)Sem 115

The aim of this module is to provide a practical understanding of the use of data mining for decision making. The module will cover the classes of algorithms and models and how an appropriate algorithm is chosen for a given task. The evaluation and interpretation of results and the limitation of methods will be emphasized.

Topics covered are likely to include:

  • a taxonomy of problems: classification, pattern recognition and association and of learning types: supervised versus unsupervised; clustering algorithms
  • knowledge representations such as regression, decision trees, association rules, bayesian networks
  • evaluation techniques: cross validation, performance metrics
  • social impact, ethics and the law.

•    * Note that this module is dual level, i.e. it is taught at both levels 6 (year 3) and 7 (year 4). The assessment for the level 6 and 7 variants differs by at least 1/3, either in coursework or exam components, with the higher level variant testing the more advanced learning objectives noted in the relevant module descriptor. Any student who has already studied the level 6 variant may not subsequently study the equivalent level 7 variant.

ECS609U/ECS609W Project Risk ManagementECS609U/ECS609WLevel 6 modules (Final year)Sem 115

The aim of this module is to help you to develop, plan, manage and control projects successfully in a business environment. This requires an awareness of general project management principles, methodologies and the tools and techniques as applied within multi-disciplined projects, specifically to large IT projects. You will also examine formal approaches to managing risk, opportunity, uncertainty and value in these projects.

Topics covered will include:

  • Project Management, specifically for IT projects
  • Formal risk management procedures
  • Effective risk management
  • Modification of projects
  • Practical understanding and ability in professional tools, i.e. Microsoft Project and PRINCE.

 

 

ECS610U Computer GraphicsECS610ULevel 6 modules (Final year)Sem 115

The aim of this module is to introduce the fundamental concepts of 3D computer graphics. This encompasses describing a 3D scene (modelling and data structures), constructing views, rendering, and illumination. This requires a thorough understanding of algorithms and graphics systems programming.

Topics covered will include:

  • fundamental raster algorithms such as polygon filling, specification, modeling and rendering of 3D scenes
  • viewing in 2D
  • data structures for the representation of 3D polyhedra
  • viewing in 3D
  • visibility and hidden surface algorithms
  • illumination computations
  • human perception of colour and interactive 3D such as virtual reality.

* Note that this module is dual level, i.e. is taught at both levels 6 (year 3) and 7 (year 4). The assessment for the level 6 and 7 variants differs by at least 1/3, either in coursework or exam components, with the higher level variant testing the more advanced learning objectives noted in the relevant module descriptor. Any student who has already studied the level 6 variant may not subsequently study the equivalent level 7 variant. *


ECS762P Computer GraphicsECS762PLevel 7 modules (Final year)Sem 115

The aim of this module is to introduce the fundamental concepts of 3D computer graphics. This encompasses describing a 3D scene (modelling and data structures), constructing views, rendering, and illumination. This requires a thorough understanding of algorithms and graphics systems programming.

Topics covered will include:

  • fundamental raster algorithms such as polygon filling, specification, modeling and rendering of 3D scenes
  • viewing in 2D
  • data structures for the representation of 3D polyhedra
  • viewing in 3D
  • visibility and hidden surface algorithms
  • illumination computations
  • human perception of colour and interactive 3D such as virtual reality.

* Note that this module is dual level, i.e. is taught at both levels 6 (year 3) and 7 (year 4). The assessment for the level 6 and 7 variants differs by at least 1/3, either in coursework or exam components, with the higher level variant testing the more advanced learning objectives noted in the relevant module descriptor. Any student who has already studied the level 6 variant may not subsequently study the equivalent level 7 variant. *


ECS612U Interaction DesignECS612ULevel 6 modules (Final year)Sem 115

Today, many technologies are designed to be used in a dynamic, changing context; and their primary use is often social interaction and fun i.e. there is no quantifiable output and no clear goal other than enjoyment. Computer games, mobile music players and online communities are all examples where the quality of the experience is the primary aim of the interaction and usage is highly dependent on social context. Computer usage is also shifting away from the traditional keyboard/screen paradigm towards mobile, multimodal, wearable and ubiquitous systems.

This course explores the challenges these new technologies, and the industries they have created, present for the design and evaluation of interactive systems. It moves away from the traditional human-computer interaction model with its focus on increasing efficiency or minimising errors for single users, and explores theories relating to usability and experience, social context, creativity and live performance. It explores the nature of engagement with interactive systems and between people when mediated by interactive systems.


This course aims to:
•    establish the importance of social context, aesthetics and experience for interaction design
•    analyse the impact of technology on human relationships and social organisation
•    identify and analyse novel uses of technology to aid interaction, creativity, performance and engagement
•    provide analytic perspectives, tools and techniques that support design for user experience
•    provide experience of design for interactional data.

ECS614U Sound Recording and Production TechniquesECS614U Level 6 modules (Final year)Sem 115

This module aims to provide you with skills to understand and use contemporary studio and field recording and production techniques, including relevant principles, concepts and practice. The module will cover all aspects of audio production including advanced audio production techniques, methods and skills in radio broadcasting, audio for television, and multimedia audio.

The module will introduce the basics of sound, and the key concepts of acoustics that are required to understand how the quality and characteristics of captured sound is affected by room acoustics, microphone placement, choice of hardware, and other recording and production issues. You will also be taught critical listening skills, including the ability to properly create, record and discern sounds, identify subtle problems, identify frequencies, and hear hidden distortions.

On completion of the module, you should be able to:
•  recognize various audio aesthetics
•  demonstrate an understanding of basic audio recording techniques, such as microphone selection and placement, studio design and acoustic treatment, and multitrack recording
•  demonstrate an understanding of sound and music editing and production, including a practical and theoretical approach
•  understand and use sequencers, mixers, digital audio workstations, mixing consoles and other forms of audio editors
•  be able to demonstrate audio production skills such as field recording, mixing, splicing, and digital audio editing
•  be familiar with the fundamentals of audio and post-production techniques with additional emphasis on advanced optional techniques
•  be familiar with computer-based audio production software and be able to produce digital audio files for distribution on CD or tape.


ECS617U Integrated Circuit DesignECS617ULevel 6 modules (Final year)Sem 215

This module aims to introduce you to CAD, design methodology, architectures, circuit and fabrication techniques for integrated circuits. The main emphasis is on CMOS design.

Topics covered will include:

  • ICD Overview & IC Fabrication, MOS Transistor Principles and CMOS Gates
  • Device Performance and Yield
  • Programmable Architecture, Layout Languages & Design Rules
  • Hardware Description Languages, specifically VHDL - although prior VHDL knowledge is beneficial
  • The VHDL content covers: Sequential / Combinational Logic; State Machines and Clocking; Simulation, Synthesis, Place & Route, Back Annotation
  • Testing mechanisms
  • State-of-the-Art developments.

 

ECS787P Integrated Circuit DesignECS787PLevel 7 modules (Final year)Sem 215

This module aims to introduce you to CAD, design methodology, architectures, circuit and fabrication techniques for integrated circuits. The main emphasis is on CMOS design.

Topics covered will include:

  • ICD Overview & IC Fabrication, MOS Transistor Principles and CMOS Gates
  • Device Performance and Yield
  • Programmable Architecture, Layout Languages & Design Rules
  • Hardware Description Languages, specifically VHDL - although prior VHDL knowledge is beneficial
  • The VHDL content covers: Sequential / Combinational Logic; State Machines and Clocking; Simulation, Synthesis, Place & Route, Back Annotation
  • Testing mechanisms
  • State-of-the-Art developments.

 

ECS619U Network Planning, Finance and ManagementECS619ULevel 6 modules (Final year)Sem 215

This module focuses on commercially informed network resource challenges and their financial impact, following the growth of a UK based SME as it expands its operations and the digital services upon which it relies. Beginning with telephony and the foundations of network economics, then evaluating the impact of digital transformation and convergence, the module progresses into the heart of shared network resource challenges: network transitivity, end-to-end performance evaluation, and multi-service cost optimisation.

The module aims to provide an analytical overview of resource sharing under uncertainty in digital networks and services.

ECS746P Network Planning, Finance and ManagementECS746PLevel 7 modules (Final year)Sem 215

This module focuses on commercially informed network resource challenges and their financial impact, following the growth of a UK based SME as it expands its operations and the digital services upon which it relies. Beginning with telephony and the foundations of network economics, then evaluating the impact of digital transformation and convergence, the module progresses into the heart of shared network resource challenges: network transitivity, end-to-end performance evaluation, and multi-service cost optimisation.

The module aims to provide an analytical overview of resource sharing under uncertainty in digital networks and services.

ECS622U Product DevelopmentECS622ULevel 6 modules (Final year)Sem 215

This module considers the business and innovation aspects of developing an IT product (or service). These include the role of strategy, marketing, design and manufacturing. It also includes detailed discussions of the Research and Development (R&D) function as well as the legal aspects (e.g. patenting) around product development.

You will gain awareness of the entrepreneurial landscape around IT products and services, the challenges (and opportunities) of turning a technically sound product into commercial success. You will learn about the work and the skills behind new product development, its further improvement and introduction to new or existing markets. This will include detailed study of the various phases of new product development. Although much of the course is based around large companies, the specialised needs of small companies will also be covered. Case studies from the international business environment and experience in application of the theory to real-life industry based scenarios will be introduced in this module.

ECS623U Digital Audio EffectsECS623ULevel 6 modules (Final year)Sem 215

This module introduces digital audio effects and the use of digital signal processing and its applications to the creation or modification of sounds and sound effects.

You will learn about what can be done in the digital processing of sounds in the form of computer algorithms and sound examples resulting from these transformations. You will be introduced to signal processing concepts and software implementations, as well as advances in filters, delays, modulators, and time-frequency processing of sound.

Topics covered will include:

  • time-domain
  • non- linear
  • time-segment
  • time-frequency
  • source-filter
  • spectral
  • bitstream signal processing
  • spatial effects
  • time and frequency warping
  • and the control of audio effects.

The lectures assume that you will have some basic knowledge of digital signal processing, and will build upon that knowledge to teach you how to analyze and modify any musical audio signal.

ECS730P Digital Audio EffectsECS730P Level 7 modules (Final year)Sem 215

This module introduces digital audio effects and the use of digital signal processing and its applications to the creation or modification of sounds and sound effects.

You will learn about what can be done in the digital processing of sounds in the form of computer algorithms and sound examples resulting from these transformations. You will be introduced to signal processing concepts and software implementations, as well as advances in filters, delays, modulators, and time-frequency processing of sound.

Topics covered will include:

  • time-domain
  • non- linear
  • time-segment
  • time-frequency
  • source-filter
  • spectral
  • bitstream signal processing
  • spatial effects
  • time and frequency warping
  • and the control of audio effects.

The lectures assume that you will have some basic knowledge of digital signal processing, and will build upon that knowledge to teach you how to analyze and modify any musical audio signal.

ECS624U C++ for Image ProcessingECS624ULevel 6 modules (Final year)Sem 215

This module gives you a practical introduction to C++ and uses this programming language to examine applications in low level image processing.

Topics covered include:

  • image representation examining perception
  • sampling and display
  • image transforms and image enhancement using point and spatial operations
  • image processing methods such as convolution, frequency filtering and image restoration, compression and segmentation.


* Note that this module is dual level, i.e. is taught at both levels 6 and 7. The assessment for the level 6 and 7 variants differs by at least 1/3, either in coursework or exam components, with the higher level variant testing the more advanced learning objectives noted in the relevant module descriptor. Any student who has already studied the level 6 variant may not subsequently study the equivalent level 7 variant. 

ECS756P C++ for Image ProcessingECS756PLevel 7 modules (Final year)Sem 215

This module gives you a practical introduction to C++ and uses this programming language to examine applications in low level image processing.

Topics covered include:

  • image representation examining perception
  • sampling and display
  • image transforms and image enhancement using point and spatial operations
  • image processing methods such as convolution, frequency filtering and image restoration, compression and segmentation.


* Note that this module is dual level, i.e. is taught at both levels 6 and 7. The assessment for the level 6 and 7 variants differs by at least 1/3, either in coursework or exam components, with the higher level variant testing the more advanced learning objectives noted in the relevant module descriptor. Any student who has already studied the level 6 variant may not subsequently study the equivalent level 7 variant. 

ECS625U ProjectECS625ULevel 6 modules (Final year)Sem 130

The final year project builds on the taught modules taken during the degree programme and is undertaken independently under the guidance of a project supervisor. The project will normally involve a substantial component of design and implementation of software and/or hardware.

The aim of the project is:
•  To draw on knowledge, skills and experience gained from the taught modules taken during the degree programme.
•  To undertake a piece of work of appropriate scope and complexity independently, under the guidance of a project supervisor.
•  To communicate the achievements of the project effectively in a written report and a viva.
•  To demonstrate the outcomes of the project, where applicable.

ECS770U ProjectECS770ULevel 7 modules (Final year)Sem 130

The final year project builds on the taught modules taken during the degree programme and is undertaken independently under the guidance of a project supervisor. The project will normally involve a substantial component of design and implementation of software and/or hardware.

The aim of the project is:
•  To draw on knowledge, skills and experience gained from the taught modules taken during the degree programme.
•  To undertake a piece of work of appropriate scope and complexity independently, under the guidance of a project supervisor.
•  To communicate the achievements of the project effectively in a written report and a viva.
•  To demonstrate the outcomes of the project, where applicable.

ECS626U Team ProjectECS626U Level 6 modules (Final year)undefined30

This module is a group project to be taken by third year MEng students.

The aim of this module is to give you experience in: working as a team, problem solving skills, and implementing a design or development project.

ECS636U Team ProjectECS636U Level 6 modules (Final year)undefined30

This module is a group project to be taken by third year MSci students.

The aim of this module is to give you experience in: working as a team, problem solving skills, and implementing a design or development project.

ECS629U Artificial IntelligenceECS629U Level 6 modules (Final year)Sem 215

This module covers techniques used in Artificial Intelligence including agent modelling, problem formulation, search, logic, probability and machine learning.

This module aims to teach the following knowledge and skills:
•    Understanding of agent modelling;
•    Understanding and practical experience of problem formulation;
•    Understanding and practical experience of search-based problem solving;
•    Understanding and practical experience of logic and inference;
•    Understanding and practical experience of machine learning.

* Note that this module is dual level, i.e. is taught at both levels 6 and 7. The assessment for the level 6 and 7 variants differs by at least 1/3, either in coursework or exam components, with the higher level variant testing the more advanced learning objectives noted in the relevant module descriptor. Any student who has already studied the level 6 variant may not subsequently study the equivalent level 7 variant. *

ECS759P Artificial IntelligenceECS759PLevel 7 modules (Final year)Sem 215

This module covers techniques used in Artificial Intelligence including agent modelling, problem formulation, search, logic, probability and machine learning.

This module aims to teach the following knowledge and skills:
•    Understanding of agent modelling;
•    Understanding and practical experience of problem formulation;
•    Understanding and practical experience of search-based problem solving;
•    Understanding and practical experience of logic and inference;
•    Understanding and practical experience of machine learning.

* Note that this module is dual level, i.e. is taught at both levels 6 and 7. The assessment for the level 6 and 7 variants differs by at least 1/3, either in coursework or exam components, with the higher level variant testing the more advanced learning objectives noted in the relevant module descriptor. Any student who has already studied the level 6 variant may not subsequently study the equivalent level 7 variant. *

ECS637U Digital Media and Social NetworksECS637U Level 6 modules (Final year)Sem 215

Online social networks and digital media services such as Facebook, twitter, Flickr, YouTube are changing the way we interact with the Internet and receive our news, content and recommendations. In this module, you will be introduced to the concepts around measurement, analysis, usability and privacy aspects of OSNs.

The module will bring together a number of studies from different measurement studies on the topic, designs for new systems, and the directions that such networks are taking with the new digital media plans. You will develop a deep understanding and analysis approach to learning specifically about Social Media and their properties.

* Note that this module is dual level, i.e. is taught at both levels 6 and 7. The assessment for the level 6 and 7 variants differs by at least 1/3, either in coursework or exam components, with the higher level variant testing the more advanced learning objectives noted in the relevant module descriptor. Any student who has already studied the level 6 variant may not subsequently study the equivalent level 7 variant.

ECS757P Digital Media and Social NetworksECS757P Level 7 modules (Final year)Sem 215

Online social networks and digital media services such as Facebook, twitter, Flickr, YouTube are changing the way we interact with the Internet and receive our news, content and recommendations. In this module, you will be introduced to the concepts around measurement, analysis, usability and privacy aspects of OSNs.

The module will bring together a number of studies from different measurement studies on the topic, designs for new systems, and the directions that such networks are taking with the new digital media plans. You will develop a deep understanding and analysis approach to learning specifically about Social Media and their properties.

* Note that this module is dual level, i.e. is taught at both levels 6 and 7. The assessment for the level 6 and 7 variants differs by at least 1/3, either in coursework or exam components, with the higher level variant testing the more advanced learning objectives noted in the relevant module descriptor. Any student who has already studied the level 6 variant may not subsequently study the equivalent level 7 variant.

ECS638U Design for Human InteractionECS638ULevel 6 modules (Final year)Sem 115

Technology has the potential to transform human communication. It can weaken spatial and temporal constraints on who can communicate. It creates opportunities for new communities and patterns of interaction and it can also provide the resources to enable radically new kinds of human-human interaction.

Our intuitions about what makes communication effective are a poor guide. Some technologies, such as videophones, that are specifically designed to enhance communication can sometimes make it worse. Currently, there is no accepted explanation of how technologies alter, and are altered by, the patterns and processes of human communication. Such an explanation is necessary for effective design of new technologies.

This research led course explores these issues by introducing the social science of human communication and applying it to the analysis of technologies that support human interaction (video phones, whiteboards, facebook, twitter). We will consider small-scale face-to-face conversations and mass interaction in classrooms and live performances. In each case we will explore how people exploit the resources available to them, such as speech, gesture, touch and body orientation to enable effective, engaging interactions.

ECS712P Design for Human InteractionECS712PLevel 7 modules (Final year)Sem 115

Technology has the potential to transform human communication. It can weaken spatial and temporal constraints on who can communicate. It creates opportunities for new communities and patterns of interaction and it can also provide the resources to enable radically new kinds of human-human interaction.

Our intuitions about what makes communication effective are a poor guide. Some technologies, such as videophones, that are specifically designed to enhance communication can sometimes make it worse. Currently, there is no accepted explanation of how technologies alter, and are altered by, the patterns and processes of human communication. Such an explanation is necessary for effective design of new technologies.

This research led course explores these issues by introducing the social science of human communication and applying it to the analysis of technologies that support human interaction (video phones, whiteboards, facebook, twitter). We will consider small-scale face-to-face conversations and mass interaction in classrooms and live performances. In each case we will explore how people exploit the resources available to them, such as speech, gesture, touch and body orientation to enable effective, engaging interactions.

ECS639U Web ProgrammingECS639ULevel 6 modules (Final year)Sem 115

The architecture of web systems has changed over the last ten years with much greater client functionality possible and therefore the option of reducing the complexity of the server components. The module will cover these developments, comparing architectures and analyzing trends, including issues of web application security and performance. Technologies used will include Python, Django, Javascript, jQuery and HTML5.

ECS640U Big Data ProcessingECS640ULevel 6 modules (Final year)Sem 115

Big Data Processing covers the new large-scale programming models that allow to easily create algorithms that process massive amounts of information with a cluster of computer nodes. These platforms hide the complexity of coordinating complex parallel computations across the cooperating nodes, instead providing to developers a high-level programming model.

The module is based on the MapReduce programming model. Lectures explain how multiple data analysis algorithms can be expressed under this model, and executed automatically over clusters of machines. The module also covers the internal mechanisms that a MapReduce framework uses to coordinate and execute the job among the infrastructure. Finally, additional related topics in the area of Big Data, such as alternative large-scale processing platforms, NoSQL data stores, and Cloud Computing execution infrastructure are presented. In addition to the lectures, weekly lab sessions and coursework exercises present multiple applications where real world datasets are analysed using platforms such as Hadoop.

* Note that this module is dual level, i.e. is taught at both levels 6 and 7. The assessment for the level 6 and 7 variants differs by at least 1/3, either in coursework or exam components, with the higher level variant testing the more advanced learning objectives noted in the relevant module descriptor. Any student who has already studied the level 6 variant may not subsequently study the equivalent level 7 variant. *

ECS765P Big Data ProcessingECS765PLevel 7 modules (Final year)Sem 115

Big Data Processing covers the new large-scale programming models that allow to easily create algorithms that process massive amounts of information with a cluster of computer nodes. These platforms hide the complexity of coordinating complex parallel computations across the cooperating nodes, instead providing to developers a high-level programming model.

The module is based on the MapReduce programming model. Lectures explain how multiple data analysis algorithms can be expressed under this model, and executed automatically over clusters of machines. The module also covers the internal mechanisms that a MapReduce framework uses to coordinate and execute the job among the infrastructure. Finally, additional related topics in the area of Big Data, such as alternative large-scale processing platforms, NoSQL data stores, and Cloud Computing execution infrastructure are presented. In addition to the lectures, weekly lab sessions and coursework exercises present multiple applications where real world datasets are analysed using platforms such as Hadoop.

* Note that this module is dual level, i.e. is taught at both levels 6 and 7. The assessment for the level 6 and 7 variants differs by at least 1/3, either in coursework or exam components, with the higher level variant testing the more advanced learning objectives noted in the relevant module descriptor. Any student who has already studied the level 6 variant may not subsequently study the equivalent level 7 variant. *

ECS641U Communicating and Teaching Computing: the Undergraduate Ambassadors SchemeECS641ULevel 6 modules (Final year)Sem 20

This module is organised within the framework for the Undergraduate Ambassadors Scheme and provides students on Computer Science (and related) courses the chance to get experience of teaching computing / computer science in a school, working alongside an experienced teacher.

The placement takes place in Semester B for half a day every week. You are required to keep a reflective weekly log and to write a summary of this at the end of the placement. You will also complete a mini-project, developing and/or delivering a teaching resource; this work is described in a presentation and a report. Essential preparation and final selection (by interview) takes place in Semester A.

The aim of the UAS scheme and this module are to:
•    Provide transferable skills to undergraduates which will be invaluable after graduation
•    Provide teaching experience that encourages undergraduates to consider a career in teaching
•    Supply role models for pupils studying computing in schools
•    Give support to teachers, especially with the introduction of new curricula in Computing
•    Encourage the next generation to make an involve choice about Computer Science as a University subject and/or career.

ECS655U Security EngineeringECS655ULevel 6 modules (Final year)Sem 215

Cloud Computing has transformed how services and applications are delivered.

Thanks to the rise of virtualisation technology and new programming paradigms, applications can quickly be delivered to a growing audience, without the need to physically own and configure the infrastructure. The Cloud Computing module will cover the main characteristics of Cloud Computing, including the enabling technologies, main software and service paradigms underpinning it, as well as related aspects, namely security, privacy, and ethical concerns.

Topics covered include:

  • The underlying technologies for cloud computing: virtualisation, data-centre scale computation
  • History of the adoption of these technologies, and reasons for the success of cloud computing
  • Service models: infrastructure, platform, and software as services
  • Performance metrics and accounting technologies
  • Cloud architecture: parallelism for data-centre scale computation
  • Security for cloud architectures: security barriers, authentication, and anonymity
  • Economic considerations
  • Ethics: sustainability, anonymity, the risks of a big data society
  • How to run and manage sample cloud services (hands on experience)
  • Select and justify the cloud delivery model that is most appropriate for a specific application, given particular business goals
  • Analyse and compare technological solutions from multiple cloud providers for a specific application
  • Design cloud applications that combine multiple middle-ware components to deliver a global service
  • Run and manage sample cloud services
ECS775P Security EngineeringECS775PLevel 7 modules (Final year)Sem 215

Cloud Computing has transformed how services and applications are delivered.

Thanks to the rise of virtualisation technology and new programming paradigms, applications can quickly be delivered to a growing audience, without the need to physically own and configure the infrastructure. The Cloud Computing module will cover the main characteristics of Cloud Computing, including the enabling technologies, main software and service paradigms underpinning it, as well as related aspects, namely security, privacy, and ethical concerns.

Topics covered include:

  • The underlying technologies for cloud computing: virtualisation, data-centre scale computation
  • History of the adoption of these technologies, and reasons for the success of cloud computing
  • Service models: infrastructure, platform, and software as services
  • Performance metrics and accounting technologies
  • Cloud architecture: parallelism for data-centre scale computation
  • Security for cloud architectures: security barriers, authentication, and anonymity
  • Economic considerations
  • Ethics: sustainability, anonymity, the risks of a big data society
  • How to run and manage sample cloud services (hands on experience)
  • Select and justify the cloud delivery model that is most appropriate for a specific application, given particular business goals
  • Analyse and compare technological solutions from multiple cloud providers for a specific application
  • Design cloud applications that combine multiple middle-ware components to deliver a global service
  • Run and manage sample cloud services
ECS654U Advanced Control SystemsECS654ULevel 6 modules (Final year)Sem 215

Topics covered in this module include:

Laplace transforms:

  • definition
  • derivation for standard functions
  • linearity
  • differentiation theorem
  • solving first and second order differential equations using Laplace transform method
  • transient response
  • application to RC and LRC circuits
  • partial fraction decomposition
  • generalised s-plane impedance method
  • transfer function for multiple loop/node circuits
  • op-amp systems
  • translational mechanical systems
  • rotational mechanical systems.
ECS778P Advanced Control SystemsECS778P Level 7 modules (Final year)Sem 215

Topics covered in this module include:

Laplace transforms:

  • definition
  • derivation for standard functions
  • linearity
  • differentiation theorem
  • solving first and second order differential equations using Laplace transform method
  • transient response
  • application to RC and LRC circuits
  • partial fraction decomposition
  • generalised s-plane impedance method
  • transfer function for multiple loop/node circuits
  • op-amp systems
  • translational mechanical systems
  • rotational mechanical systems.
ECS652U CompilersECS652ULevel 6 modules (Final year)Sem 215

A compiler is a tool that translates programs written in a high-level language (such as Java or C) into programs written in a low-level language or machine code. Programmers routinely use compilers. In this module, you will learn about design and implementation of modern compilers.  

The coursework includes programming assignments, each of which builds a different component of the compiler. At the end of the module, you will have implemented a working compiler from basic blocks and templates provided.

ECS651U Computability, Complexity and AlgorithmsECS651ULevel 6 modules (Final year)Sem 10

The aim of this course is to familiarise you with the core of Computer Science. The course covers classical results on computability by Alan Turing, as well as some of the most influential and celebrated results in the theory of complexity of algorithms.

A large part of the course will focus on the NP versus P problem as well as other famous unsolved problems in Computer Science. The issue of how one programming problem can be disguised as another apparently very different problem is considered - an idea that is crucial in designing algorithms and plays a central role in the theory of NP-completeness.

Topics covered will include: 

  • Turing Machines and Computability
  • Time Complexity, Space Complexity, NP-completeness, public key cryptography
  • 'the argumentation algorithms for finding maximal flow in a commodity network'
  • 'algorithm for 2SAT'
  • 'Davis-Putnam algorithm'
  • various sorting algorithms (quick sort, merge sort, insertion sort)
  • dynamic algorithms.
ECS650U Semi-structured Data and Advanced Data ModellingECS650ULevel 6 modules (Final year)Sem 115

In this module, you will learning about the following aspects of the processing of semi-structured data:
1. XML
2. Advanced Databases
3. NoSQL

In the XML part of the module, you will learn:
1. to process XML (with XSLT and Java) and
2. to model data with XML (XML native and RDF), and
2. to query XML data (with XQuery).

The module teaches many concepts of data modelling and knowledge representation that are beyond the syntactic issues of XML or RDF.
 
The second part of the module is dedicated to advanced database concepts including: Physical database design, performance tuning and query optimisation; Distributed database management systems.
 
The third part of the module covers the modern, agile world
of data processing: NoSQL. It is about the processing of semi-structured data, transforming data streams into generic formats (triplets, JSON)
to be processed by modern (light-weight) DB systems (e.g. document-oriented databases such as MongoDB and CouchDB).
 
The knowledge you will acquire in the course is fundamental
to many data design and data analytics tasks including performance tuning, (data science and data mining).

ECS789P Semi-structured Data and Advanced Data ModellingECS789P Level 7 modules (Final year)Sem 115

In this module, you will learning about the following aspects of the processing of semi-structured data:
1. XML
2. Advanced Databases
3. NoSQL

In the XML part of the module, you will learn:
1. to process XML (with XSLT and Java) and
2. to model data with XML (XML native and RDF), and
2. to query XML data (with XQuery).

The module teaches many concepts of data modelling and knowledge representation that are beyond the syntactic issues of XML or RDF.
 
The second part of the module is dedicated to advanced database concepts including: Physical database design, performance tuning and query optimisation; Distributed database management systems.
 
The third part of the module covers the modern, agile world
of data processing: NoSQL. It is about the processing of semi-structured data, transforming data streams into generic formats (triplets, JSON)
to be processed by modern (light-weight) DB systems (e.g. document-oriented databases such as MongoDB and CouchDB).
 
The knowledge you will acquire in the course is fundamental
to many data design and data analytics tasks including performance tuning, (data science and data mining).

ECS649U Electrical Machines and SystemsECS649U Level 6 modules (Final year)Sem 215

This module introduces the principles of electrical supply system, generation, transmission and distribution. The module will cover three-phase systems, AC balanced/unbalanced power systems, and how the power is transferred from supply generation to domestic consumers. It further introduces the protection in power systems, smart grid and high-voltage DC line.  

ECS790P Electrical Machines and SystemsECS790P Level 7 modules (Final year)Sem 215

This module introduces the principles of electrical supply system, generation, transmission and distribution. The module will cover three-phase systems, AC balanced/unbalanced power systems, and how the power is transferred from supply generation to domestic consumers. It further introduces the protection in power systems, smart grid and high-voltage DC line.  

ECS647U Bayesian Decision and Risk AnalysisECS647ULevel 6 modules (Final year)Sem 215

The role of software is increasingly critical in our everyday lives and the accompanying risks of business or safety critical systems failure can be profound.

This course will provide you with a framework for articulating and managing the risks inherent in the systems you will develop as practitioners. You will learn how to build decision support tools for uncertain problems in a variety of contexts (legal, medical, safety), but with a special emphasis on software development. This course will make a distinctive offering that will enable you to bring a principled approach to bear to analyse and solve uncertain and risky problems.
 
* Note that this module is dual level, i.e. is taught at both levels 6 and 7. The assessment for the level 6 and 7 variants differs by at least 1/3, either in coursework or exam components, with the higher level variant testing the more advanced learning objectives noted in the relevant module descriptor. Any student who has already studied the level 6 variant may not subsequently study the equivalent level 7 variant.

ECS773P Bayesian Decision and Risk AnalysisECS773PLevel 7 modules (Final year)Sem 215

The role of software is increasingly critical in our everyday lives and the accompanying risks of business or safety critical systems failure can be profound.

This course will provide you with a framework for articulating and managing the risks inherent in the systems you will develop as practitioners. You will learn how to build decision support tools for uncertain problems in a variety of contexts (legal, medical, safety), but with a special emphasis on software development. This course will make a distinctive offering that will enable you to bring a principled approach to bear to analyse and solve uncertain and risky problems.
 
* Note that this module is dual level, i.e. is taught at both levels 6 and 7. The assessment for the level 6 and 7 variants differs by at least 1/3, either in coursework or exam components, with the higher level variant testing the more advanced learning objectives noted in the relevant module descriptor. Any student who has already studied the level 6 variant may not subsequently study the equivalent level 7 variant.

ECS645U Microwave and Millimetrewave Communications SystemsECS645ULevel 6 modules (Final year)Sem 215

This course is intended to equip you with a basic understanding of the components and operation of modern analogue and digital electronic communication systems: radio-frequency amplifiers, oscillators, filters, modulators and demodulators, etc.

Topics covered will include:

  • Introduction to microwave and millimetrewave communications systems
  • RF spectrum - Applications; Assigned radio bands; Atmospheric absorption bands
  • Recap of Microwave and millimetrewave structures and devices - Passive devices (lumped elements and transmission lines); Active devices (BJT, FET, etc)
  • Computer Aided Design (CAD)
  • Modulation and demodulation - AM, FM principles, Digital modulation, Modulation and demodulation circuits
  • Noise and nonlinear distortion
  • Active RF front-end components - Amplifiers; Mixers and oscillators; Phase locked loops, frequency synthesisers and automatic gain control
  • Microwave systems - Systems aspects of antennas; Link budget and margin; System noise
  • Digital communications systems - Digital transmitters and receivers.

ECS758P Microwave and Millimetrewave Communications SystemsECS758PLevel 7 modules (Final year)Sem 215

This course is intended to equip you with a basic understanding of the components and operation of modern analogue and digital electronic communication systems: radio-frequency amplifiers, oscillators, filters, modulators and demodulators, etc.

Topics covered will include:

  • Introduction to microwave and millimetrewave communications systems
  • RF spectrum - Applications; Assigned radio bands; Atmospheric absorption bands
  • Recap of Microwave and millimetrewave structures and devices - Passive devices (lumped elements and transmission lines); Active devices (BJT, FET, etc)
  • Computer Aided Design (CAD)
  • Modulation and demodulation - AM, FM principles, Digital modulation, Modulation and demodulation circuits
  • Noise and nonlinear distortion
  • Active RF front-end components - Amplifiers; Mixers and oscillators; Phase locked loops, frequency synthesisers and automatic gain control
  • Microwave systems - Systems aspects of antennas; Link budget and margin; System noise
  • Digital communications systems - Digital transmitters and receivers.

ECS644U Microwave and Millimetrewave ElectronicsECS644ULevel 6 modules (Final year)Sem 115

This module will examine the principles and fundamentals of high frequency circuits in modern electronics, for analysis and design of microwave and millimetrewave systems. The module will provide you with practical and hands-on experience in design analogue microwave and millimetrewave electronic circuits. You will understand and apply concepts from: physics and materials; distributed circuit design with passive and active components; computer aided design (CAD); fabrication and testing techniques.

Topics covered will include:

  • Mathematical equations that describe transmission line propagation
  • Smith chart to analyse transmission line circuits and to design matching circuits
  • Use of S-parameters
  • Operation of basic transmission line components
  • Design a simple amplifier
  • Principles of a microwave super-heterodyne receiver
  • Design a basic microwave front-end receiver using a microstrip circuit
  • Use a CAD system to analyse simple passive and active circuits, design simple filters, design a simple transistor amplifier.
  • Use a vector network analyser and reflection/transmission test set to measure device properties.
  • Use a vector network analyser and S-parameter test set to measure S-parameters of devices for characterisation from microwave to millimetrewave frequencies.
  • Analyse the performance and application of microwave and millimetrewave electronic circuits.
ECS752P Microwave and Millimetrewave ElectronicsECS752P Level 7 modules (Final year)Sem 115

This module will examine the principles and fundamentals of high frequency circuits in modern electronics, for analysis and design of microwave and millimetrewave systems. The module will provide you with practical and hands-on experience in design analogue microwave and millimetrewave electronic circuits. You will understand and apply concepts from: physics and materials; distributed circuit design with passive and active components; computer aided design (CAD); fabrication and testing techniques.

Topics covered will include:

  • Mathematical equations that describe transmission line propagation
  • Smith chart to analyse transmission line circuits and to design matching circuits
  • Use of S-parameters
  • Operation of basic transmission line components
  • Design a simple amplifier
  • Principles of a microwave super-heterodyne receiver
  • Design a basic microwave front-end receiver using a microstrip circuit
  • Use a CAD system to analyse simple passive and active circuits, design simple filters, design a simple transistor amplifier.
  • Use a vector network analyser and reflection/transmission test set to measure device properties.
  • Use a vector network analyser and S-parameter test set to measure S-parameters of devices for characterisation from microwave to millimetrewave frequencies.
  • Analyse the performance and application of microwave and millimetrewave electronic circuits.
ECS643U Power ElectronicsECS643U Level 6 modules (Final year)Sem 115

Power Electronics is becoming increasingly important in the gird interface of renewable energy sources and electrical conversion in electrical vehicles.

This module provides fundamental knowledge of a power electronic system including: power switching semi-conductors (Power diodes, Thyristors, MOSFETs, IGBTs); power conversion circuits (rectifiers, inverters, dc-dc & ac-ac converters); power factor correction converters, and PWM switching methods. The module is mainly focused on the design of power electronic circuits including modelling (in Matlab/Simulink), control systems and their magnetics.

 

ECS643P Power ElectronicsECS643P Level 6 modules (Final year)Sem 115

Power Electronics is becoming increasingly important in the gird interface of renewable energy sources and electrical conversion in electrical vehicles.

This module provides fundamental knowledge of a power electronic system including: power switching semi-conductors (Power diodes, Thyristors, MOSFETs, IGBTs); power conversion circuits (rectifiers, inverters, dc-dc & ac-ac converters); power factor correction converters, and PWM switching methods. The module is mainly focused on the design of power electronic circuits including modelling (in Matlab/Simulink), control systems and their magnetics.

 

ECS720P Power ElectronicsECS720P Level 7 modules (Final year)Sem 115

Power Electronics is becoming increasingly important in the gird interface of renewable energy sources and electrical conversion in electrical vehicles.

This module provides fundamental knowledge of a power electronic system including: power switching semi-conductors (Power diodes, Thyristors, MOSFETs, IGBTs); power conversion circuits (rectifiers, inverters, dc-dc & ac-ac converters); power factor correction converters, and PWM switching methods. The module is mainly focused on the design of power electronic circuits including modelling (in Matlab/Simulink), control systems and their magnetics.

 

ECS642U Embedded SystemsECS642ULevel 6 modules (Final year)Sem 115

This module provides a practice-oriented introduction to embedded and real-time systems. The modules aims to be accessible to students from a range of backgrounds, assuming only an enthusiasm for practical software development, a willingness to work with real hardware and good programming.

Practical work will be done using a small micro-controller development board, programmed in C, and industrial development tools. Beyond the purely practical, we will look at the interface between the digital micro-controller and physical sensors and actuators and at the process of analysing, designing and testing systems that react to external events. Systems will be developed both with and without a simple real-time operating system.

The great majority of processors are not part of desktop, server or even mobile computers but are embedded in other equipments, ranging from planes, trains, cars, robots, sensors, domestic appliances and even toys. The aim of the module is to introduce the development of simple embedded systems using a micro-controller, covering all aspects of the development lifecycle.  

The design of these systems encompasses both hardware and software: the central issue is how a sequential processor can implement a system that responds (sufficiently quickly) to multiple external events, received through different interfaces. The software engineer is challenged to think about the reality of hardware and the interface from the computer to the external environment; the electronic engineer is challenged to think more about abstract models of systems and the appropriate organisation of complex software.

ECS714P Embedded SystemsECS714PLevel 7 modules (Final year)Sem 115

This module provides a practice-oriented introduction to embedded and real-time systems. The modules aims to be accessible to students from a range of backgrounds, assuming only an enthusiasm for practical software development, a willingness to work with real hardware and good programming.

Practical work will be done using a small micro-controller development board, programmed in C, and industrial development tools. Beyond the purely practical, we will look at the interface between the digital micro-controller and physical sensors and actuators and at the process of analysing, designing and testing systems that react to external events. Systems will be developed both with and without a simple real-time operating system.

The great majority of processors are not part of desktop, server or even mobile computers but are embedded in other equipments, ranging from planes, trains, cars, robots, sensors, domestic appliances and even toys. The aim of the module is to introduce the development of simple embedded systems using a micro-controller, covering all aspects of the development lifecycle.  

The design of these systems encompasses both hardware and software: the central issue is how a sequential processor can implement a system that responds (sufficiently quickly) to multiple external events, received through different interfaces. The software engineer is challenged to think about the reality of hardware and the interface from the computer to the external environment; the electronic engineer is challenged to think more about abstract models of systems and the appropriate organisation of complex software.

ECS701P/ECS701U Communication TheoryECS701P/ECS701ULevel 7 modules (Final year)Sem 115

This module introduces the basic principles of modern communication systems.

The primary objective is to provide fundamental tools and methodologies used in modelling, analysing and simulating analog and digital communication systems.

Topics covered will include:

  • signal representation and spectral analysis
  • probability theory and random processes
  • detection and estimation of analog 
  • digital systems in the presence of noise
  • Simulations are performed using Matlab.

 

ECS702P/ECS702U Mobile and WLAN TechnologiesECS702P/ECS702U Level 7 modules (Final year)Sem 115

This module provides a rigorous and in depth study of commercially deployed mobile cellular and wireless local/personal area communications technologies.

Topics covered will include: reference architectures, physical layer characteristics, multiple access techniques, link and mobility management of 2G/3G cellular networks (GSM, CDMA One, GPRS, UMTS), high-speed packet access (HSPA), Wireless Local Area Networks (WiFi), and Bluetooth.

ECS703P/ECS703U 21st Century NetworksECS703P/ECS703U Level 7 modules (Final year)Sem 115

This module provides an in-depth understanding of the key issues in next generation, all-IP networks. As the module provides timely material, it will be subject to constant minor evolution.

The topics covered include: converged network infrastructures including wired and wireless access networks, IPv6, network virtualization, network design and engineering, Internet traffic and applications, cloud and content delivery, economics and privacy.

 

ECS705P/ECS705U Software and Network Services DesignECS705P/ECS705ULevel 7 modules (Final year)Sem 115

This module will introduce you to the practicalities of programming and problem solving skills using the Java programming language. It will also cover theoretical background necessary to produce usable and efficient programs. It will introduce the key concepts of object-oriented development, the main Java foundation classes and show how they can be reused to enhance software development.

The first half of the course will concentrate on program structures. The second half will cover representation of abstract types such as lists and trees using the types such as records and arrays provided in imperative programming languages.

ECS707P Fundamentals of DSPECS707PLevel 7 modules (Final year)Sem 115

This module will introduce you to the general topic of Digital Signal Processing.

You will be introduced to the behaviour of simple filters as LTI systems, represented by difference equations. Frequency response of these systems leads into the study of Discrete Fourier Transform and simple Spectral Analysis. You will also learn about designing the coefficients of LTI systems so they can be programmed to perform as filters to prescribed magnitude specifications.

ECS708P/ECS708U Machine LearningECS708P/ECS708ULevel 7 modules (Final year)Sem 115

The aim of the course is to give you an understanding of machine learning methods, including pattern recognition, clustering and neural networks, and to allow you to apply such methods in a range of areas.

Topics covered will include:

  • Introduction to Machine Learning
  • Probability and Random Variables
  • Neural Networks
  • Statistical Inference
  • Clustering
  • Hidden Markov Models
  • Independent Component Analysis Applications
ECS709P/ECS709U Introduction to Computer VisionECS709P/ECS709ULevel 7 modules (Final year)Sem 115

Computer vision has made significant progress in recent years. This is largely driven by the recognition that effective visual perception is crucial in understanding images, videos and the environment surrounding an intelligent agent (e.g a robot, a self-driving car, an access control system recognising your face or palm print, or your iPhone). The course will introduce you to the relevant concepts and techniques in computer vision, image processing and pattern recognition.

The module aims to:
•    give an updated account of both established and ongoing research in computer vision. Applications in human face, gesture and visual behaviour recognition will be used to illustrate the workings in some of the state-of-the-art machine vision and imaging systems.

ECS713P/ECS713U Functional ProgrammingECS713P/ECS713ULevel 7 modules (Final year)Sem 115

Recent approaches to systems programming frequently involve functional programming either overtly in the sense that they use modern functional programming languages for rapid prototyping, or more covertly in that they use techniques developed in the functional setting as a way of lending greater structure and clarity to code. This module gives a structured introduction to programming in the modern industrial functional language Haskell, and to techniques such as map-reduce and monadic programming.

The module aims to:
•    give a structured introduction to the language Haskell.
•    familiarise the student with the underlying type structures and the basic programming methodology.
•    exhibit more advanced type structures (such as functors) and programming techniques such as map-reduce and monadic programming, and to illustrate how these are used to give flexible extendible and parallelisable solutions to programming problems.

ECS715P/ECS715U Program SpecificationsECS715P/ECS715ULevel 7 modules (Final year)Sem 115

The aim of the module is to introduce you to some successful logic based techniques and tools used today in Software Engineering and Program Verification. The module will focus on Hoare logic and its application to automatic program verification and on the Spin Model Checker; students will be expected to use them and to understand and compare their capabilities.

 

ECS717P/ECS717U IT ProgrammingECS717P/ECS717ULevel 7 modules (Final year)Sem 115

This module provides an introduction to the principles of programming in the context of designing and constructing complete programs. Programming techniques will be introduced in the Java programming language and practical work will form an integral part of the course and of the assessment of students.

The first half of the course will concentrate on program structures. The second half will cover representation of abstract types such as lists and trees using the types such as records and arrays provided in imperative programming languages.

ECS718P Information SystemsECS718PLevel 7 modules (Final year)Sem 130

This module is for you if you are taking the Computer Science conversion MSc programme as it aims to prepare you for more specialist modules in the second semester.

The module covers two main themes: Systems Analysis and Software engineering and Computer Systems and Networks. You will learn about system complexity and the special challenges of building software systems. You will learn how to analyse system and software requirements, produce object-oriented designs, and learn the principles of how to plan, manage and test systems. You will also learn essential aspects of computer architecture, the hardware/software interface, and computer networks.

You will be introduced to programming in parallel, so that little programming knowledge will be assumed in the first half of the module, more in the second half.

ECS719P Research Methods IECS719PLevel 7 modules (Final year)Sem 215

This module will teach the generic high-level research and transferable skills applicable to pure and applied research in computer science. It will also prepare you for employment or further academic study by enabling you to apply these in relevant, practical contexts.

The module is divided into two overlapping and complementary themes:
•    Material relating to research approaches, methods and techniques in computer science
•    Theory and practice of relevant research-related transferable skills

The module will foster development of:
•    Practical understanding of established approaches, methods and techniques in the context of computer science research;
•    Conceptual understanding that enables critical and rigorous evaluation of current research in the discipline;
•    Ability to communicate ideas and conclusions logically and fluently in both written and oral contexts.

ECS724P/ECS724U Network Modeling and PerformanceECS724P/ECS724ULevel 7 modules (Final year)Sem 215

This module aims to provide you with knowledge of basic probabilistic and queueing theoretic techniques, plus the fundamentals and limitations of simulation modelling and how such knowledge can be exploited and applied in the design and configuration of traffic control mechanisms. The module is an introduction to the fundamental ideas in network science: graph theory, network metrics, network models, network robustness.

Topics covered include:

  • Introduction to the technologies of IP and ATM
  • Introduction to probability theory
  • Queueing theory for telecommunications
  • Traffic models and power law behaviour
  • Types of packet queueing
  • Traffic control
  • QOS and CoS mechanisms
  • Network measurement
  • Service level agreements
  • Fundamental ideas in network science: graph theory, network metrics, network models, network robustness.
ECS725P/ECS725U Mobile ServicesECS725P/ECS725ULevel 7 modules (Final year)Sem 215

This modules will enable you to understand the characteristics, motivation and opportunities for developing mobile user services. It will allow you to appreciate the strengths and weaknesses of developing mobile services using different software architectures and give you an understanding of the development process for creating and maintaining mobile services. This module will also teach you the e-commerce and management issues associated with rapid development and deployment of mobile services.

 

ECS726P/ECS726U Security and AuthenticationECS726P/ECS726ULevel 7 modules (Final year)Sem 215

This module aims to give you an introduction to the principles and practice of cryptography and authentication used for network security.

The course is divided into three parts:

  • Security and Cryptography: An introduction to security and cryptography, encryption and key based algorithms, stream and block ciphers, public key cryptography.
  • Authentication: Authentication requirements, message authentication codes, hash functions, MACs, secure hash algorithm, digital signatures, authentication protocols.
  • Network Security: Authentication applications, Kerberos and X.509, Electronic Mail and PGP (Pretty Good Privacy), IP Security, web security
ECS727P/ECS727U Real-Time and Critical SystemsECS727P/ECS727ULevel 7 modules (Final year)Sem 215

Most computer systems do not sit on desks but are inside machine such as cars and medical devices. The aim of this module is to introduce students to the techniques most commonly use in industrial practice for the analysis and development of real-time and critical systems and the theory behind them. The module builds on undergraduate knowledge of operating systems and software engineering and it encompasses both aspects of real-time system development and of critical system analysis. Though these topics are not necessarily linked (not all real-time systems are critical), some understanding of real-time / embedded systems provides context for the study techniques used for critical systems.

 

ECS728P/ECS728U Business Technology StrategyECS728P/ECS728ULevel 7 modules (Final year)Sem 215

The Business Technology Strategy module is focused on strategic management of research and development and how technology strategy drives the commercial strategy of innovative technology-based organisations. This module complements the technical areas of the degrees by focusing on the telecommunications sector. The increased exposure to and understanding of the benefits of strategic knowledge and thinking will give the graduates a better preparation for management roles within this sector. You will have exposure to theory and practical case studies to develop your strategic skills, with case studies in the International business environment, with specific interest in the UK and Asia.

 

ECS731P/ECS731U Music Analysis and SynthesisECS731P/ECS731ULevel 7 modules (Final year)Sem 215

This module is intended to provide students with advanced training in standard and state-of-the-art techniques for music analysis and synthesis. This knowledge is relevant for the music generation, processing, recording, reproduction and distribution industries, with special emphasis on music-oriented on-line services and the development of software and hardware for musicians, musicologists, sound engineers and producers. Background in digital signal processing is essential for the understanding of analysis and synthesis processes on musical signals.

ECS732P/ECS732U Real-Time DSPECS732P/ECS732ULevel 7 modules (Final year)Sem 215

This module will cover a broad class of principles needed to develop real-time digital signal processing systems, with a particular focus on the constraints of embedded hardware. Example projects will be drawn mostly from audio, but the principles presented are equally applicable to other domains. Students will develop projects on a development kit containing an ARM Cortex-A8 processor, a platform commonly found in mobile devices. This is a project-based module, with the overall mark determined by two smaller assignments and one more extensive final project.


Topics covered will include:

  • theory and principles for implementing DSP algorithms in real time
  • build programming skills for writing real-time DSP software
  • specific embedded hardware platform, making effective use of a large body of manufacturer and community documentation
  • testing and debugging techniques on embedded hardware platforms.


MTH4100 Calculus IMTH4100Level 4 modules (First year)Sem 115

This module is a compulsory module for students on the Computer Science and Mathematics course.

This is the first of three calculus modules, whose collective aim is to provide the basic techniques and background from calculus for the pure, applied and applicable mathematics modules that follow. This module develops the concepts and techniques of differentiating and integrating with supporting work on algebra, coordinate transformations and curve sketching.

MTH4101 Calculus IIMTH4101Level 4 modules (First year)Sem 215

This module is a compulsory module for students on the Computer Science and Mathematics course.

This module is the second of three calculus modules, whose collective aim is to provide the basic techniques from calculus for the pure, applied and applicable mathematics modules that follow. This module introduces complex numbers, infinite series including power series, and develops techniques of differential and integral calculus in the multivariate setting.

MTH4113 Numbers, Sets and FunctionsMTH4113Level 4 modules (First year)Sem 115

This module is a compulsory module for students on the Computer Science with Mathematics course.

This module cover the fundamental building blocks of mathematics (sets, sequences, functions, relations and numbers). It introduces the main number systems (natural numbers, integers, rational, real and complex numbers), outlining their construction and main properties. It also introduces the concepts of definition, theorem, proof and counterexample.

MTH4115 Numbers, Sets and FunctionsMTH4115Level 4 modules (First year)Sem 215

This module is a compulsory module for students on the Computer Science with Mathematics course.

Properties of two- and three-dimensional space turn up almost everywhere in mathematics. For example, vectors represent points in space, equations describe shapes in space and transformations move shapes around in spaces; a fruitful idea is to classify transformations by the points and shapes that they leave fixed. Most mathematicians like to be able to 'see' in special terms why something is true, rather than simply relying on formulas. This model ties together the most useful notions from geometry - which give the meaning of the formulas - with the algebra that gives the methods of calculation. It is an introductory module assuming nothing beyond the common core of A-level Mathematics or equivalent

MTH4118 Introduction to ProbabilityMTH4118 Level 5 modules (Second year)Sem 115

This module is a compulsory module for students on the Computer Science with Mathematics course.

This is module introduces the basic notions of probability theory and develops them to the stage where one can begin to use probabilistic ideas in statistical inference and modelling, and the study of stochastic processes. The first section deals with events, the axioms of probability, conditional probability and independence. The second introduces random variables both discrete and continuous, including distributions, expectation and variance. Joint distributions are covered briefly.

MTH5112 Linear AlgebraMTH5112Level 5 modules (Second year)Sem 115

This module is a compulsory module for students on the Computer Science with Mathematics course.

This module covers concepts in linear algebra and its applications. The ideas for two- and three-dimensional space covered by the appropriate first year module will be developed and extended in a more general setting with a view to applications in subsequent pure and applied mathematics, probability and statistics modules. There will be a strong geometric emphasis in the presentation of the material and the key concepts will be illustrated by examples from various branches of science and engineering.

MTH4104 Introduction to AlgebraMTH4104Level 5 modules (Second year)Sem 20

This module is an introduction to the basic notions of algebra, such as sets, numbers, matrices, polynomials and permutations. It not only introduces the topics, but shows how they form examples of abstract mathematical structures such as groups, rings and fields, and how algebra can be developed on an axiomatic foundation. Thus, the notions of definition, theorem and proof, example and counterexample are described. The module is an introduction to later modules in algebra.

MTH4116 Probability and Statistics IMTH4116 Level 5 modules (Second year)Sem 215

This module develops the theory of probability from the module `Introduction to Probability' and then introduces the fundamental ideas of classical statistics. It covers descriptive statistics, the estimation of population moments using data and the basic ideas of statistical inference, hypothesis testing and interval estimation. These methods will be applied to data from a range of applications, including business, economics, science and medicine. A simple statistics package will be used to perform the calculations.

MTH5100 Algebraic Structures IMTH5100 Level 5 modules (Second year)Sem 215

The modern axiomatic approach to mathematics is demonstrated in the study of the fundamental theory of abstract algebraic structures. Group theory, subgroups, generators, Lagrange's theorem. Normal subgroups, homomorphisms, isomorphism theorems. Ring theory, integral domains. Ideals, homomorphisms and isomorphism theorems. Polynomial rings, Euclidean algorithm, fields of fractions.

DEN4102 Engineering Mechanics: StaticsDEN4102Level 4 modules (First year)Sem 215

This module provides an introduction to the fundamental principles of stress analysis for linearly elastic materials and their application to simple structures. It focuses on the behaviour of structures in particular beams and shafts, and provides underpinning knowledge for a range of analyses on applications relevant to aerospace, mechanical and medical engineering.

DEN4108 Engineering Mechanics: DynamicsDEN4108Level 4 modules (First year)Sem 215

This module provides an introduction to the modelling and analysis of one-degree-of-freedom mechanical systems. It includes analysis of the motion (kinematics) of particles. It then goes on to deal with the forces causing these motions (kinetics) by the application of Newton's laws of motion. After this methods for the solution of the differential equation describing the equation of motion and one-degree-of-freedom vibrations will be studied and this will be applied to the description of vibrations of onedegree-of-freedom mechanical systems.

DEN4123 Mathematics and Computing for EngineersDEN4123 Level 4 modules (First year)Sem 215

This module builds on DEN4122 Mathematics and Computing for Engineers 1 to provide students with knowledge of more advanced mathematical and computing techniques that are essential for Engineering students. Topics covered are basic vector algebra, sequences and series, functions of several variables, ordinary differential equations and multiple integration. Students are introduced to programming techniques using Matlab.

DEN4122 Mathematics and Computing for Engineers DEN4122Level 4 modules (First year)Sem 115

This module provides you with knowledge of basic mathematical and computing techniques that are essential for Engineering students. Topics covered are matrices, linear equations, differentiation, integration, complex numbers and eigenvalues and eigenvectors. You are introduced to command prompt applications of the numerical and symbolic toolboxes of Matlab.

MAT4002 Engineering Design MethodsMAT4002Level 4 modules (First year)Sem 115

This module provides an introduction to some tools used in engineering design, including the use of engineering drawing, the use of CAD in design and the module will include elements of reverse engineering. It also includes a detailed examination of the functional properties of different materials classes that are relevant to aerospace, mechanical and medical engineering.

MAT115 Mathematics for Materials ScientistsMAT115Level 4 modules (First year)Sem 215

This module provide students with knowledge of basic mathematical and computing techniques that are essential for Materials Science students. Topics covered are matrices, linear equations, differentiation, integration, complex numbers and eigenvalues and eigenvectors. Students are introduced to command prompt applications of the numerical and symbolic toolboxes of Matlab.

DEN126 Studio Practice Year 1DEN126Level 4 modules (First year)Sem 130

This module seeks to investigate themes within design and engineering that relate to socio cultural and engineering analysis of "Purpose and Performance". It is intended to introduce students to important aspects of design and engineering as a starting point for the synthesis of ideas and innovations in design and engineering. The briefs set out a framework within which the students generate ideas, rather than being directed toward a conventional design outcome or specialist area. This module will run in parallel with the Context module, and encourage students to engage with and understand the value of discourse within design practice which is an interdisciplinary activity of technical and socio cultural creative thinking.

DEN5101 Design for Manufacture DEN5101 Level 5 modules (Second year)Sem 115

This module will develop strategies to identify product requirements, identify design constraints, think creatively, solve problems and identify solutions. It will examine how 3D CAE can be used to create detailed design drawings, create simple assemblies, manufacture prototypes, real parts and also how analytical models such as finite element analysis can be used to evaluate designs. A wide range of different processing techniques will be examined. Various strategies such as failure mode and effect analysis (FMEA) that can be used to evaluate the design risk, will be described to determine 'safe' design. The role of inspection and statistical process control techniques in ensuring a robust design and manufacturing process will be examined.

DEN5109 Engineering Instrumentation DEN5109 Level 5 modules (Second year)Sem 115

This module is focused on transducers and their uses in engineering control systems. It studies methods of taking measurements, and motor and actuator theory, reviewing important transducer characteristics and the methodology for selecting an appropriate transducer. In relation to this, the module also covers methods of acquiring data from transducers, and effectively processing electronic signals. All aspects of the module content are brought together in a problem based learning exercise, involving the control of a robotic arm.

DEN4102 Engineering Mechanics: StaticsDEN4102 Level 5 modules (Second year)Sem 215

This module provides an introduction to the fundamental principles of stress analysis for linearly elastic materials and their application to simple structures. It focuses on the behaviour of structures in particular beams and shafts, and provides underpinning knowledge for a range of analyses on applications relevant to aerospace, mechanical and medical engineering.

DEN5002 Engineering Materials for DesignDEN5002Level 5 modules (Second year)Sem 215

This module provides an introduction to engineering materials, providing the student with an understanding of how the structure of materials (metals, polymers, ceramics and composites) influences their properties and performance when used in products and how these properties can be improved. It will cover how to structure business and financial plans and how to produce them, as well as providing an understanding of project management methodologies.

DEN5200 Control systems Analysis and DesignDEN5200 Level 5 modules (Second year)Sem 215

This module is focused on the basic principles of control systems analysis and design and its application to engineering systems in relation to mechanical, medical, electro-mechanical and aerospace systems. You will acquire the skill of designing a control system for a particular application. You will also gain practical experience in analysis and design of a typical control system with MATLAB using the theoretical knowledge gained in lectures and problem solving sessions.

MAT5030 Composites for Aerospace ApplicationsMAT5030 Level 5 modules (Second year)Sem 215

The role of composites in modern engineering, in particular aerospace applications will be described which will enable the effective selection of a fibre-resin system for a range of applications . The module will include the manufacture of glass, carbon, aramid and polyethylene fibres, extending to the manufacturing of polymer composites using processes including for example resin transfer moulding, compression moulding and pultrusion. The module will also consider particulate filled composite materials and high temperature metal matrix composite materials. The module will cover the theory that is used to predict the stiffness and strength of composite components, with emphasis on exploring the roles of the three different components encountered in a composite materials of fibre (filler), matrix and the interface. A framework for understanding the cost of manufacture to enable the selection of an appropriate manufacturing technology for a part. Comparisons will be made compare to more traditional materials such as metals, in particular in aircraft applications. Failure modes in composites will be described, non-destructive testing methods such as ultrasonics and strategies towards repair of composite structures will be covered.

DEN212 Studio Practice Module Year 2 Human and Machine DEN212Level 5 modules (Second year)Sem 115

The second year studio practice " Human and Machine " explores how the contemporary designer and engineer can negotiate a changing social, cultural, technological, environmental and political terrain to contextually locate their design activity. It encourages you to adopt a personal, ethical and ideological stance in tackling projects that place their concern within a design and an engineering territory. The module encourages you to synthesize knowledge and understanding gained from previous modules on the programme including; Studio practice, History and theories, Design and meaning, Aspect of engineering and analysis, Methods and processes and Technical studies.

DEN331 Computer Aided Engineering for Solids and FluidsDEN331Level 6 modules (Final year)Sem 115

This is an introductory module in computational modelling. It covers both computational solids and computational fluids. The most widely used methods such the finite element method are covered. The emphasis is on engineering applications with students being exposed to hands on experience of both solids and fluids commercial packages

DEN5302 Neuromuscular Bioelectricty and BiomechanicsDEN5302 Level 6 modules (Final year)Sem 115
DEN6336 Modelling and Control of Mechanical SystemsDEN6336Level 6 modules (Final year)Sem 115

This module builds upon the control and dynamics modules of earlier years to prepare the students for more advanced methods. Modelling of mechanical systems using the Euler-Lagrange and Hamiltonian methods is introduced. Holonomic and nonholonomic constraints are introduced and used in the modelling of mobile robots. Modern nonlinear control methods for mechanical systems are introduced.

MAT307 Innovation StrategyMAT307 Level 6 modules (Final year)Sem 115

This is an important subject for everyone who has an interest in business and wants to understand how innovation can affect the success and failure of firms. Successful innovation is a very complex process and has to be very carefully managed. There is no 'right way' to manage innovation. Therefore it is important to analyse the innovation process from a range of different perspectives, for example, the role of the state in innovation and the core competencies of the firm.