Unix & Python Programming for Bioinformaticians, MSc
Overall Course Objectives
The student should be able to solve bioinformatic problems in a structured manner using Python in a Unix environment, for example during project work. It is an important goal to teach the student how to think when programming.
See course description in Danish
Learning Objectives
- use the command line of Unix with 10-15 common Unix commands, inclusive file system navigation, pipelines, process and file system control.
- demonstrate and explain the python syntax, object mode, data structures, classes and 65-70 Python methods/functions.
- exercise pattern recognition in (bioinformatic) data files in order to extract information.
- apply methods/programming techniques demonstrated in the course to similar problems.
- analyze a (programming) problem and ascertain its components, and create an efficient solution by applying the right components in the right order.
- analyze a program and, based on its behavior, locate and eradicate errors.
- evaluate the quality of the code, based on criteria shown in the course, and ensuring the code meets quality standards by employing the unit test technique.
- write clear, precise and well documented code, which is suitable for greater collaborative efforts.
- evaluate the performance and efficiency of code with respect to speed and memory consumption using Big O notation.
- utilize code libraries, both scientific and other, for fast and good solution of programming tasks.
Course Content
This course provides an introduction to Unix, which is widely used in bioinformatics. The students learn basic commands, file manipulation, input / output redirection, file system structure and process manipulation. The course builds on the existing knowledge of Python, and de studerende learn about regular expressions, advanced data structures, functions, Python’s object model, classes, unit tests, and scientific libraries. This is done under an umbrella of exercises based on bioinformatics and data analysis problems.
The exercises must be peer-evaluated and integrated with the lectures. Students in groups of two will get a minor programming project during the course, possibly a project of their own design. Individual contributions to the project must be stated to facilitate individual assessment. A student will also peer-evaluate another group’s project.
Teaching Method
Lectures and computer exercises
Faculty
Remarks
Repeaters can reuse previously accepted exercises and project.