|
|
Einführung in die Informatik
- Signal, Nachicht, Information, Verarbeitung
- Dualsystem, Arithmetik, IEEE
- Huffman, Alphabete
- Wissen, Modell, Steuern, Regeln
- Systembegriff
- Algorithmenbegriff
- Von-Neumann-Architektur
- Semi-Thue, Markov
- Chomsky
Halbgruppen und Relationen
- Halbgruppen, Monoide
- Relationen, Graphen
- Relationen und Verbände
- Boole'sche Algebren
- Endliche Automaten
- Petrinetze
Termalgebren
- Ein- und mehrsortige Algebren
- Termalgebren
- Normalformen und Konfluenz
- Auswertung von Termen
- Termersetzungssysteme
- Vertiefung: Algorithmenbegriff
Aussagenlogik und Prädikatenlogik
- Aussagenlogik
- Kalküle der AL
- Normalformen der AL
- Prädikatenlogik
- Normalformen und Kalküle der PL
Funktionales Programmieren
- Lambda-Kalkül
- Funktionales Programmieren
- Haskell
- ADTs
- Bools, Zahlen, Zeichen, Liste, Tupel
- Definitionen und Kontrollfluß, Patterns, Guards
- Beispiele: Listen von… Zahlen, Zeichen, Wahrheitswerten
- Funktionen höherer Ordnung I
- Sortieren
- Listenbeschreibungen und Generatoren
- Funktionen höherer Ordnung II
- Unendliche Listen
- Typen, Typklassen, Vererbung
- Beispiele vordefinierter Typklassen
- Programmieren: Zusicherung, Fallunterscheidung, Zerlegung, Rekursion, Generate and Test
- Optimierung: Durchreichen von Zwischenergebnissen
Abstrakte Datentypen
- Natürliche Zahlen
- Listenbeschreibungen und Generatoren
- Keller
- Schlangen
- Prioritätsschlange
- Reihungen
- Datei
- Definitionen und Syntax: Module
- Binärbaum
- Tiefen- und Breitensuche
- Binäre Suchbäume
- Mengen und Vielfachmengen
Algorithmenkonstruktion
- Aufwand
- Teile und Herrsche (anhand von Sortierverfahren, Strassen)
- Gierige Algorithmen (Zeitpläne, spannende Bäume, Toposort)
| |