<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
<document>
<title>Informatik 1 Repetitorium</title>
<cid>PIB-IREP1</cid>
<bkey>pi2</bkey>
<ctypes>
</ctypes>
<cp>0</cp>
<semester>1</semester>
<mandatory>nein</mandatory>
<language>Deutsch</language>
<exam>
</exam>
<curriculum>
<curriculum_entry>
<cid>PIB-IREP1</cid>
<branch>Praktische Informatik</branch>
<semester>1</semester>
<mandatory_tag>Wahlpflichtfach</mandatory_tag>
</curriculum_entry>
<curriculum_entry>
<cid>PIB-IREP1</cid>
<branch>Praktische Informatik</branch>
<semester>1</semester>
<mandatory_tag>Wahlpflichtfach</mandatory_tag>
</curriculum_entry>
</curriculum>
<prerequisites>
</prerequisites>
<prerequisitesfor>
</prerequisitesfor>
<convenor>Prof. Dr. Klaus Berberich</convenor>
<convenor-person-key>kbe</convenor-person-key>
<lecturers>
<lecturer>Moritz Niederer, M.Sc.</lecturer>
<lecturer-person-key>mni</lecturer-person-key>
</lecturers>
<objectives>Die Studierenden sind nach erfolgreichem Absolvieren dieses Moduls in der Lage, Algorithmen zur Lösung einfacher Probleme zu formulieren und zu analysieren. Die Studierenden verstehen wie Zahlen und Zeichen im Rechner dargestellt werden. Sie können zwischen den zugrundeliegenden Zahlensystemen umwandeln und darin rechnen. Die Studierenden kennen Grundbegriffe und Regeln der Aussagenlogik und können diese anwenden, um die Äquivalenz zweier Ausdrücke zu entscheiden. Anhand des Maschinenmodells Random-Access-Machine (RAM) lernen die Studierenden elementare Operationen eines Computers kennen. Sie können einfache Programme mit den Befehlen der RAM implementieren, deren Korrektheit beweisen sowie deren Zeit- und Platzkomplexität bestimmen. Die Studierenden werden mit grundlegenden Algorithmen (z.B. zum Suchen und Sortieren) vertraut und können diese als Bausteine zur Lösung komplexerer Probleme zusammensetzen. Anhand dieser grundlegenden Algorithmen verstehen die Studierenden wichtige Lösungsstrategien (z.B. Teile-und-Herrsche, Rekursion und dynamische Programmierung). Sie lernen zudem elementare Datenstrukturen (z.B. verkettete Listen und binäre Heaps) kennen und können diese sinnvoll situationsabhängig einsetzen.</objectives>
<content>1. Einführung
 
2. Mathematische Grundlagen
2.1 Zahlensysteme
2.2 Boole´sche Algebra
 
3. RAM als Maschinenmodell
3.1 Bestandteile
3.2 Korrektheit von Programmen
3.3 Laufzeit von Programmen
 
4. Algorithmen
4.1 Pseudocode einer höheren Programmiersprache
4.2 Suchen
4.3 Sortieren
 
5. Datenstrukturen
5.1 Dynamische Arrays
5.2 Verkettete Listen
5.3 Binäre Heaps
5.4 Binäre Suchbäume
5.5 Hashtabellen</content>
<literature>Cormen Thomas H., Leiserson Charles E., Rivest Ronald L. und Stein Clifford: Algorithmen - Eine Einführung, Oldenbourg , 2013
 
Gumm Hans-Peter und Sommer Manfred: Einführung in die Informatik, Oldenbourg Verlag, 2012
 
Sedgewick Robert und Wayne Kevin: Algorithmen und Datenstrukturen, Pearson Studium, 2014</literature>
<offered>
</offered>
<moduldb-query>Tue Aug 11 07:26:00 CEST 2026, CKEY=pi1r, BKEY=pi2, CID=[?], LANGUAGE=de, DATE=11.08.2026</moduldb-query>
</document>
