Courses Descriptions in Year 1
Linear Algebra
 Mathematical operations with matrices (addition, multiplication)
 Matrix inverses and determinants
 Solving systems of equations with matrices
 Euclidean vector spaces
 Eigenvalues and eigenvectors
 Orthogonal matrices
 Positive definite matrices
 Linear transformations
 Projections
 Linear dependence and independence
 Singular value decomposition
Calculus (Science and Engineering)
 Introduction
 Real numbers and the completeness axiom
 Mathematical induction
 Some inequalities
 Integral Calculus
 Functions
 Area as a set function and step functions
 Integrals of step functions
 Integrals of general functions
 Integrals of monotonic functions
 Integrals of powers and polynomials
 Properties of the integral
 Applications of Integration
 Area between two graphs
 Integrating trig functions
 Integrals in polar coordinates
 Calculation of volume
 Work and average value
 Indefinite integrals
 Continuous Functions
 Limits of functions
 Continuity
 Properties of limits
 Composite functions and continuity
 Intermediate value theorem
 Inverse functions and their properties
 Extrema and uniform continuity
 Integrability of continuous functions
 Differential Calculus
 Differentiating a function
 Algebra of derivatives
 The derivative as a slope
 The chain rule
 Applications of the chain rule
 Extreme values of functions
 The mean value theorem
 First and second derivative tests
 Curve sketching
 Integration and Differentiation
 The derivative of an indefinite integral
 Primitive functions
 Integration by substitution
 Integration by parts
 The Logarithm, The Exponential, and Inverse Trigonometric Functions
 Definition of logarithm as an integral
 Differentiation and integration formulas
 The exponential function
 Differentiation and integration formulas
 Inverse trigonometric functions
Physics II: Introduction to Electromagnetism
 Ampere’s law
 Magnetic core
 Magnetic circuit – the constant B field approximation
 Magnetic field created by a current
 Force exerted by magnetic field
 Closed magnetic circuit
 Force between electromagnets
 Ohmic heating
 Inductive voltage spikes
 Lorentz forces
 Core losses
 Highfield electromagnets
 Superconducting electromagnets
 Bitter electromagnets
 Explosively pumped flux compression
Courses Descriptions in Year 2
Electrical Circuits I
 Singlestage amplifier configurations with emphasis on MOS, other technologies (e.g. BJT) for comparison
 Multistage amplifiers, cascode, Darlington connections
 Differential pairs, differential and common mode responses, commonmode rejection
 Transistor current sources, current mirrors, cascading
 Supply and temperature independent biasing and references
 Frequency response
 Parasitic capacitances in transistors
 Bode plot
 Gainbandwidth product
 Approximation techniques and the zerovalued time constant approach
 Feedback concepts
 Series and shunt configurations
 Feedback network loading
 Gain desensitization and input/output impedance modification
 Analysis of general purpose single and multistage transconductance and operational amplifiers
 Stability, phase and gain margin
 Compensation of amplifiers with feedback, pole splitting
 Slew rate in operation amplifiers
 Role and use of CAD tools such as SPICE in design process
**Engineering Mathematics **
This course is about the mathematics that is most widely used in the mechanical engineering core subjects: An introduction to linear algebra and ordinary differential equations (ODEs), including general numerical approaches to solving systems of equations. Topics covered include linear systems of equations, existence and uniqueness of solutions, Gaussian elimination. Initial value problems, 1st and 2nd order systems, forward and backward Euler, and the RungeKutta method (RK4). The course also covers eigenproblems: eigenvalues and eigenvectors, including complex numbers, functions, vectors and matrices. MATLAB is used in this course.
Introduction to Programming in Java

OOPS concepts (Data Abstraction, Encapsulation, Inheritance, Polymorphism)

Basic Java constructs like loops and data types

String handling

Collection framework

Multithreading

Exception handling

Generics

Synchronisation

Serialisation & Deserialisation

Concurrent collection

JDBC (Java Database Connectivity)

Servlet

JSP

Spring (MVC, Core, JDBC, ORM, AOP)

Hibernate ORM framework

Struts

JSF

Web Services (SOAP & REST)
**Computer Systems **

Operating System Design and Implementation

Compiler Design

Parallel Computer Architecture and Programming

Distributed Systems

Computer Networks

Database Systems

Cloud Computing

Embedded Systems

Introduction to Computer Security

Operating System Practicum

Database Applications

Advanced Operating Systems and Distributed Systems

Advanced Cloud Computing

Advanced Database Systems

Computer Architecture

Computer Networks

Optimizing Compilers for Modern Archiectures

Storage Systems

Mobile and Pervasive Computing

Building User Focused Sensing Systems

Logic Design and Verification

Introduction to Embedded Systems

Introduction to Computer Architecture
Digital Electronics I
 Number System and Representation
 Programs
 Boolean Algebra and Logic Gates
 Gate Level Minimization
 Combinational Logic Circuits
 FlipFlops and Sequential Circuits
 Register and Counters
 Memory and Programmable Logic
 Data Communication
Integrated Electronics and Design
 System Specification
 Feasibility study and die size estimate
 Function analysis
 Architectural or System Level Design
 Logic Design
 Analogue Design, Simulation & Layout
 Digital Design & Simulation
 System Simulation & Verification
 Circuit Design
 Digital design synthesis
 Design For Test
 Automatic test pattern generation
 Design for manufacturability (IC)
 Physical Design
 Floorplanning
 Place and Route
 Parasitic Extraction
 Physical Verification & Signoff
 Static timing
 Cosimulation and timing
 Mask data preparation
 Chip finishing with Tape out
 Reticle layout
 Layouttomask preparation
 Wafer fabrication
 Packaging
 Die test
 Post silicon validation and integration
 Device characterization
 Tweak (if necessary)
 Chip Deployment
 Datasheet generation
 Ramp up
 Production
 Yield Analysis / Warranty Analysis
 Failure analysis on any returns
 Plan for next generation chip using production information if possible
**Introduction to Databases **
 An introduction to databases (why, what, and DBMS).
 The fundamentals of the databases.
 The database design process.
 Normalization.
 The structured query language (SQL).
 Indexing, Transactions & Stored Procedures.
 The different types of databases.
**C++ Programming & Software Engineering II **
 Bitwise operations
 Executive environment
 Recursion
 Advanced array and pointer concepts
 Storage map equations
 Dynamic pointer array allocation
 State diagrams and state machines
 Sorting and searching
 Lists, trees and hashings
 Data representation and portability
 Locating records within files
 Variable argument functions
 Nonlocal gotos
Engineering Mathematics II
 Foundation material in probability and statistical inference.
 Topics include sample spacesconditional probability and Bayes’ rule, random variables, discrete and continuous probability distributions, expectation, estimation, and hypothesis testing.
Courses Descriptions in Year 3
SOFTWARE ENGINEERING I
 Introduction (1 lecture) What is software engineering; the goals of software engineering; Why is software engineering important commercial considerations
 Software processes (2 lectures) Waterfall Model, Evolutionary development, Formal systems development, Reuse oriented development, risk analysis
 Requirement analysis (5 lectures) what are requirements and why are they important requirements elicitation and validation user and system requirements functional/nonfunctional requirements security analysis and requirements techniques for describing system requirements
 System models (3 lectures) Behavioural modelling, data modelling, and object modelling
 Formal specification (2 lectures) formal specification in the software process formal specification languages Design and
 Design Methodologies (4 lectures) design of software components and devices modularity as a tool for handling complexity unit versus system design properties of good design (cohesion, loose coupling,…) topdown design and its problems safety, correctness and security
 Concepts of ObjectOriented Design (2 lectures) objects and classes public and private aspects of objects inheritance, aggregation and composition
 Unified Modelling Language (5 lectures) what is UML?  brief history object oriented analysis with UML : use cases object oriented analysis with UML : concept diagrams object oriented design with UML : collaboration diagrams object oriented design with UML : object models object oriented design with UML : state charts
 Software Testing (3 lectures) black box testing generating test cases: boundary analysis, equivalence partitioning white box testing security testing
 Software projects (3 lectures) Overview of project stages, areas of risk in each stage Establishing a business case; establishing project objectives, goals, and measures of success Project planning and estimation; critical path analysis, risk identification Project monitoring; monitor and control finances; control, assure, and manage quality.
DATABASE DEVELOPMENT
 Advanced SQL topics (2 lectures): Triggers, indexes and materialised view
 Query optimisation (3 lectures): Relational Algebra Transaction management (9 lectures): Transaction management, recoverability and security
 Object relational databases (3 lectures): Structure and economic factors in their deployment
 Distributed databases (3 lectures): Models and security issues
 Web technologies and DBMS (6 lectures): Semistructured databases and connectivity
 Data warehousing and data mining (4 lectures): Platforms, security and commercial aspects
DISTRIBUTED SYSTEMS

Introduction to Distributed Systems (23 lectures)
Examples of modern and traditional distributed systems and applications
Goals and types of distributed systems
Introduction to models and algorithms for distributed systems 
Communication (4 lectures)
Layered protocols
Remote procedure calls & object invocation
Message & streamoriented communication 
Broadcast (23 lectures)
Simple broadcast over a spanning tree
Broadcast from a specified root
Broadcast algorithms and their analysis 
Leader Election (23 lectures)
In a ring
In general networks
Leader election algorithms and their analysis 
Architecture and Processes (12 lectures)
Clients & servers
Other Architectures 
Naming (12 lectures)
Namespaces
The Domain Name System (DNS) 
Synchronisation and Concurrency (34 lectures)
Logical clocks & clock synchronisation
Mutual exclusion
Distributed transactions 
Consistency and replication (12 lectures)
Overview of consistency models
Distribution protocols
Consistency protocols 
Fault tolerance (23 lectures)
Failure masking by redundancy
Reliable clientserver communication
Distributed Commit protocols
Recovery
Algorithms for consensus with link and processor failures 
Security (12 lectures)
Security mechanisms
Encryption
COMMUNICATION SYSTEMS

Basic Knowledge:
Communication systems; analogue and digital systems; signal bandwidth; signal to noise ratio; channel capacity; tradeoffs in communication system design and modulation. 
Amplitude Modulation:
General idea of AM modulation; DSBLC, DSBSC, SSB and VSB modulations; modulation index; bandwidth and spectrum; AM demodulation; comparison of different AM systems in terms of power efficiency and bandwidth. 
Angle Modulation :
Frequency modulation (FM) and phase modulation (PM); narrowband FM and PM; Carson’s rule; modulation index; bandwidth and spectrum; generation and demodulation of FM signals. 
Sampling:
Sampling theorem; signal reconstruction and aliasing. 
Pulse Modulation:
Quantising, encoding and line coding; pulse code modulation (PCM); PAM, PWM and PPM and comparison of different pulse modulation methods. 
Digital Modulation:
Digital data transmission; BASK, BFSK and BPSK and comparison of different digital modulation methods. 
Multiplexing:
Frequency division multiplexers (FDM); Time division multiplexers (TDM).
INSTRUMENTATION & CONTROL

Introduction to instrumentation systems: Terminology; transducer specifications.

Measurement of temperature: Thermocouples and resistive thermometers.

Measurement of strain: Strain gauges, measurement of tensile and bending strain. Temperature compensation and signal conditioning.

Measurement of displacement and level: Linear and rotary displacement transducers: capacitive, inductive, optical. The LVDT, synchroresolvers and fuel tank senders.

First and second order response of systems: Application to step and sinusoidal response of transducers: temperature transducers, accelerometers.

The transmission path: Bandwidth requirements of analogue and digital paths, quantization error, principles of AD and DA conversion.

Signal processing techniques: Sources of interference noise, filtering and noise reduction methods, error correcting codes, the ARINC429 databus.

Solving exam problems from previous years.

Introduction: Function, architecture, history and applications of a control system. Openloop and closedloop systems. Mathematical model of a control system.

Control system modelling: Laplace transforms, Transfer function, Characteristic equations, Poles and zeros. Statespace model. Transformation between transfer function and state space model. Singleinput singleoutput system and multiinput and multioutput system. Components and their underlying mathematics of block diagrams. Block diagram manipulation and reduction. Closedloop transfer function of a negative feedback control system.

Control System performance: How to use Laplace Transform to solve the time response of a dynamic system. Typical input signals. Firstorder system and secondorder system. Generalized secondorder system.

Steady state response design: General steady state response, steadystate accuracy and errors. System characterization by order and type number.

Simple control system design: Three term PID controller. Finding open and closed loop poles and zeros. Pole and zero placement design for a PID controller.

System stability: Stability and instability. Relationship between poles location and stability. RouthHurwitz stability criteria.

Control system design: Root locus diagram representation for a closed loop system with variable gain. Design of a control system via Root Locus.

Frequency response: Experimental and theoretical determination of frequency response. Nyquist stability criterion. Diagrammatic representations using Nyquist and Bode plots. Phase and gain margins.

Frequency response design: Frequency response of PI, phaselead and phaselag compensators. Comining controller and process frequency responses. Optimising controller parameters.
DIGITAL ELECTRONICS & MICROPROCESSOR SYSTEMS

Multiplexers, Decoders and ROM; Latches and FlipFlops; Programmable Logic Devices (PLD); Registers and Counters; Analysis of Clocked Sequential Circuits; Sequential Circuit Design; Introduction to AHDL and Quartus for design and simulation; Algorithmic State Machine Design ASM Design, Methods and Pitfalls QuineMcCluscky Method.

MICROPROCESSOR SYSTEMS: Revision of binary, hexadecimal and ASCII.

Basic Microprocessor Organisation: CPU, ALU and memory. Data address and control buses. Fetch, decode, execute. Registers Basic instructions  moving data, mathematical and logical operations.

Assembly language programming: Mnemonics. Addressing modes. Program counter and branches. Conditional instructions and flags. Negative number representations. Use of the carry, overflow and zero flags. Floating point numbers (IEEE 794). Branch and link  link register. Stacks and stack pointer. Interrupts.

Advanced microprocessor architecture: Instruction pipelines. Von Neuman/Harvard architectures. Memory cache. Memory addressing. Memory mapped input and output. ARM processor modes. Exception handling.
PROJECT, PROBLEM SOLVING & INDUSTRIAL AWARENESS

A series of oneday experiments in the laboratory in the first semester, designed to complement the taught material in other modules, assessed by means of a formal report or workbook.

A series of weekly hourlong industrial seminars, relating to aspect of eingineering not directly addressed in their taught curriculum.

A lecture on sustainable development in the context of group project work.

A 4 week project carried out in the second semester. The aim of the project is to provide students with practical work which underpins, confirms and gives an application focus for academic study, while testing a wide range of skills.
SIGNALS AND SYSTEM

Continuoustime signals & systems
Introduction to signals & systems: Signal Classification, Representation and Analysis; Signals classification as periodic/aperiodic; causal/noncausal; deterministic/random; finite energy/finite power; analogue and digital signals. 
Fourier Series: Time and frequency domain description of signals; Trigonometric and complex exponential Fourier series; Symmetry and timeshifting properties and Amplitude and power spectra.

Fourier Transform: Fourier transform and inverse transform; Spectral density; Convolution theory; Fast Fourier transform and Examples.

Laplace Transform: Laplace transform and inverse Laplace transform; Properties including linearity, timediffentiation and integration; Generalisation of the Fourier transform.

Linear Timeinvariant (LTI) Systems and Filters:
Definition of an LTI system; convolution integral; impulse response; step response; frequency response; transfer function; use of Fourier transform and Laplace transform, stability, poles and zeros and Filters. 
Discretetime signals & systems:
Introduction; Overview of Discretetime Signals & Systems; Discrete Time Fourier Series; Discrete Time Fourier Transform; Ztransform; Discretetime Linear Time Invariant (DTLTI) Systems.
ELECTRONIC CIRCUITS AND SYSTEMS
 Small signal amplifiers: Hybrid  pi model of the bipolar junction transistor. Small signal analysis of the basic single transistor amplifier configurations of multistage amplifiers. Simple design exercises validated by circuit simulation to reinforce theory: CE amp for a given voltage gain; twostage amplifier for given voltage gain and input resistance.\
 Differential amplifier: Basic properties of the differential amplifier and quiescent analysis. Differential and common mode gains, common mode rejection ratio, input resistance. Simple design exercise  select Rvalues for given specification.
 Current mirrors: Basic property as a constant current source. Current repeater. Output resistance. Widlar current mirror  ac and dc analysis to highlight design principles. Differential amplifier with constant current source. Temperature compensation
 Active loads: Current sources as active loads. Differential amplifier with active load.
 High frequency amplifiers: Common emitter transistor short circuit current gain. Transition frequency. Miller’s theorem, Miller effect. Voltage gain of common emitter and common source amplifiers. Effect of collector current, collector load and source resistance on high frequency response. Step response: rise and fall times.
 Transistor circuit operation: Appraisal of transistor circuit operation and sensitivity to device parameter variation. Demonstration of improvement using feedback.
 Negative Feedback: Negative feedback, topologies, equivalent circuits, analysis techniques in circuits containing feedback
 Operational amplifier systems: Operational amplifier and opamp systems: virtual source principle, offsets, role of feedback in operation: Rin, Rout, loop gain, bandwidth, distortion. Examples of the design of of simple functional blocks. A formative design exercise based on an opamp circuit. Overview and hints for tackling Expt 5  Design of an opamp to a given specification with the aid of SPICE simulation
 Operational amplifier limitations: Opamp limitations, slew rate limitations, model of an opamp including voltage and current offsets. Practical design tips.
Courses Descriptions in Year 4
MULTIAGENT SYSTEMS

Introduction (1 week)
 What is an agent? Agents and objects; agents and expert systems; agents and distributed systems; typical application areas for agent systems.

Intelligent Agents (3 weeks)
 The design of intelligent agents – reasoning agents (eg AgentO), agents as reactive systems (eg subsumption architecture); hybrid agents (eg PRS); layered agents (eg Interrap).
 A contemporary (Javabased) framework for programming agents (eg the Jack language, the JAM! system)

MultiAgent Systems (5 weeks)
 Classifying multiagent interactions – cooperative versus noncooperative; zerosum and other interactions; what is cooperation? How cooperation occurs – the Prisoner’s dilema and Axelrod’s experiments; (1 week).
 Interactions between selfinterested agents: auctions & voting systems: negotiation; (2 weeks)
 Interactions between benevolent agents: cooperative distributed problem solving (CDPS), partial global planning; coherence and coordination; (1 week)
 Interaction languages and protocols: speech acts, KQML/KIF, the FIPA framework. (1 week)

Advanced topics (2 weeks)
 One issue selected from the contemporary research literature, perhaps by guest lecturer.
INTRODUCTION TO COMPUTATIONAL GAME THEORY

Introduction: Making rational choices: what is a game? strategy, preferences, payoffs; basic solution concepts; noncooperative versus cooperative games; basic computational issues: finding equilibria and learning in games; typical application areas for game theory (e.g. Google’s sponsored search, eBay auctions, electricity trading markets). (4 lectures)

Games with Perfect Information: strategic games (prisoner’s dilemma, matching pennies); Nash equilibria: theory and illustrations (Cournot’s and Bertrand’s models of oligopoly, auctions); information about linear programming; mixed strategy equilibrium; zerosum games; basic computational issues. (9 lectures)

Extensive Games with Perfect Information: repeated games (prisoner’s dilemma); subgame perfect Nash equilibrium; computational issues. (3 lectures)

Mechanism Design: basics; social choice; Vickrey and VCG mechanisms (shortest paths); combinatorial auctions; profit maximization; applications in Computer Science. (5 lectures)

Modern Applications of Game Theory: Google’s sponsored search; eBay auctions; market equilibria; price of anarchy; prediction markets; reputation systems; electricity trading markets… (9 lectures)
SIGNAL PROCESSING & DIGITAL FILTERING

Review of LTI, DTFT and ztransform, Frequency Domain analysis and FIR and IIR filters.

Digital Waveform Generators.

Digital audio effects.

Effect of Sampling and quantisation.

DFT and FFT Algorithms

FIR digital filter design methods; different design methods
including Windowing and Optimal using Matlab will be discussed. 
IIR digital filter design methods; design of digital IIR filters by pole/zero placement, implementation by specialpurpose DSP microprocessors, bilinear transformation method of designing IIR digital filters, effect of frequency warping and consideration of finite wordlength effects. Survey for alternative techniques.

Multirate Signal Processing Fundamentals and applications of the multirate signal processing are explained. Efficient multistage antialiasing LPF will be covered with examples.
NEURAL NETWORK
 Structural Aspects
 Learning Processes
 SingleLayer Perceptron
 MultiLayer Perceptron
 Radialbasis Function Networks
 Support Vector Machines
 SelfOrganising Maps
ENGINEERING MANAGEMENT AND ENTREPRENEURIAL SKILLS

Introduction. What is a project? What is project management?

Projects, SWOT, the role of project manager Organisations, project planning. Work Breakdown Structure, budgeting, scheduling Gantt chart, PERT, critical path model, networks, slack and crashing Risk definition and evaluation.

Cost management: Introduction, financial vs management accounting.

Overheads, depreciation, batch costing.

Costing procedures and controls.

Decision making, fixed, variable and marginal costs.

Breakeven analysis, investment appraisal.

Discounted cash flow (DCF), Activity based costing.

Entrepreneurial skills: designing, launching and running a new business.
APPLICATION DEVELOPMENT WITH C++

Overview of the course structure. Introduction to C++ as a high level programming language. Role of compilers. Introduction to IDEs, using Visual Studio 2017 to produce a simple programme.

Basics of C++: Primitive and secondary data types, variables, constants, operators, statements, logical structures, pointers and dynamic memory allocation. Functions, methods and parameter passing.

Introduction to object oriented design, notion of classes and objects in C++, properties and behaviours, inheritance and polymorphism, access specifiers, constructors and destructors. Static and dynamic binding.

Introduction to basics of GUI programming: Qt Creator, elements of graphical user interface (GUI), components and controls.

Event and Event handlers: Typical events for common controls, accessing properties, mouse events and refreshing GUI.

Various GUI controls: dialog boxes, graphics and user controls.

Drawing facilities within Qt Creator: Coordinate systems, points, lines, curves and predefined shapes. Colour and style.

Working with images and image processing: graphical objects, picture box, accessing pixel information, color space and models.
EMBEDDED COMPUTER SYSTEMS

Characteristics of Embedded Systems. Low power, design reuse, open standards, IP 2 Computer Architecture von Neumann structure, standard CPU architecture, characteristics and comparison of CISC and RISC systems

ALU architecture requirements of the ALU, number representation and ALU subcircuits.

Memory cache performance measures, direct mapped, associative cache design, write strategies.

Thumb instruction set characteristics, performance benefits.

Low power digital circuit design voltage scaling, clock gating, power gating.

Bus architectures tristate bus, AMBA, bus decoders, bus arbiters, APB, AHB, etc.

Memory management MPU, MMU, virtual addresses, page tables, PTW and translation lookaside buffer extension to multiple OS systems.