NBIK14032U Linux and Python Programming
MSc Programme in Bioinformatics
MSc Programme in Biology - Biotechnology
a) Unix/Linux: basic navigation, pipes, configuring the shell,
standard unix tools, networking, process control.
b) Programming: programming basics, data types, conditionals,
loops, functions, object oriented programming, pattern matching
(regular expressions), computational
complexity.
Knowledge:
After completing the Linux part of the course, the student will
have acquired a solid understanding of navigation in a Unix/Linux
environment, including basic navigation, pipes, standard unix
tools, networking, and process control.
After completing the Python part of the course, the student will
master key programming concepts such as data-types, variables,
conditionals, loops, and functions, and have an understanding of
the central concepts in object oriented programming and pattern
matching. Finally, the student will be familiar with the basic
concepts of computional complexity.
Skills:
The student is able to solve everyday tasks on a Unix/Linux system.
This involves copying/moving files, understanding the directory
structure, starting and killing processes, using other Linux/Unix
systems through remote login, and the ability to write pipelines
involving several Unix commands. The student is capable of solving
small to medium sized programming tasks in Python, including tasks
related to life sciences and bioinformatics. The student can
produce programs that are well-written, well-structured, and
well-commented.
Competences:
After completing the course, the student understands the Unix/Linux
environment, and knows which Unix/Linux software tools to apply for
a given task. The student is capable of solving the many small to
medium size programming tasks that arise in the life sciences and
bioinformatics, and is able to write well-structured and
maintainable programs in Python.
The student
- can explain the differences between various data-types in Python and can select the relevant type for a given programming task
- can give a detailed description of conditionals and loops, and is able to explain how loops relate to the complexity of a program
- can motivate the concepts of function and module, and give examples of how these tools should be used to structure code
- can explain the basic concepts of Object Oriented Programming, and give examples of appropriate uses of classes and object
- can identify problems for which regular expressions are well suited, and is able to construct an appropriate regular expression for a given pattern matching problem
- can give examples of how to handle errors in a program
- is capable of independently finding online information about external Python modules, and applying this information to solve a specific task
See Absalon.
Academic qualifications equivalent to a BSc degree is recommended.
- Category
- Hours
- Exam
- 25
- Lectures
- 21
- Practical exercises
- 21
- Preparation
- 139
- Total
- 206
- Credit
- 7,5 ECTS
- Type of assessment
- Written assignment, 5 daysIndividual, written take-home exam.
- Exam registration requirements
Approval of 80% of the weekly exercises.
- Aid
- All aids allowed
- Marking scale
- 7-point grading scale
- Censorship form
- No external censorship
Several internal examiners/co-examiners.
- Re-exam
80% of the exercises must be handed in and approved no later than three weeks before the reexamination.
If ten or fewer students have signed up for re-exam, the type of assessment will be changed to 30 minutes oral exam, 30 minutes preparation, all aids allowed.
Criteria for exam assesment
See learning outcome
Course information
- Language
- English
- Course code
- NBIK14032U
- Credit
- 7,5 ECTS
- Level
- Full Degree Master
- Duration
- 1 block
- Placement
- Block 1
- Schedule
- B
- Course capacity
- 175
- Continuing and further education
- Study board
- Study Board for the Biological Area
Contracting departments
- Department of Biology
- Department of Computer Science
Contracting faculty
- Faculty of Science
Course Coordinators
- Thomas Wim Hamelryck (thamelry@bio.ku.dk)
- Wouter Krogh Boomsma (wb@di.ku.dk)