Module Information

Module Identifier
Module Title
Programming for Scientists
Academic Year
Semester 1
Reading List
Other Staff

Course Delivery



Assessment Type Assessment length / details Proportion
Semester Assessment Programming assignment  40%
Semester Exam 2 Hours   Exam  60%
Supplementary Assessment Programming assignment  40%
Supplementary Exam 2 Hours   Exam  60%

Learning Outcomes

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

Write code to perform common tasks relevant to the study schemes of the students

Query/modify a data file or a database

Make use of data in XML format

Retrieve information from popular APIs relevant to the study schemes of the students.

Brief description

This module will, using the Python programming language, teach the basics of programming and how to manipulate and organise data relevant to the study schemes of the students taking the module.


This module aims to equip the students with programming skills for information retrieval, data manipulation, data/model/knowledge storing and sharing, and high performance computing. It will emphasise the use of Python to carry out tasks in and manage data using conventional files and database, as well as specialist tools relevant to the MSc for which the students are studying.


1. Basics of Python: types, variables, if, for, while, functions. Understanding how to use the interpreter, how to read error messages, how to write and run code.
2. Reading and writing files. Examples of a variety of file formats relevant to the study schemes of the students. Example programming tasks collecting basic information from these files, reformatting files. General familiarity and experience using Python.
3. Databases: Examining database structure (tables, keys, relations). Interfacing to databases using SQL and Python. Basic design of databases.
4. XML: structure, parsing, correctness and schema.
5. Using (remote) APIs to query (online) resources.

Module Skills

Skills Type Skills details
Application of Number Inherent to science schemes
Improving own Learning and Performance Inherent in the module.
Information Technology Programming, data management
Personal Development and Career planning Gives students practical skills for a career in this field
Problem solving Identifying and using programming techniques to solve problems relevant to topics of their study scheme.
Research skills Problem analysis, data resource discovery, experimental design, data analysis


This module is at CQFW Level 7