Nr. | Art | Termine | Raum | Veranstalter |
---|---|---|---|---|
080031 | V4 | Di 10:15 - 11:45 | LMS8 - R.EG.017 | Hanus |
Do 12:15 - 13:45 | LMS8 - R.EG.017 | |||
080029 | Ü2 | Do 14:15-15:45 | LMS8 - R.EG.017 | Hanus, Bunkenburg |
Dienstag, 12.4.2022, 10:15 Uhr, LMS8 - R.EG.017
Studierende in den Bachelor- und Masterstudiengängen Informatik und im Masterstudiengang Wirtschaftsinformatik sowie mit Nebenfach Informatik
Grundstudium (1.-4. Semester) in Informatik, insbesondere Fortgeschrittene Programmierung
In dieser Vorlesung werden grundlegende Prinzipien heutiger Programmiersprachen vorgestellt. Dabei steht die praktische Anwendung von Sprachkonzepten zur Lösung von Softwareproblemen im Vordergrund.
Bei der Programmierung kommt es weniger darauf an, irgendein Programm zu schreiben, das eine gegebene Aufgabe löst. Vielmehr muss das Programm so geschrieben sein, dass es verständlich und damit wartbar ist, und es muss auch an neue Anforderungen leicht anpassbar sein. Daher ist es wichtig, die für die Problemstellung geeigneten Programmiersprachen und Sprachkonstrukte zu verwenden. Leider gibt es nicht die für alle Probleme gleich gut geeignete universelle Programmiersprache. Daher ist es wichtig zu wissen, welche Sprachkonzepte für welche Problemstellungen geeignet sind. Diese Vorlesung soll hierzu einen Beitrag leisten, indem ein Überblick über wichtige Sprachkonzepte moderner Programmiersprachen gegeben wird. Dadurch werden die Studierenden in die Lage versetzt, sich einerseits schnell in unbekannte Programmiersprachen einzuarbeiten (da viele Konzepte in den verschiedenen Sprachen immer wieder vorkommen), andererseits sollen sie verschiedene Sprachen und Sprachkonzepte aufgrund ihrer Eignung für ein Softwareproblem kritisch beurteilen können.
Die begleitenden praktischen Übungen werden in verschiedenen Programmiersprachen wie z.B. Java, Haskell und Prolog durchgeführt. Hinweise auf die Benutzung dieser Sprachen findet man im Modul Fortgeschrittene Programmierung.
Am Ende der Vorlesung findet eine mündliche Abschlussprüfung statt. Die Zeiten werden später individuell vereinbart.
Es gibt ein Skript zur Vorlesung, das nur innerhalb der CAU Kiel zugreifbar ist. Dieses Skript ist kein Ersatz für die Vorlesungsteilnahme, es beinhaltet aber den ungefähren Vorlesungsverlauf und ist hoffentlich eine gute Unterstützung. Dieses wird im Verlauf der Vorlesung überarbeitet. Wer darin keine Fehler entdeckt, hat bestimmt nicht ordentlich gelesen. Es wäre es schön, wenn Fehler an Michael Hanus mitgeteilt werden.
12.4.2022: | Einführungsfolien (PDF) |
19.4.2022: | SOS in Prolog |
21.4.2022: | Semantik von Ausdrücken ...und Anweisungen |
24.5.2022: | Quicksort: imperativ vs. funktional Einfache Haskell-Beispiele |
7.6.2022: | funsum (Rank2-Typen) Grenzen der Typinferenz List-Klasse in Scala Case-Klassen in Scala |
9.6.2022: | Einfache Prolog-Prädikate |
14.6.2022: | Hypothekenberechnung mit CLP(R) |
16.6.2022: | Kryptarithmetisches Puzzle Fakultät mit FD-Constraints |
21.6.2022: | Puffer in Ada |
23.6.2022: | Pythagoreische Tripel in Go Puffer in Java |
28.6.2022: | Prozesserzeugung in Haskell |
30.6.2022: | Synchrone Wertübergabe in Haskell Ping-Ping-Prozesse in Erlang Datenbankserver in Erlang |
5.7.2022: | Futures in Java Software Transactional Memory in Haskell |
Die folgende Liste enthält einige Vorschläge zur Vertiefung der Themengebiete der Vorlesung.