📖Program Curriculum
Course modules
Compulsory modules
All the modules in the following list need to be taken as part of this course.
Computational Methods
Aim
The module aims to provide an understanding of a variety of computational methods for integration, solution of differential equations and solution of linear systems of equations.
Syllabus
The module explores numerical integration methods; the numerical solution of differential equations using finite difference approximations including formulation, accuracy and stability; matrices and types of linear systems, direct elimination methods, conditioning and stability of solutions, iterative methods for the solution of linear systems.
Intended learning outcomes
On successful completion of this module you should be able to:
Formulate and assess numerical integration methods.
Use appropriate techniques to formulate numerical solutions to differential equations.
Evaluate properties of numerical methods for the solution of differential equations.
Choose and implement appropriate methods for solving differential equations.
Evaluate properties of systems of linear equations.
Choose and implement appropriate methods for solving systems of linear equations.
Assess the behaviour of the numerical methods and the computed numerical solutions.
C++ Programming
Aim
Object oriented programming (OOP) is the standard programming methodology used in nearly all fields of major software construction today, including engineering and science and C++ is one of the most heavily employed languages. This module aims to answer the question ‘what is OOP’ and to provide the student with the understanding and skills necessary to write well designed and robust OO programs in C++. Students will learn how to write C++ code that solves problems in the field of computational engineering, particularly focusing on techniques for constructing and solving linear systems and differential equations. Hands-on programming sessions and assignment series of exercises form an essential part of the course. The library support provided for writing C++ programs using a functional programming approach will also be covered.
An introduction to the Python language is also provided.
Syllabus
The OOP methodology and method, Classes, abstraction and encapsulation
Destructors and memory management, Function and operator overloading, Inheritance and aggregation, Polymorphism and virtual functions, Stream input and output
Templates, Exception handling, The C++ Standard Library and STL
Functional programming in C++
Intended learning outcomes
On successful completion of this module you should be able to:
1. Apply the principles of the object oriented programming methodology - abstraction, encapsulation, inheritance and aggregation - when writing C++ programs.
2. Create robust C++ programs of simple to moderate complexity given a suitable specification.
3. Use the Standard Template Library and other third party class libraries to assist in the development of C++ programs.
4. Solve a range of numerical problems in computational engineering using C++.
5. Use development environments and associated software engineering tools to assist in the construction of robust C++ programs.
6. Evaluate existing C++ programs and assess their adherence to good OOP principles and practice.
Management for Technology
Module Leader
Dr Richard Adams
Aim
The importance of technology leadership in driving the technical aspects of an organisation’s products, innovation, programmes, operations and strategy is paramount, especially in today’s turbulent commercial environment with its unprecedented pace of technological development. Demand for ever more complex products and services has become the norm. The challenge for today’s manager is to deal with uncertainty, to allow technological innovation and change to flourish but also to remain within planned parameters of performance. Many organisations engaged with technological innovation struggle to find engineers with the right skills. Specifically, engineers have extensive subject/discipline knowledge but do not understand management processes in organisational context. In addition, STEM graduates often lack interpersonal skills.
Syllabus
Engineers and Technologists in organisations:
the role of organisations and the challenges facing engineers and technologies,
People management:
understanding you, understanding other people, working in teams and dealing with conflicts.
The Business Environment:
understanding the business environment; identifying key trends and their implications for the organisation.
Strategy and Marketing:
developing effective strategies, focusing on the customer, building competitive advantage, the role of strategic assets.
Finance:
profit and loss accounts, balance sheets, cash flow forecasting, project appraisal.
New product development:
commercialising technology, market drivers, time to market, focusing technology, concerns.
Business game:
Working in teams (companies), you will set up and run a technology company and make decisions on investment, R&D funding, operations, marketing and sales strategy,
Negotiation:
preparation for negotiations, negotiation process, win-win solutions.
Presentation skills:
understanding your audience, focusing your message, successful presentations, getting your message across.
Intended learning outcomes
On successful completion of this module you should be able to:
Recognise the importance of teamwork in the performance and success of organisations with particular reference to commercialising technological innovation,
Operate as an effective team member, recognising the contribution of individuals within the team, and capable of developing team working skills in yourself and others to improve the overall performance of a team,
Compare and evaluate the impact of the key functional areas (strategy, marketing and finance) on the commercial performance of an organisation, relevant to the manufacture of a product or provision of a technical service,
Design and deliver an effective presentation that justifies and supports any decisions or recommendations made,
Argue and defend your judgements through constructive communication and negotiating skills.
Signal Analysis
Aim
The aim of this module is to provide students with the necessary mathematical basis and skills for the study of Computer and Machine Vision.
Syllabus
• Revision of complex algebra
• Important generalised functions
• Series representation of period signals
• Fourier analysis and the Fourier transforms
• Convolution and correlation
• The Sampling theorem
• The Z transform
• Probability and statistics: discrete, continuous and special distributions, sampling and estimation, significant tests.
Intended learning outcomes
On successful completion of this module you should be able to critically evaluate and apply concepts of:
Generalised functions, in particular the Dirac Delta function, and the Sampling property as the means for identifying their behaviour.
Fourier analysis and Fourier series representing a periodic function.
Fourier transform of a continuous function and Z transform for causal functions.
44 Convolution and Correlation and associated theorems.
5Basic elements of probability and statistics, as necessary for the analysis of signals and images.
Digital Signal Processing
Aim
Digital signal processing, a major technology in almost all modern hi-tech applications and products, is at the heart of mobile phones, communications and vibro-acoustical condition Monitoring. The aim of this course is to provide an industry oriented course covering not only the theoretical aspects of classical and advanced time-frequency DSP but also the solid implementation aspects of the subject for students wishing to pursue a career in such areas as communications, speech recognition, bio-medical engineering, acoustics, vibrations, radar and sonar systems and multimedia.
Syllabus
• Discrete-time signals and systems
• The correlation of discrete-time signals
• The discrete Fourier transform
• The power spectral density
• The short time Fourier transform
• The wavelet transform
• Classical and adaptive digital filtering
Intended learning outcomes
On successful completion of this module you should be able to:
Comprehend the representations of discrete time signals and systems and implement the correlation analysis of discrete time signals
Understand the concept of the classical discrete Fourier transform and apply it to solve engineering problems
Explain the difference between the non-parametric and parametric estimates of the classical power spectral density (PSD) and select an appropriate method to calculate PSD based on the nature of the data.
Identify an appropriate time-frequency analysis technique, such as the wavelet transform and Fourier transform, and then interpret the results
Design and evaluate digital filtering, including FIR and IIR filters.
Image Processing and Analysis
Aim
The most powerful method of sensing available to humans is vision. In computing visual information is represented as a digital image. In order to process visual information in computer systems we need to know about processing digital images. Here we focus upon the task of low-level visual processing.
Syllabus
• Image Applications
• Image Representation
• Image Capture Hardware
• Image Sampling & Noise
• Image Geometry & Locality, Processing Operations Upon Images
• Camera Projection / Convolution Model
• Image Transformation
• Image Enhancement
Intended learning outcomes
On successful completion of this module you should be able to:
Comprehend common digital image representations.
Implement and analyse a range of local and global image transforms.
Explain and implement image processing in the frequency domain.
Critically evaluate techniques to counter noise in digital images
Develop the awareness of ethical conduct and regulatory requirements in the context of the applications of image processing and image compression.
Computer Vision
Aim
Digital Image Processing allows us to process visual information in computer systems. By processing visual information we can develop automated visual interpretation and understanding – artificial vision, itself a large part of wider field of the Artificial Intelligence. In order to achieve this we must be able to extract high-level visual information such as edges and regions from images and additionally allow for the efficient storage of large amounts of visual data. Here we concentrate on mid-level visual interpretation and image compression.
Syllabus
• Image Restoration
• Image Compression
• Image Feature Extraction and Processing
• Image Segmentation
• Basic Feature-based Classification Approaches
• Stereo Vision and Object Tracking
Intended learning outcomes On successful completion of this module you should be able to:
1. Apply, describe and critically evaluate the effects and impact of image compression.
2. Apply, describe and critically evaluate methods for image restoration (deblurring).
3. Apply, describe and critically evaluate feature post-processing approaches.
4. Apply, describe and critically evaluate basic feature-based image classification.
5. Understand and apply Stereo Vision.
6. Understand and apply Object Tracking approaches
Visualisation
Aim
Computer graphics is a key element in the effective presentation and manipulation of data in engineering software. The aim of this module is to provide an in depth practical understanding of the mathematical and software principles behind 2D and 3D visualisation using the widely used OpenGL (desktop) and WebGL (web based) graphic libraries. Representative GUI based 2D and 3D OpenGL/WebGL applications using both Javascript/HTML5 and the Qt development environment are employed. The module will also cover some of the more advanced rendering techniques including lighting, texturing and other image mapping methods used to enhance visual interpretation of data. An introduction to the implementation and use of Virtual Reality in engineering completes the module. Hands-on exercises and an assignment supplement the learning process.
Syllabus
Mathematical principles behind 2D and 3D visualisation, The graphic and coordinate pipelines, Matrix transformations, Modelling, viewing and projection, OpenGL and WebGL libraries, GLSL shader programming.for the graphic pipeline and GPU
Development of interactive CG applications using OpenGL, WebGL, GLSL and Qt
Advanced rendering techniques, lighting, texturing and image mapping
Introduction to virtual reality.
Intended learning outcomes
On successful completion of this module you should be able to:
Apply the principles underlying the graphic and coordinate pipelines to display and manipulate 2D and 3D models.
Use the mathematical basis behind 2D/3D modelling and viewing to solve visualisation problems in OpenGL and WebGL.
Understand, implement and use GLSL shader programs for implementing the graphic pipeline.
Create interactive visualisation applications using OpenGL/ WebGL, GLSL and Qt.
Evaluate the use of VR and other advanced technologies for engineering visualisation.
Machine Learning for Computer Vision