Unix as a Programming Environment

Module Code
Module Coordinators
Albert Schneider
Albert Schneider
Short Description
Basic Unix commands, filters, pipes, file system, inodes, shell scripts, makefiles, working with pointers, awk, TeX, system calls.
Learning Objectives

The students are able to work using UNIX/Linux, its CLI and shell. They know standard tools, particular features of the C programming language and parts of the UNIX system API and are capable of putting these into practical use. As a side benefit, they understand technical manual texts and are able to put into words and discuss programming issues in English, orally and in writing

  • Introduction: The shell, files, links, basic commands and options, pipes, filters, some standard tools: grep. sort, diff, ...
  • Files, file permissions, file systems and inodes
  • Shell variables, manipulating shell variables, the shell as a programming language, shell scripts
  • TeX and LaTeX
  • The C/C++ programming language, working with pointers, gcc/g++, makefiles
  • Introduction to Unix system calls, low and high level I/O, processes
Duration in Semester
Instruction Language
Total Effort
9 CrP; an estimated 270 hours, of which approximately 60 are spent in class.
Weekly School Hours
Method of Instruction

Practical Course 4 SWS

Requirements for the awarding of Credit Points

Examination: Realization of project tasks and final exam.

Evaluation Standard
according to examination regulations (§ 9)
As Needed
  • P Seebach: Portable Shell Scripting
  • P Prinz, T Crawford: C in a Nutshell
  • W R Stevens, S A Rago: Advanced Programming in the UNIX Environment
  • B W Kernighan and D M Ritchie: The C Programming Language, 2nd edition
  • B W Kernighan and R Pike: The Unix Programming Environment.
Prerequisite Modules