CSC8317 : Introductory Programming for Biologists

Semester 1 Credit Value: 10
ECTS Credits: 5.0


To introduce the concept of computer programming.
To explain what is meant by an algorithm.
To teach students how to devise algorithms and approaches to tackle biological problems.
To provide a grounding in program design and implementation, programming environments and introduce practical exercises in writing bioinformatics software using a specific programming language.

The ability to write computer programs is a skill that is essential for working in fields that lie at the interface between computing and biology. An understanding of how to program is also a skill that is becoming increasingly useful for biologists as biology becomes more of a data-rich science. This module places an emphasis on clear design and development of programs, teaching how to break problems down to provide simpler and easier to use solutions; biological examples are used where-ever possible. You will apply your skills at a practical level with a commonly used bioinformatics programming language. The basic skills learnt here can be applied to any programming language.

Outline Of Syllabus

What is programming?
The building blocks and structure of computer programs.
Tackling a biological problem.
Algorithms and some examples.
Introduction to a programming language for bioinformatics.
Methods and data structures for nucleotide and protein sequence handling and analysis.

Teaching Methods

Teaching Activities
Category Activity Number Length Student Hours Comment
Scheduled Learning And Teaching ActivitiesLecture241:0024:00Lectures
Guided Independent StudyAssessment preparation and completion280:3014:00Revision for end of Semester exam & exam duration
Guided Independent StudyAssessment preparation and completion121:0012:00Coursework
Guided Independent StudyAssessment preparation and completion241:0024:00Lecture follow-up
Scheduled Learning And Teaching ActivitiesPractical121:0012:00Practicals
Guided Independent StudyIndependent study141:0014:00Background reading
Teaching Rationale And Relationship

Lectures will be used to introduce the learning material and for demonstrating the key concepts by example. Students are expected to follow-up lectures within a few days by re-reading and annotating lecture notes to aid deep learning.

This is a very practical subject, and it is important that the learning materials are supported by hands-on opportunities provided by practical classes. Students are expected to spend time on coursework outside timetabled practical classes.

Students aiming for 1st class marks are expected to widen their knowledge beyond the content of lecture notes through background reading.

Students should set aside sufficient time to revise for the end of semester exam.

Assessment Methods

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

Description Length Semester When Set Percentage Comment
Written Examination901A30Open book exam
Other Assessment
Description Semester When Set Percentage Comment
Practical/lab report1M70Programmatic code. (20 hours)
Assessment Rationale And Relationship

The examination will assess the students’ understanding of program and algorithm design, basic programming concepts and the use of an object oriented language. The coursework will assess the students’ ability to use this understanding in a practical setting.

Study abroad students may request to take their exam before the semester 1 exam period, in which case the length of the exam may differ from that shown in the MOF.

N.B. This module has both “Exam Assessment” and “Other Assessment” (e.g. coursework). If the total mark for either assessment falls below 40%, the maximum mark returned for the module will normally be 40%.

Reading Lists