Page 1 of 1

Module Code - Title:

MS6021 - SCIENTIFIC COMPUTATION

Year Last Offered:

2025/6

Hours Per Week:

Lecture

1

Lab

2

Tutorial

0

Other

0

Private

7

Credits

6

Grading Type:

N

Prerequisite Modules:

Rationale and Purpose of the Module:

Scientific ComputingĀ is the collection of tools, techniques, and theories required to solve scientific and engineering problems on a computer. It is an integral part of modern science and engineering as computer simulation allows the study of natural phenomena intractable through experimental means, and the analysis of engineering systems too expensive or complex to build directly. The purpose of the module is to introduce students to a number of numerical techniques and high-level programming skills, and, in this way, prepare them to employing computational techniques in other fields of science and engineering.

Syllabus:

Review of MATLAB, storage allocation, functions and arrays, matrices, operators and flow control, m-files, graphics, input and output. Introduction to Python, structure, variables, functions, control structures, arrays, basic input and output, graphics. Numerical techniques in linear algebra Norms and conditions numbers, linear equations, over and under-determined systems, factorisations, singular value decomposition, eigenvalue problems, practical case studies. Numerical techniques for for non-linear equations and numerical integration Root finding, large systems of nonlinear equations, optimisation, practical case studies. Numerical techniques for differential equations Ordinary differential equations, stiff systems, boundary value problems, partial differential equations, eigenvalue problems, case studies.

Learning Outcomes:

Cognitive (Knowledge, Understanding, Application, Analysis, Evaluation, Synthesis)

On successful completion of this module, students will be able to 1. Design, write, test, and debug program scripts and functions using MATLAB and Python, and implement numerical algorithms for a range of mathematical problems. 2. Apply techniques of numerical linear algebra to a range of mathematical problems. 3. Apply numerical techniques for nonlinear systems and optimisation. 4. Implement numerical techniques of finding and interpreting solutions of ordinary and partial differential equations.

Affective (Attitudes and Values)

On successful completion of this module, students will be able to 1. Demonstrate an understanding of the strengths and limitations of MatLab and Python in solving mathematical problems.

Psychomotor (Physical Skills)

N/A

How the Module will be Taught and what will be the Learning Experiences of the Students:

This is a lab-based module, with a number of worksheets introduced and discussed during lecture hours. Individual students' progress is discussed during labs. The worksheets introduce students to basic high-level programming skills and basic numerical techniques. Additionally, a number of assignments at a more advanced level form the continuous assessment, each involves submission of a description of the numerical method(s) implemented by a student, numerical results and conclusions, as well as related computer codes.

Research Findings Incorporated in to the Syllabus (If Relevant):

Prime Texts:

Higham, D.J. and Higham N.J (2005) MATLAB guide (2e) , SIAM.
Svein Linge and Hans Petter Langtangen (2016) Programming for Computations - Python - A Gentle Introduction to Numerical Simulations with Python , Springer Open

Other Relevant Texts:

Knight, A., (2000) Basics of MATLAB and Beyond , Chapman & Hall/CRC
Etter, D.M., Kuncicky, D.C. and Hull, D (2002) Introduction to Matlab , Prentice Hall
Moler, C (2004) Numerical Computing with MATLAB , SIAM
Kharab, A. and Guenther, R (2002) Introduction to Numerical Methods: A MATLAB Approach , Chapman & Hall

Programme(s) in which this Module is Offered:

Semester(s) Module is Offered:

Autumn

Module Leader:

natalia.kopteva@ul.ie