Module Information

Module Identifier
CSM0120
Module Title
Programming for Scientists
Academic Year
2016/2017
Co-ordinator
Semester
Semester 1
Pre-Requisite
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 5 x 2 Hour Practicals
 

Assessment

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.

Aims

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 amanage data using conventional files and databasae, 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.

Content

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
Communication
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

Notes

This module is at CQFW Level 7