Einführung in die Informatik

Since 2011, I have been teaching the Introduction to Computer Science lecture (in German). This lecture is aimed at first-semester students, and it is followed by the lecture Algorithms and Data Structures in the summer terms.    Studium

Credits

We are happy that there are more than 200 students attending every winter semester. However, these numbers call for a team effort: I’m very thankful for the help of all (student) tutors and in particular for the great support by my colleagues Ilona Blümel (until 2018), Christian Braune (since 2018) and Thomas Wilde (since 2021) who organize exercise groups, tutorials, etc.

Overview

The lecture is aimed at students in the first semester. It provides an overview of topics in Computer Science as well as an introduction to computer programming, which is intensified in the exercises.

Contents

  • What is an algorithm?
  • Simple algorithms in Java
  • Functions as a means of abstraction
  • Recursion
  • Object Oriented Programming
  • Programming paradigms
  • Algorithms: searching & sorting
  • Analysis of algorithms: correctness & complexity
  • Abstract data types
  • Computability & decidability

Organization

extent (week) 3h lecture + 2h exercises + 1h tutorial
credit points 8
course language German (literature partially in English)
prerequisites none
recommended semester 1 (or 2 when starting in summer)
follow-up AuD
official times & dates please search LSF (no permalink available)

Literature

This lecture follows closely selected chapters in

Gunter Saake and Kai-Uwe Sattler.
Algorithmen und Datenstrukturen: Eine Einführung mit Java.
6th edition, dpunkt-Verlag2020

Additional literature

Robert Sedgewick and Kevin Wayne.
Algorithms.
4th edition, Addison-Wesley2011
Michael T. Goodrich and Roberto Tamassia.
Data Structures and Algorithms in Java.
6th edition, Wiley2014