C2110 UNIX Operating System and Programming Basics

Faculty of Science
Autumn 2023
Extent and Intensity
0/2/0. 2 credit(s) (plus extra credits for completion). Type of Completion: k (colloquium).
Teacher(s)
RNDr. Petr Kulhánek, Ph.D. (lecturer)
Ing. Tomáš Trnka, Ph.D. (lecturer)
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, P. Kulhánek, T. Trnka
C2110/02: Tue 8:00–9:50 C04/118, P. Kulhánek
C2110/03: Tue 10:00–11:50 C04/118, P. Kulhánek
Prerequisites
Basic work with PC (for example MS Windows XX, Word, Excel)
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
At the end of the course, students should be able to use basic commands of Unix and Linux operating systems, combine them into more complex structures using scripting, and create scripts in the AWK and Gnuplot programming languages. Students should be able to combine their scripting knowledge to analyze the outputs of basic scientific and technical calculations. The acquired skills are a prerequisite for molecular modelling, bioinformatics, and effective use of supercomputing infrastructure. The programming fundamentals will serve for further study of programming in compiled (C/C++, Fortran) or interpreted (Python) languages.
Learning outcomes
Student will be able to * know the basic commands of Unix and Linux * combine these commands into more complicated constructions using scripting * create scripts in programming languages AWK and Gnuplot * perform an automated analysis of the results of scientific and technical calculations
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
  • 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
Further Comments
The course is taught annually.
Teacher's information
This course is not given in English in PS 2023.
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 2024.
  • Enrolment Statistics (Autumn 2023, recent)
  • Permalink: https://is.muni.cz/course/sci/autumn2023/C2110