Linux programming for biologists

Linux programming for biologists

Delivery institution

Faculty of Science
Department of Ethology

Instructor(s):

Dávid Jónás

Start date

7 September 2026

End date

11 December 2026

Study field

CHARM priority field

Study level

Study load, ECTS

3

Short description

In this course the students will learn about the basics of Linux operating systems, accessing servers distantly the basics of Bash programming and programming in general. The course is practice-focused with with emphasis on developing basic programming logic skills, command-line data analysis, efficiency and appropriate working ethics on shared servers (server resource management).
A project work will enable students to learn how to share workload and optimize outcome in a bioinformatics/programming project.

Full description

In this course, the students will learn how Linux/UNIX operating systems work, understand the benefits and drawbacks of these systems and will gain basic skills in programming and develop basic programming logic skills.
At the end of the course, the students will be able to control Linux/UNIX systems using command line tools, run software in the command line and to solve bioinformatics problems from the command line. The students will also know how to reach distant servers on a network, move files between computers/servers and execute commands on a distant server that runs a Linux/UNIX operating system. Students will be able to manage and analyse data using the Linux system directly, estimate resource requirements for computational tasks and monitor resource usage of those tasks.
The students will learn how to work efficiently and how to use responsibly the resources of large servers. Emphasis will be put on appropriate working eithcs: students will learn how to use monitor their server resource usage and how to use servers with multiple users, without disturbing other users in their work/research.

Topics:
I. Basics of the bash programming language, basic commands
II. Writing bash scripts
III. Types of bash variables and their usage; built-in variables
IV. Bash conditions, logical operators
V. Programming logic I.
VI. Practice I.
VII. Bash loops and loop control
VIII. Command-line arguments and their usage in scripts
IX. Programming logic II.
X. Practice II.
XI. Monitoring resource usage, resource management
XII. Responsible work of bioinformaticians on servers
+Project work to be implemented as a self-study in groups.

Evaluation
The students will take a colloquium during the examination period. The colloquium will consist of two parts: a theoretical test and a practical task. The theoretical test can include both multiple choice and essay type questions. The practical task consists of programming tasks, which has to be solved by the students independenty.

Learning outcomes

At the end of the course, the learner will be able to design and implement basic bioinformatics analysis pipelines in a Linux environment, monitor their own server resource usage.

Course requirements

The course requires a computer from the students and certain programs to be installed, which enables the students to log in to the server that will be used during the course. The lecturer will provide assistance for installing these programs.
No programming skills are expected.

Places available

15

Course literature (compulsory or recommended):

Course literature (compulsory or recommended): Course materials (presentation slides, lecture notes)
Recommended: Machtelt Garrels: Bash guide for beginners (available online at: https://tldp.org/LDP/Bash-Beginners-Guide/html/)

Planned educational activities and teaching methods:

Lecture: 45 minutes
Practical: 45 minutes
A project work: the students will have to implement a project work during the second half of the course in groups. This will include the analysis of different types of genetic data (example project: write a Bash code that will identify all open reading frames on a provided DNA sequence).
Consultation: additional consultation hours will be provided, if requested by the students.

Language

Assessment method

Final certification

Transcript of records

Assessment date

14 December 2026

Modality

Learning management System in use

Microsoft Teams, Moodle

Contact hours per week for the student:

2

Specific regular weekly teaching day/time

Lectures: Mondays, 13:00-14:00 CET; Practicals: Mondays, 14:00-15:00 CET

Time zone