C2110 UNIX Operating System and Programming Basics

Faculty of Science
Autumn 2024
Extent and Intensity
0/2/0. 2 credit(s) (plus extra credits for completion). Type of Completion: k (colloquium).
In-person direct teaching
Teacher(s)
RNDr. Petr Kulhánek, Ph.D. (lecturer)
Ing. Tomáš Trnka, Ph.D. (lecturer)
Mgr. Július Zemaník (seminar tutor)
Bc. Lucia Iľkovičová (seminar tutor)
Guaranteed by
RNDr. Petr Kulhánek, Ph.D.
National Centre for Biomolecular Research – Faculty of Science
Contact Person: RNDr. Petr Kulhánek, Ph.D.
Supplier department: National Centre for Biomolecular Research – Faculty of Science
Timetable of Seminar Groups
C2110/01: Mon 12:00–13:50 C04/118, L. Iľkovičová, P. Kulhánek, T. Trnka, J. Zemaník
C2110/02: Tue 8:00–9:50 C04/118, L. Iľkovičová, P. Kulhánek, T. Trnka, J. Zemaník
C2110/03: Tue 15:00–16:50 C04/118, L. Iľkovičová, P. Kulhánek, T. Trnka, J. Zemaník
Prerequisites
Basic work with PC
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 30 fields of study the course is directly associated with, display
Course objectives
The course provides a basic overview of Linux (Unix) operating system commands and their combination into more complex structures using bash scripting. Additionally, the course focuses on fundamental work with scripting languages AWK and Gnuplot, which can be used for analyzing data from experimental measurements or computer simulations. These skills are crucial for molecular modelling, chemoinformatics, bioinformatics, and the efficient utilization of supercomputing infrastructure. The course also offers foundational knowledge in algorithmization and programming, providing a solid base for further studies in compiled languages (C/C++, Fortran) or interpreted languages (Python, R).
Learning outcomes
After completing the course, the student will * know the basic commands of Linux operating systems * be able to combine commands into more complex constructions using scripting * be able to create scripts in AWK and Gnuplot programming languages * perform automated analysis of results from experiments and computer simulations
Syllabus
  • 1. Teaching organization * Course focus * WOLF cluster * Local login and remote access
  • 2. Linux as a desktop environment * Standard and scientific applications * Command documentation * Kerberos
  • 3. File system, creating and deleting directories, copying, renaming, and deleting files * Remote file transfer, hashing functions and their uses * Virtualization
  • 4. Processes, command and program execution, signals * Process communication with the environment, redirection, pipes
  • 5. Programming basics, algorithmization, data structures, arithmetic and logical operations * Text editors
  • 6. Programs vs scripts * Bash: interactive vs non-interactive mode, running scripts * Bash: setting and getting the value of a variable, interpreting strings, integer operations, variables and processes
  • 7. Bash: input and output * Bash: decision making, conditions
  • 8. Bash: while/until loop, block nesting * Syntax and logic errors, error finding, debugging
  • 9. Gnuplot: interactive and non-interactive execution, plot command * Gnuplot: scripts, terminals
  • 10. Bash: loop for ... in * Bash: loops and redirection * Bash: redirecting input in scripts
  • 11. AWK basics * AWK: variables
  • 12. AWK: Logical Operations * AWK: Cycles, Arrays
  • 13. Practice (bash+gnuplot+awk)
  • 14. Data compression and archives * Compiling programs from source code
Literature
  • Kameník, P. Příkazový řádek v Linuxu: praktická řešení, 2. vydání.; Computer Press: Brno, 2021.
  • HAHN, Harley and Peter NORTON. Průvodce UNIXEM od Petera Nortona : Jak komunikovat s UNIXEM, jak UNIX ukládá a zobrazuje informace, používání unixového systému souborů, práce s editorem vi : Peter Norton's Guide to UNIX (Orig.). 1.vyd. Brno: UNIS, 1993, XXIV, 562. info
  • BRANDEJS, Michal. UNIX - Linux : praktický průvodce. 1. vyd. Praha: Grada, 1996, 340 s. ISBN 8071691704. info
  • PETRLÍK, Lukáš. Jemný úvod do systému UNIX. 1. vyd. České Budějovice: Kopp, 1995, 189 s. ISBN 80-85828-28-6. info
Teaching methods
lectures, exercising practical examples, class discussion
Assessment methods
Participation in seminars is required (two excused absences are allowed). Three tests (3 x 20 points) will occur during the semester. The student will elaborate an algorithm of a task in the form of a flow chart (10 points). The final test (50 points) will occur during the examination period. It will be followed by a task to write a script (30 points) according to written instructions. At least 110 points are required to pass the course.
Language of instruction
Czech
Follow-Up Courses
Study support
https://is.muni.cz/auth/el/sci/podzim2024/C2110/index.qwarp
Further Comments
Study Materials
The course is taught annually.
Teacher's information
This course is not given in English in PS 2024.
The course is also listed under the following terms Autumn 2007 - for the purpose of the accreditation, Spring 2000, Autumn 2010 - only for the accreditation, Spring 2001, Spring 2002, Spring 2003, Spring 2004, Spring 2005, Spring 2006, Spring 2007, Autumn 2007, Autumn 2008, Autumn 2009, Autumn 2010, Autumn 2011, Autumn 2011 - acreditation, Autumn 2012, Autumn 2013, Autumn 2014, Autumn 2015, Autumn 2016, autumn 2017, Autumn 2018, Autumn 2019, Autumn 2020, autumn 2021, Autumn 2022, Autumn 2023.
  • Enrolment Statistics (recent)
  • Permalink: https://is.muni.cz/course/sci/autumn2024/C2110