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)

Prerequisites#

  • 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:

Grading#

  • written exam 90 minutes

The examination is based on the intended learning outcomes.

Workload breakdown#

Semester schedule & workload breakdown

Materials#

Covered during the semester:

Supplementary:

Time & Room#

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