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:
Labs with feedback sessions
Mini projects
Grading#
written exam 90 minutes
The examination is based on the intended learning outcomes.
Workload breakdown#
Materials#
Covered during the semester:
-
accompanying lecture notes: aydos.de/unix-workbench
-
Interactive programming with Python 1 - Coursera and part 2
accompanying lecture notes: aydos.de/interactive-python
Supplementary:
Mastering Linux shell scripting contains exercises at the end of each chapter. Relevant chapters: 1-7, 11. Solutions are in the appendix.
-
Python exercises:
Time & Room#
This course takes place only in winter semester. For time and room refer to Thabella LSI-1.