|
- Geschichte der Informatik (optional)
Geschichte der Hardware, Geschichte der Software,
Geschichte der Ideen
- Grundbegriffe
Elementare Logik, Aussagenlogik, Formeln der
Prädikatenlogik; Bäume; Endliche Automaten; Arithmetische
Operationen
- Algorithmenentwurf
Algorithmenbegriff; Berechnungsprobleme; abstrakte
Berechnungsmodelle; Kosten, Komplexität von Algorithmen,
Komplexität von Problemen; Korrektheit und Verifikation
von Algorithmen; Beispiele für elementare Algorithmen, z.
B. Arithmetik mit Binärzahlen, Rechnen mit div und mod,
Minimumsuche, Sortieren durch Einfügen, Sortieren durch
Minimumsuche
- Einführung in die Sprache Java
Einführende Beispiele, lexikalische Konventionen; Typen
und Werte; Konstanten und Variable, Typumwandlungen;
Ausdrücke und Operatoren, Anweisungen; Felder, Klassen,
Objekte und Methoden
- Strukturierte Programmierung
Systematischer Entwurf von Algorithmen, schrittweise
Verfeinerung; Steuerung des Befehlsflusses; Modularität;
Rekursive Prozeduren; einfache Datenstrukturen: Liste,
Stack, Queue, Binärbäume; Beispiele für Algorithmen, z.
B. Durchlaufstrategien für Bäume (preorder, inorder,
postorder), Heapsort, Entrekursivierung; Konzepte der
objektorientierten Programmierung
- Einführung in die nicht-prozedurale Programmierung
(optional)
- Einführung in die Sprache C (optional)
|
| LITERATUR: |
Martin Schader: Java - eine Einführung. Springer-Verlag,
Heidelberg, 1999
Les Goldschlager, Andrew Lister: Informatik - Eine moderne
Einführung. Hanser-Verlag, München, 1990
Uwe Schöning: Logik für Informatiker. Spektrum Akademischer
Verlag, Heidelberg, 2000 |