Gwybodaeth Modiwlau

Module Identifier
Module Title
Programming for Scientists
Academic Year
Semester 1
Only available to MSc students in departments other than Computer Science
Other Staff

Course Delivery

Delivery Type Delivery length / details
Lecture 10 x 2 hour lectures
Practical 10 x 2 hour practicals


Assessment Type Assessment length / details Proportion
Semester Assessment Practical programming assignment 1  40%
Semester Assessment Practical programming assignment 2  60%
Supplementary Assessment Resubmission of failed/non-submitted coursework components or ones of equivalent value  100%

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.


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 use of the scripting language 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.

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.


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. SBML and other examples.
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
Subject Specific Skills
Team work

Reading List

General Text
Johnson, Mark J. A concise introduction to programming in Python /Mark J. Johnson. Primo search Lutz, Mark. (c2009.) Learning Python /Mark Lutz. 4th ed. O'Reilly Primo search McKinney, Wes. (2012.) Python for data analysis /Wes McKinney. O'Reilly Primo search Zelle, John M. (c2010.) Python programming :an introduction to computer science /John M. Zelle. 2nd ed. Franklin, Beedle Primo search


This module is at CQFW Level 7