Module Information

Module Identifier
Module Title
Scientific Python
Academic Year
Semester 2
Exclusive (Any Acad Year)
Exclusive (Any Acad Year)
Exclusive (Any Acad Year)
Reading List
Other Staff

Course Delivery



Assessment Type Assessment length / details Proportion
Semester Assessment 5 Practical worksheets  (Demonstrator sign-off or marking of submitted work)  30%
Semester Exam 3 Hours   Online, open book exam  70%
Supplementary Exam 3 Hours   Online, open book exam  100%

Learning Outcomes

On successful completion of this module students should be able to:

Plan and execute a computational scientific experiment.

Demonstrate an ability to write small programs in Python

Demonstrate an understanding of the potential biases and sources of error in science.

Analyse a data set (process data, apply appropriate tests, calculate summary statistics, plot results).

Brief description

This module introduces students to the Python programming language and to the use of Python and its library modules for processing scientific data. The module also covers the principles of Scientific Method: the basic structure of a scientific experiment, making and testing hypotheses, and issues such as achieving randomness and sources of sample bias. This in turn leads to using Python's advanced library modules to apply statistics and hypothesis testing to scientific datasets.


The module introduces the student to Python and uses Python as the programming language to solve various data analysis-related tasks. This leads to the study of more advanced scientific data analysis principles and corresponding programming techniques.


Introduction to the Python Language: types, variables, flow-control statements, loops. The interactive interpreter and evaluation of simple expressions.

Python's basic data structures: List, tuples, dictionaries and sets.

Functions: Function definition, calling, parameter passing and value return.

The NumPy module: Data arrays and vectorised operations

Organising code: Creating and using modules. Generating documentation. Handling exceptions.

File handling: Reading and writing text and CSV data files.

Plotting: Manipulating data and plotting results.

The Scientific Method: Structure of a scientific investigation. Occam's razor. Hypotheses. Controls. Correlation vs causation. Falsification. Controlled and double blind trials.

Introduction to modules for scientific data processing.

Randomness: Sources of randomness and random number generators. Random distributions. Random sampling.

Descriptive statistics: how do we summarise data?

Hypothesis testing: determining whether there is enough evidence to draw a conclusion.

Correlation (are there relationships between your data) and Regression (what are those relationships? and can we make predictions?).

Sampling from data.

Application to real data.

Review and revision classes.

Module Skills

Skills Type Skills details
Application of Number Inherent in subject.
Communication Documenting code.
Improving own Learning and Performance From feedback (automatic feedback from computer and in-practical feedback from demonstrators).
Information Technology Inherent in subject.
Personal Development and Career planning No, though the skills in this module are highly in demand from employers.
Problem solving Problems will need to be overcome in order to develop solutions that behave and appear as intended.
Research skills Using a Computer. Searching the language and library documentation.
Subject Specific Skills Programming skills, debugging skills, statistics skills, data analysis skills.
Team work No.


This module is at CQFW Level 5