- 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
- Linear dependence and independence
- Singular value decomposition
Calculus (Science and Engineering)
- Real numbers and the completeness axiom
- Mathematical induction
- Some inequalities
- Integral Calculus
- 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
- 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
Electrical Circuits I
- Single-stage amplifier configurations with emphasis on MOS, other technologies (e.g. BJT) for comparison
- Multi-stage amplifiers, cascode, Darlington connections
- Differential pairs, differential and common mode responses, common-mode rejection
- Transistor current sources, current mirrors, cascading
- Supply and temperature independent biasing and references
- Frequency response
- Parasitic capacitances in transistors
- Bode plot
- Gain-bandwidth product
- Approximation techniques and the zero-valued 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 multi-stage 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
Introduction to Programming in Java
Concepts from core Java:
- OOPS concepts (Data Abstraction, Encapsulation, Inheritance, Polymorphism)
- Basic Java constructs like loops and data types
- String handling
- Collection framework
- Exception handling
- Serialisation & De-serialisation
- Concurrent collection
- JDBC (Java Database Connectivity)
- Spring (MVC, Core, JDBC, ORM, AOP)
- Hibernate ORM framework
- Web Services (SOAP & REST)
|OS Chapters 1-2: Introduction on Operating Systems & Operating System Structures||lec1-OS.pdf lec2-OS.pdf|
|2||CA Chapter 1: Fundamentals of Quantitative Design and Analysis||lec1-CA.pdf|
|3||OS Chapter 3: Processes||lec3-OS.pdf|
|4||OS Chapter 4: Threads||lec4-OS.pdf|
|5||CA Appendix A: Instruction Set Principles||lec2-CA.pdf|
|6||OS Chapter 5: CPU Scheduling||lec5-OS.pdf|
|7||OS Chapter 6-7: Process Synchronization||lec6-OS.pdf lec7-OS.pdf|
|8||OS Chapter 8: Deadlocks||lec8-OS.pdf|
|9||CA Chapter 2 & Appendix B: Memory Hierarchy Design||lec3-CA.pdf|
|10||OS Chapter 9: Main Memory||lec9-OS.pdf|
|11||OS Chapter 10: Virtual Memory||lec10-OS.pdf|
|12||CA Appendix C: Pipelining: Basic and Intermediate Concepts||lec4-CA.pdf|
|13||OS Chapter 11-12: Mass Storage Systems and I/O Systems||lec11-OS.pdf lec12-OS.pdf|
|14||OS Chapter 13-15: File System Interface and Implementation||lec13-OS.pdf lec14-OS.pdf lec15-OS.pdf|
|15||OS Chapter 18: Virtual Machines||lec18-OS.pdf|
|16||CA Chapter 3: Instruction Level Parallism||lec5-CA.pdf|
Digital Electronics I
Integrated Electronics and Design
- Feasibility study and die size estimate
- Function analysis
Architectural or System Level Design
- Analogue Design, Simulation & Layout
- Digital Design & Simulation
- System Simulation & Verification
- Place and Route
- Parasitic Extraction
Physical Verification & Signoff
- Static timing
- Co-simulation and timing
Mask data preparation
(Layout Post Processing)
- Chip finishing with Tape out
- Reticle layout
- Layout-to-mask preparation
- Post silicon validation and integration
- Device characterization
- Tweak (if necessary)
Introduction to Databases
- An introduction to databases (why, what, and DBMS).
- The fundamentals of the databases.
- The database design process.
- The structured query language (SQL).
- Indexing, Transactions & Stored Procedures.
- The different types of databases.
C++ Programming & Software Engineering II
- Bitwise operations
- Executive environment
- 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
- Non-local gotos
Engineering Mathematics II
Critical Thinking: The Self and The World
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,…) top-down design and its problems safety, correctness and security Concepts of Object-Oriented 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
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
Introduction to Distributed Systems (2-3 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)
Remote procedure calls & object invocation
Message- & stream-oriented communication
Broadcast (2-3 lectures)
Simple broadcast over a spanning tree
Broadcast from a specified root
Broadcast algorithms and their analysis
Leader Election (2-3 lectures)
In a ring
In general networks
Leader election algorithms and their analysis
Architecture and Processes (1-2 lectures)
Clients & servers
Naming (1-2 lectures)
The Domain Name System (DNS)
Synchronisation and Concurrency (3-4 lectures)
Logical clocks & clock synchronisation
Consistency and replication (1-2 lectures)
Overview of consistency models
Fault tolerance (2-3 lectures)
Failure masking by redundancy
Reliable client-server communication
Distributed Commit protocols
Algorithms for consensus with link and processor failures
Security (1-2 lectures)
Selected Research Topic (1 lecture)
Communication systems; analogue and digital systems; signal bandwidth; signal to noise ratio; channel capacity; trade-offs in communication system design and modulation.
General idea of AM modulation; DSB-LC, DSB-SC, 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); narrow-band FM and PM; Carson’s rule; modulation index; bandwidth and spectrum; generation and demodulation of FM signals.
Sampling theorem; signal reconstruction and aliasing.
Quantising, encoding and line coding; pulse code modulation (PCM); PAM, PWM and PPM and comparison of different pulse modulation methods.
Digital data transmission; BASK, BFSK and BPSK and comparison of different digital modulation methods.
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, synchro-resolvers 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 A-D and D-A 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. Open-loop and closed-loop systems. Mathematical model of a control system.
Control system modelling: Laplace transforms, Transfer function, Characteristic equations, Poles and zeros. State-space model. Transformation between transfer function and state space model. Single-input single-output system and multi-input and multi-output system. Components and their underlying mathematics of block diagrams. Block diagram manipulation and reduction. Closed-loop 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. First-order system and second-order system. Generalized second-order system.
Steady state response design: General steady state response, steady-state 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. Routh-Hurwitz 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, phase-lead and phase-lag compensators. Comining controller and process frequency responses. Optimising controller parameters.
DIGITAL ELECTRONICS & MICROPROCESSOR SYSTEMS
Multiplexers, Decoders and ROM; Latches and Flip-Flops; 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 Quine-McCluscky 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 one-day 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 hour-long 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
Continuous-time signals & systems
Introduction to signals & systems: Signal Classification, Representation and Analysis; Signals classification as periodic/aperiodic; causal/non-causal; 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 time-shifting 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, time-diffentiation and integration; Generalisation of the Fourier transform.
Linear Time-invariant (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.
Discrete-time signals & systems:
Introduction; Overview of Discrete-time Signals & Systems; Discrete Time Fourier Series; Discrete Time Fourier Transform; Z-transform; Discrete-time Linear Time Invariant (DT-LTI) 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; two-stage 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 R-values 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 op-amp 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 op-amp circuit. Overview and hints for tackling Expt 5 - Design of an op-amp to a given specification with the aid of SPICE simulation
Operational amplifier limitations: Op-amp limitations, slew rate limitations, model of an op-amp including voltage and current offsets. Practical design tips.
Summary of the module.
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 (Java-based) framework for programming agents (eg the Jack language, the JAM! system)
Multi-Agent Systems (5 weeks)
- Classifying multi-agent interactions – cooperative versus non-cooperative; zero-sum and other interactions; what is cooperation? How cooperation occurs – the Prisoner’s dilema and Axelrod’s experiments; (1 week).
- Interactions between self-interested 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; non-cooperative 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; zero-sum 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
1 Review of LTI, DTFT and z-transform, Frequency Domain analysis and FIR and IIR filters.
2 Digital Waveform Generators.
3 Digital audio effects.
4 Effect of Sampling and quantisation.
5 DFT and FFT Algorithms
6 FIR digital filter design methods; different design methods
including Windowing and Optimal using Matlab will be discussed.
7 IIR digital filter design methods; design of digital IIR filters by pole/zero placement, implementation by special-purpose DSP microprocessors, bilinear transformation method of designing IIR digital filters, effect of frequency warping and consideration of finite wordlength effects. Survey for alternative techniques.
8 Multirate Signal Processing Fundamentals and applications of the multirate signal processing are explained. Efficient multistage antialiasing LPF will be covered with examples.
Chapter 1 Structural Aspects
Chapter 2 Learning Processes
Chapter 3 Single-Layer Perceptron
Chapter 4 Multi-Layer Perceptron
Chapter 5 Radial-basis Function Networks
Chapter 6 Support Vector Machines
Chapter 7 Self-Organising 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 sub-circuits.
- 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 tri-state bus, AMBA, bus decoders, bus arbiters, APB, AHB, etc.
- Memory management MPU, MMU, virtual addresses, page tables, PTW and translation look-aside buffer extension to multiple OS systems.