Linux and Python Programming

Course content

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.

Education

MSc Programme in Bioinformatics
MSc Programme in Biology - Biotechnology

Learning outcome

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

Lectures and exercises mixed (6-9 hours per week)

See Absalon.

MSc students and BSC students in their 3rd year.

Participants are expected to bring a laptop equipped with a network card to class (contact the teacher if not possible).

ECTS
7,5 ECTS
Type of assessment
Written assignment, 5 days
Individual, written take-home exam.
Marking scale
7-point grading scale
Censorship form
No external censorship
Several internal examiners/co-examiners.
Criteria for exam assessment

See learning outcome

Single subject courses (day)

  • Category
  • Hours
  • Preparation
  • 139
  • Lectures
  • 21
  • Practical exercises
  • 21
  • Exam
  • 25
  • English
  • 206