CSC8311 : Advanced Programming for Biologists

Semester 2 Credit Value: 10
ECTS Credits: 5.0


To enhance scientific programming skills to a more advanced level.
To examine the scientific programming ecosystem.
To understand the importance of reproducible computational analysis.

This module aims to introduce more advanced concepts in programming that are essential for scientific programming. We will investigate further the many libraries in our chosen environment. We will examine scientific programming in practice, in a number of its different forms.

Outline Of Syllabus

Advanced issues in Programming
Libraries for Scientific Data analysis.
Tools for reproducible software engineering.
Case studies in software development within a scientific context.

Teaching Methods

Teaching Activities
Category Activity Number Length Student Hours Comment
Guided Independent StudyAssessment preparation and completion351:0035:00Coursework
Scheduled Learning And Teaching ActivitiesPractical271:0027:00Practicals
Guided Independent StudyIndependent study381:0038:00Background reading
Teaching Rationale And Relationship

Scheduled learning and teaching activities will be used to introduce new concepts in Scientific Programming. We will investigate how to store and access data, to use software to build computational models, and to perform analysis over it, using state-of-the-art library support within our chosen software environment.

Other scheduled learning and teaching activities will be used to reinforce and expand the material presented in the scheduled learning and teaching activities and to discuss the findings of literature surveys on aspects of the technology introduced. A large practical component will help to build skills in scientific programming and large-scale data analysis.

Assessment Methods

The format of resits will be determined by the Board of Examiners

Other Assessment
Description Semester When Set Percentage Comment
Practical/lab report1M10030 hours
Assessment Rationale And Relationship

The practical and the subsequent report will test the students' enhanced understanding and ability to develop scientific programs, to make appropriate use of software enginneering tools, enabling reproducibility.

Reading Lists