The module descriptors for our undergraduate courses can be found below:
- Four year Aeronautical Engineering degree (H401)
- Four year Aeronautical Engineering with a Year Abroad stream (H410)
Students on our H420 programme follow the same programme as the H401 spending fourth year in industry.
The descriptors for all programmes are the same (including H411).
H401
Computing and Numerical Methods 1
Module aims
This course introduces basic computing and programming skills for the solution of engineering problems. Assuming no prior knowledge, it introduces students to the key constructs and thought processes required in order to construct complex algorithms using the MATLAB and Python scripting languages. Numerical methods for interpolation, numerical integration and root finding are discussed and implemented.
Learning outcomes
On successfully completing this module students should be able to:
1. explain the limitations in computation associated with finite precision;
2. demonstrate understanding of and implement the essential procedural programming constructs in MATLAB and Python;
3. translate mathematical problems into algorithms suitable for programming implementation;
4. apply iterative processes of root finding and understand reasons for their convergence
5. apply interpolation and numerical integration techniques for the solution of engineering problems;
Module syllabus
Basic computing: Computing fundamentals, Storing Numbers on a Computer: Binary. Rounding errors. Implications for numerical computations, Introduction to programming
MATLAB: The MATLAB environment, help system, basic calculations, graphics and file I/O, control structures, loops, vectors and arrays, scripts and functions, good programming style
Python: Running Python, types and variables, basic syntax, containers and modules
Numerical Methods: Interpolation, Numerical Integration, Solution of Nonlinear Equations
Teaching methods
The instruction of programming is carried out using a flipped-classroom approach. Prior to the tutorial session, you will review a pre-recorded lecture and test your understanding by solving short exercises through an online portal. During the 2-hour in-class tutorial that follows, you will have the opportunity to discuss the solution of the online self-assessment with the tutor and raise any questions. A problem sheet is then attempted, with tutors available to answer questions.
For the part of the module addressing numerical methods, you will be introduced to the fundamental idea behind the methods using large whole class lectures, with half-class tutorial sessions, held in computer labs, used to apply and reinforce your understanding.
Assessments
Assessment type | Assessment description | Weighting | Pass mark |
Examination | MATLAB Mastery Test | 30% | 40% |
Examination | Python Mastery Test | 15% | 40% |
Examination | Numerical Methods MCQ | 15% | 40% |
Coursework | Weekly homework questions | 15% | 40% |
Coursework | Project | 40% | 40% |
You will be offered opportunities to receive both structured and opportunistic feedback. Through the weekly programming tutorials, you will be able to self-assess your progress and understanding, as well as ask for feedback from the class tutors.
Written feedback will be provided for your submission for the project and your in-class test submission.
Further individual feedback is available on request via this module’s online feedback forum and staff office hours.
Reading list
Core
-
Applied numerical methods with MATLAB for engineers and scientists
5th ed., McGraw-Hill Education
-
Fundamentals of engineering numerical analysis
2nd ed., Cambridge : Cambridge University Press
-
Essential MATLAB for engineers and scientists.
Eighth edition /, Academic Press
-
Essential MATLAB for engineers and scientists
Seventh edition., Amsterdam : Academic Press
-
A primer on scientific programming with Python
5th edition., Heidelberg : Springer
-
Applied numerical methods using MATLAB®
Second edition., John Wiley & Sons Inc
-
Numerical mathematics and computing
7th ed., International ed., Brooks/Cole Cengage Learning