<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
<document>
<title>Informatik 1</title>
<cid>PIB-INF1</cid>
<sapsubmodule>P221-0024</sapsubmodule>
<bkey>pi2</bkey>
<ctypes>
<hours>3</hours>
<type>V</type>
<hours>1</hours>
<type>U</type>
</ctypes>
<cp>5</cp>
<semester>1</semester>
<mandatory>ja</mandatory>
<language>Deutsch</language>
<admission>Übungen</admission>
<exam>Klausur, Dauer 120 min.</exam>
<curriculum>
<curriculum_entry>
<cid>PIB-INF1</cid>
<branch>Praktische Informatik</branch>
<semester>1</semester>
<mandatory_tag>Pflichtfach</mandatory_tag>
</curriculum_entry>
<curriculum_entry>
<cid>PIB-INF1</cid>
<branch>Praktische Informatik</branch>
<semester>1</semester>
<mandatory_tag>Pflichtfach</mandatory_tag>
</curriculum_entry>
</curriculum>
<workload>
Die Präsenzzeit dieses Moduls umfasst bei 15 Semesterwochen 60 Veranstaltungsstunden (= 45 Zeitstunden). Der Gesamtaufwand des Moduls beträgt bei 5 Creditpoints 150 Stunden (30 Stunden/ECTS Punkt). Daher stehen für die Vor- und Nachbereitung der Veranstaltung zusammen mit der Prüfungsvorbereitung 105 Stunden zur Verfügung.
</workload>
<prerequisites>
</prerequisites>
<prerequisitesfor>
<prerequisitefor>
<pfcid>PIB-DB</pfcid>
<pftitle>Datenbanken</pftitle>
</prerequisitefor>
<prerequisitefor>
<pfcid>PIB-INF2</pfcid>
<pftitle>Informatik 2</pftitle>
</prerequisitefor>
<prerequisitefor>
<pfcid>PIB-IREP2</pfcid>
<pftitle>Informatik 2 Repetitorium</pftitle>
</prerequisitefor>
<prerequisitefor>
<pfcid>PIB-PA</pfcid>
<pftitle>Projektarbeit</pftitle>
</prerequisitefor>
<prerequisitefor>
<pfcid>PIB-PR2</pfcid>
<pftitle>Programmierung 2</pftitle>
</prerequisitefor>
<prerequisitefor>
<pfcid>PIB-PRA</pfcid>
<pftitle>Praxisphase</pftitle>
</prerequisitefor>
<prerequisitefor>
<pfcid>PIB-TI</pfcid>
<pftitle>Theoretische Informatik</pftitle>
</prerequisitefor>
<prerequisitefor>
<pfcid>PIB-WA</pfcid>
<pftitle>Wissenschaftliches Arbeiten</pftitle>
</prerequisitefor>
<prerequisitefor>
<pfcid>PIB-WEB</pfcid>
<pftitle>Grundlagen der Webentwicklung</pftitle>
</prerequisitefor>
</prerequisitesfor>
<convenor>Prof. Dr. Klaus Berberich</convenor>
<convenor-person-key>kbe</convenor-person-key>
<lecturers>
<lecturer>Prof. Dr. Klaus Berberich</lecturer>
<lecturer-person-key>kbe</lecturer-person-key>
</lecturers>
<objectives>Nach erfolgreichem Absolvieren dieses Moduls sind die Studierenden in der Lage, Algorithmen zur Lösung grundlegender Probleme zu formulieren und zu analysieren. Sie verstehen, wie Zahlen und Zeichen im Rechner dargestellt werden, können zwischen verschiedenen Zahlensystemen umwandeln und in diesen rechnen.

Die Studierenden kennen die zentralen Begriffe und Regeln der Aussagenlogik und sind fähig, diese anzuwenden, um die Äquivalenz zweier Ausdrücke zu überprüfen. Mithilfe des Maschinenmodells Random-Access-Machine (RAM) erlernen sie die elementaren Operationen eines Computers. Sie können einfache Programme mit den Befehlen der RAM implementieren, deren Korrektheit beweisen sowie deren Zeit- und Platzbedarf bestimmen.

Darüber hinaus werden die Studierenden mit grundlegenden Algorithmen – etwa zum Suchen und Sortieren – vertraut. Sie können diese als Bausteine kombinieren, um komplexere Probleme zu lösen. Anhand dieser Algorithmen verstehen sie zudem zentrale Lösungsstrategien wie Teile-und-Herrsche, Rekursion und gierige Algorithmen.

Ergänzend dazu lernen die Studierenden elementare Datenstrukturen kennen, darunter einfach und doppelt verkettete Listen, MinHeaps sowie binäre Suchbäume, und können diese situationsgerecht auswählen und einsetzen.</objectives>
<content>1. Einführung

2. Grundlagen
2.1 Zahlensysteme
2.2 Boole&quot;sche Algebra
2.3 Zeichendarstellung

3. RAM als Maschinenmodell
3.1 Bestandteile
3.2 Korrektheit von Programmen
3.3 Laufzeit von Programmen

4. Algorithmen
4.1 Pseudocode
4.2 Suchen
4.3 Sortieren 

5. Datenstrukturen
5.1 Dynamische Arrays
5.2 Verkettete Listen
5.3 Warteschlangen
5.4 Binäre Suchbäume
5.5 Hashtabellen</content>
<media>Folien, Videos, RAMses als Werkzeug zum Erlernen der RAM-Befehle, vorlesungsbegleitende theoretische Übungen.</media>
<literature>Cormen Thomas H., Leiserson Charles E., Rivest Ronald L. und Stein Clifford: Algorithmen - Eine Einführung, De Gruyter, 2025

Gumm Hans-Peter und Sommer Manfred: Informatik (Band 1): Programmierung, Algorithmen und Datenstrukturen, De Gruyter, 2016

Saake Gunter und Kai-Uwe Sattler: Algorithmen und Datenstrukturen: Eine Einführung mit Java, dpunkt.verlag, 2020

Sedgewick Robert und Wayne Kevin: Algorithmen und Datenstrukturen, Pearson Studium, 2014</literature>
<offered>
<semshort>WS 2024/25</semshort>
<semshort>WS 2023/24</semshort>
<semshort>WS 2022/23</semshort>
<semshort>WS 2021/22</semshort>
<semshort>WS 2020/21</semshort>
<semshort>WS 2019/20</semshort>
<semshort>WS 2018/19</semshort>
<semshort>WS 2017/18</semshort>
</offered>
<moduldb-query>Mon Mar 16 06:34:24 CET 2026, CKEY=pi1, BKEY=pi2, CID=[?], LANGUAGE=de, DATE=16.03.2026</moduldb-query>
</document>
