School of Computing and Mathematics

Faculty of Natural Sciences

For academic year: 2020/21 Last Updated: 25 February 2021

MAT-20031 - Computational Mathematics

None

None

None

Scientific computing is one of the cornerstones of modern applied mathematics. By arming students with a high-level general purpose programming language ¿Python¿, they will be well equipped to explore a plethora of mathematical problems otherwise inaccessible to them. Moreover, students will possess a valuable, transferable skill, necessary in a large number of industries, for example, data science, engineering, meteorology and finance.

This module also will embed the use of technology to aid undergraduate mathematical studies.

This module also will embed the use of technology to aid undergraduate mathematical studies.

¿The main aim of this module is to introduce students to the three elements of scientific computing; numerical analysis, programming and modelling.

In particular, the programming element aims to provide the students with a valuable transferrable skill in the Python programming language. We also aim to give the students a broad appreciation of the different computational tools at their disposal, and an introduction to numerical analysis.

In particular, the programming element aims to provide the students with a valuable transferrable skill in the Python programming language. We also aim to give the students a broad appreciation of the different computational tools at their disposal, and an introduction to numerical analysis.

choose and apply appropriate computational tools to help to solve and analyse a variety of problems: 1,2

create appropriate graphics (including interactive or animated) to illustrate a particular problem and/or solution: 1,2

write well commented and structured Python code with appropriate use of modules/libraries: 1,2

apply iterative methods to analyse and solve algebraic equations: 1,2

perform numerical integration, differentiation and numerically solve ordinary differential equations, showing knowledge of numerical convergence: 1,2

demonstrate the importance of the precision and bounds of floating point numbers: 1,2

create appropriate graphics (including interactive or animated) to illustrate a particular problem and/or solution: 1,2

write well commented and structured Python code with appropriate use of modules/libraries: 1,2

apply iterative methods to analyse and solve algebraic equations: 1,2

perform numerical integration, differentiation and numerically solve ordinary differential equations, showing knowledge of numerical convergence: 1,2

demonstrate the importance of the precision and bounds of floating point numbers: 1,2

24 hours lectures

21 hours lab sessions

105 hours private study, including preparation of coursework/project

21 hours lab sessions

105 hours private study, including preparation of coursework/project

None

Programming exercises

A set of programming exercises provided in a notebook template. All answers to be accompanied by appropriate commentary. Students complete the exercises outside of class in open-book conditions and collaboration is forbidden. In total students can expect to spend 4-5 hours completing the exercises.

Individual study project

Individual project expanding on material covered during the semester. The project will require students to create a program to investigate a chosen mathematical concept. Students must include a description of the code, how to execute it and a report of the findings. This must include details of the mathematical theory involved. The length of the project, when exported to pdf, will not exceed 8 pages, including code, figures and tables, but not including appendices. Formatting guidelines will be provided.