Module and Programme Catalogue

Search site

Find information on

2022/23 Undergraduate Module Catalogue

NATS2100 Introduction to Scientific Programming

10 creditsClass Size: 80

Module manager: Dr Stefan Auer

Taught: Semester 1 (Sep to Jan) View Timetable

Year running 2022/23

This module is mutually exclusive with

CHEM3212Big Data, Big Science
MATH2920Computational Mathematics

This module is not approved as a discovery module

Module summary

The module will lay the foundations to understand and use one of the most common programming languages, provide an overview of high performance computing in natural sciences, and allows to create and apply Python to solve a research problem in their area.


To introduce the student to the Python computer programming language which is important in both academic research and industry.

Give the student an overview and understanding of advanced computational applications and high performance computing across natural sciences, including molecular modelling, big data analytics, artificial intelligence and machine learning, computational tools for lab experiments.

Development of programming skills in Python to solve a computational problem in their research area.

Learning outcomes
Good understanding of the programming language Python

The ability to use Python to write a program that can solve scientific problem

Overview/understanding of high performance computing and computational research in natural sciences


Students will be introduced to computer programming as a general concept, the concepts of scalar numeric, Boolean and string data types, and the use of variables to store data. The Python collection data types – lists, dictionaries and arrays for storing sequences of data will be introduced. The use of common programming statements and constructions – conditional statements, loops and the calling of pre-defined functions will be taught. A very basic introduction to exception handling in Python will be covered. Input and output statements to both console and file will be introduced. Students will be given an introduction to writing functions and storing functions in modules for reuse. The commonly used NumPy, SciPy and Matplotlib libraries will be briefly introduced and students will be shown how to generate simple x-y plots.

Introduce Jupyter to create worksheets, run Python and write reports.

Introduction to programming skills useful across the natural sciences that will provide a foundation to progress into more advanced topics in scientific computing.

Application of what they learned to create and solve a research problem in their area.

Teaching methods

Delivery typeNumberLength hoursStudent hours
Private study hours78.00
Total Contact hours22.00
Total hours (100hr per 10 credits)100.00

Private study

Learn course material, perform tasks, create and solve a computational problem in their research area.

Students requiring to resit the module would be given a further attempt to complete the tasks and project over the summer.

Opportunities for Formative Feedback

The workshop sessions will involved guidance to solutions to the project with a member of staff enabling feedback on the approach being taken and any technical issues.

At the beginning of most workshops, there will also be a short teaching session, presentation to introduce the course material, and the students can ask questions throughout the workshop.

Methods of assessment

Assessment typeNotes% of formal assessment
ProjectMini project100.00
Total percentage (Assessment Coursework)100.00

Normally resits will be assessed by the same methodology as the first attempt, unless otherwise stated

Reading list

The reading list is available from the Library website

Last updated: 07/07/2022 11:10:18


Browse Other Catalogues

Errors, omissions, failed links etc should be notified to the Catalogue Team.PROD

© Copyright Leeds 2019