ACM20030 Computational Science

Academic Year 2023/2024

Most problems in Applied Mathematics are modelled using a set of equations that can be written down but cannot be solved analytically. In this module we examine numerical methods that can be used to solve such problems with a computer. Practical computer lab sessions will cover the implementation of these methods using mathematical software (Python). No previous knowledge of computing is assumed.

Topics and techniques discussed include but are not limited to the following list:

- The programming environment: installing and running Python, version control with Git
- Introduction to programming: functions, loops, logical statements, arrays, floating-point arithmetic, data storage, debugging code, documentation
- Visualising results and datasets: plotting using Matplotlib and other visualisation software
- Interpolation: Lagrange polynomials, Newton's divided-difference. Linear least squares
- Root-finding for single-variable functions: Bracketing and Bisection, Newton–Raphson method. Error and reliability analyses for the Newton–Raphson method.
- Solving ordinary differential equations (ODEs): Euler Method, Runge–Kutta method. Shooting methods. Error analysis.
- Numerical integration: Midpoint, Trapezoidal and Simpson methods. Error analysis.
- Matrices: condition numbers, inversion

Show/hide contentOpenClose All

Curricular information is subject to change

Learning Outcomes:

On completion of this module students should be able to

- Run Python code via interactive Jupyter notebooks
- Use version control software
- Write simple programs involving input/output, plotting, loops, conditionals and functions
- Describe and implement different methods for interpolation.
- Describe and implement elementary root-finding procedures.
- Solve ODEs numerically using standard algorithms, analyse their accuracy and stability, and implement them numerically.
- Describe elementary numerical integration integration schemes, analyse their accuracy, and implement them.
- Describe elementary numerical algorithms for computing properties of matrices

Student Effort Hours: 
Student Effort Type Hours
Specified Learning Activities


Autonomous Student Learning




Computer Aided Lab




Approaches to Teaching and Learning:
Lectures, tutorials, enquiry and problem-based learning 
Requirements, Exclusions and Recommendations
Learning Recommendations:

Students are recommended to have successfully completed level one courses in calculus and algebra, along the lines of the following module pairs:

1. MATH10300 - Calculus in the Mathematical Sciences and MATH10270 - Linear Algebra in the Mathematical Sciences

2. MATH10330 - Calculus in the Phy Sciences and MATH10280 - Linear Algebra in the Physical Sciences

Module Requisites and Incompatibles
Not applicable to this module.
Assessment Strategy  
Description Timing Open Book Exam Component Scale Must Pass Component % of Final Grade In Module Component Repeat Offered
Continuous Assessment: over the trimester assignments and coding assessments Varies over the Trimester n/a Standard conversion grade scale 40% No


Examination: end of trimester exam 2 hour End of Trimester Exam No Standard conversion grade scale 40% No



Carry forward of passed components
Resit In Terminal Exam
Spring Yes - 2 Hour
Please see Student Jargon Buster for more information about remediation types and timing. 
Feedback Strategy/Strategies

• Group/class feedback, post-assessment

How will my Feedback be Delivered?

Not yet recorded.

Name Role
Ms Claire Bergin Tutor
Mr Kevin Cunningham Tutor
Mr Chris Devitt Tutor
Mr Brian Skelly Tutor