Programme And Module Handbook
 
Course Details in


If you find any data displayed on this website that should be amended, please contact the Curriculum Management Team.

Module Title LM Computational Methods and Programming
SchoolMathematics
Department Mathematics
Module Code 06 22295
Module Lead Dr Daniel Loghin / Dr Natalia Petrovskaya
Level Masters Level
Credits 20
Semester Semester 1
Pre-requisites
Co-requisites
Restrictions May not be taken with modules 06 20445, 06 18780 or 06 21430
Contact Hours Lecture-40 hours
Tutorial-11 hours
Practical Classes and workshops-22 hours
Total: 73 hours
Exclusions
Description During the Autumn Term, the aim is to review a selection of numerical methods for differential equations, together with some of the existing analysis. The material is divided into two main parts, each concerned, respectively, with the numerical solution of ordinary equations (ODE) and partial differential equations (PDE). Part 1 introduces numerical methods for first-order ODE and is limited to one-step methods, with emphasis on Runge-Kutta methods. It includes a derivation of standard error error analysis (stability, order, accuracy, consistency) for both implicit and explicit methods. It also considers the solution of linear systems and questions related to stability of dynamical systems. Examples are drawn from Hamiltonian mechanics. Some examples of nonlinear ODE are also considered. Part 2 is devoted to the finite element method (FEM) for the discretization of PDE. The presentation starts with a review of function spaces with emphasis on Sobolev spaces and polynomial approximation in these spaces. It then includes the variational formulation of boundary value problems, definition and construction of finite element spaces. Standard error analysis is also included: a priori and a posteriori error estimation together with theoretical questions regarding accuracy, stability, reliability and adaptivity.
During the Spring term, the aim is to present fundamental concepts necessary in order to think like a programmer. This course has been developed for students with no previous programming experience as well as for those already familiar with main ideas in programming. The computer language (C++) is introduced from first principles. The students are supposed to learn general techniques for solving problems and to understand important concepts of programming such as algorithms and code debugging. The programming techniques introduced in the course will be implemented for numerical solution of several basic scientific and engineering problems.
Learning Outcomes By The end of the Autumn term the student should be able to:-
  • Demonstrate knowledge of standard numerical methods for ordinary and partial differential equations
  • Apply a range of numerical methods to standard differential equations and derive the relevant analysis
  • Have an understanding of the programming issues associated with numerical schemes
By the end of the Spring term the student should be able to:-
  • Understand the basic principles of scientific and engineering programming
  • Understand key attributes of the following elements of programming languages: variables; data types; data arrays; assignment statements; iteration statements.
  • Develop and implement numerically stable and accurate algorithms for the basic tasks of computational science and engineering
  • Develop stable algorithms for matrix algebra, numerical solution of ordinary differential equations and for finding roots of non-linear equations
Assessment 22295-02 : Raw Module Mark : Coursework (100%)
Assessment Methods & Exceptions Assessment: 90 minute examination (45%) Continuous assessment (55%)
100% of the programming aspects of the course will be assessed continuously and the Autumn term will be assessed 10% by continuous assessment and 90% by examination.
Reassessment: By examination and resubmission of programming exercises.
Other
Reading List