Informatics 1 syllabus#

Unix and programming fundamentals.

4 SWS, 5 ECTS, in degree program LSI Master and ICS

Intended learning outcomes#

The purpose of the course is for you (the student) to learn to:

(Part 1: Unix)

  • describe what fundamental Unix environment tools do

  • use Unix shell commands to carry out tasks like

    • inspecting, moving, copying, deleting files and folders

    • consulting documentation

    • applying a chain of data processing commands on an input data (piping)

  • implement shell scripts for automating tasks on a Unix system, e.g., file management and text processing

  • apply regular expressions on text to extract relevant information

  • understand the advantage of git, GitHub, cloud computing and carry out basic git and cloud computing tasks

(Part 2: Python)

  • use the the following tools of programming to create applications:

    • expressions, conditionals, functions

    • loops

    • data structures like lists, dictionaries, sets

  • select the right data structure for a given data processing task

(In general)

  • breakdown programs into various components, explain what these components do

  • make sense of typical programming error outputs and find a fix

  • classify a problem based on if the problem can be solved more efficiently with the Unix shell or Python

  • evaluate someone else’s work and give constructive feedback (e.g, in context of peer-assessed exercises)


  • Computer science fundamentals (e.g., information, hardware, software, operating systems, shells, algorithms)

Content (what we do to reach the learning outcomes)#

Part 1: The Unix workbench

  • Unix and command line basics

  • Working with Unix

  • Bash programming

  • Git & GitHub & cloud computing

Part 2: Introduction to programming with Python (in context of interactive programming)

  • Statements, expressions, variables

  • Functions, logic, conditionals

  • Event-driven programming, local/global variables

  • Canvas, drawing, timers

  • Lists, keyboard input, the basics of modeling motion

  • Mouse input, list methods, dictionaries

  • Classes and object-oriented programming

  • Basic game physics, sprites

  • Sets and animation

Didactic methods#

To reach the learning outcomes we will use the following didactic methods:


Portfolio exam comprising:

  • written exam 1 hour (70 %)

  • 1x programming mini-project presentation (8 %)

  • 1x peer feedback to a peer about their mini-project (2%)

  • 2x midterm exams (2x 10 %)

The examination is based on the intended learning outcomes.

Midterm exam#

  • The midterm exam typically takes place in the fourth week and towards to the end of the class.

  • You must be present in the class, unless you still could not arrive in Germany. In the latter case it is not guaranteed that your grade is officially recognized.

  • You can use up to 45 min for the exam.

Mini-project presentation#

  • You present a Python mini-project or Unix workbench-related project. The latter can be:

    • (1) the capstone project + two Bash programming exercises

    • (2) a Bash script with similar complexity and workload to (1)

  • If you intend to present in the next sessions, you post the project that you want to present on the course discussion board (e.g., Moodleoverflow).

  • The presentation takes about 10 to 15 min.

Peer feedback#

  • You give constructive feedback during a mini-project presentation.

  • If you intend to give feedback, you follow the same procedure as in mini-project presentation.

Other details#

  • Every week there will be up to three presentations.

  • I you do not volunteer for the mini-project presentation & peer feedback or are not present for the exams, it is not possible to get alternative grading.

Workload breakdown#

Semester schedule & workload breakdown



Time & Room#

This course takes place only in winter semester. For time and room refer to Thabella LSI-1.