Die Lehrveranstaltung vermittelt Theorie und Praxis der Programmierung von Software am Beispiel der Sprachen C, Java und Prolog.
Diskutiert werden Algorithmen und Datenstrukturen zum Sortieren und Suchen, Graphenalgorithmen, Algorithmen und Datenstrukturen zur Implementierung objekt-orientierter Sprachen sowie die deklarative Programmierung. Diese Inhalte werden im allgemeineren Kontext der Softwareproduktion eingebettet.
Die Leistungserfassung besteht aus einer mündlichen Prüfung und der semesterbegleitenden Bearbeitung der Übungsaufgaben. Zur Zulassung zur mündlichen Prüfung muss die Hälfte der Punkte aus den Übungsaufgaben erreicht werden; die Note wird in der mündlichen Prüfung festgelegt.
Organisatorisches und C | 01:27:15 | |
---|---|---|
Einführung | 00:22:22 | |
C | 00:18:32 | |
Programmstruktur | 00:16:02 | |
Übersetzungsprozess | 00:19:56 | |
Semantik (2) | 00:10:23 |
C (1) | 01:19:37 | |
---|---|---|
Wiederholung | 00:20:42 | |
Anweisungen | 00:23:58 | |
Lexik | 00:07:15 | |
Primitive Datentypen | 00:15:29 | |
Zusammengesetzte Typen | 00:12:13 |
C (2) | 01:25:19 | |
---|---|---|
Pointer | 00:28:34 | |
Struct-Pointer | 00:06:08 | |
Funktionen | 00:09:46 | |
Typ-Aliase | 00:11:15 | |
Arrays und Pointer | 00:23:32 |
C (3) | 01:26:36 | |
---|---|---|
Wiederholung | 00:11:29 | |
Funktionen | 00:07:50 | |
Standardbibliothek | 00:07:27 | |
Speicherverwaltung | 00:17:30 | |
Zeichenketten | 00:22:31 | |
Ein-/Ausgabe | 00:13:28 | |
Formatierte Ausgabe | 00:06:21 |
Freispeicherverwaltung | 01:12:35 | |
---|---|---|
Objekte | 00:22:18 | |
Freispeicherverwaltung | 00:17:36 | |
Allokator für Objekte fester Größe | 00:13:08 | |
Darstellung von Freispeicherlisten | 00:12:22 | |
Allokation | 00:07:11 |
Polymorphie und spätes Binden | 01:18:01 | |
---|---|---|
Makefile | 00:30:58 | |
Polymorphie | 00:11:50 | |
Multi-Methoden | 00:13:58 | |
Realisierung von Methoden | 00:13:40 | |
Funktionszeiger | 00:21:15 |
Polymorphie und spätes Binden (2) | 01:14:33 | |
---|---|---|
Funktionszeiger | 00:19:53 | |
Virtuelle Methodentabellen in C | 00:21:12 | |
Makros | 00:06:44 | |
Übungsaufgabe | 00:15:55 | |
Automatische Speicherverwaltung | 00:10:49 |
Automatische Speicherverwaltung | 01:13:28 | |
---|---|---|
Referenzzähler | 00:18:32 | |
Garbage Collection | 00:21:04 | |
Copying GC | 00:19:09 | |
Verfolgung von Referenzen | 00:14:43 |
Weitere Konzepte & Analyse von Algorithmen | 01:16:54 | |
---|---|---|
Mehrfachvererbung | 00:13:53 | |
Interfaces | 00:14:31 | |
Algorithmenentwurf | 00:30:38 | |
Häufige Fehler | 00:17:33 |
Analyse von Algorithmen | 01:15:04 | |
---|---|---|
Big-Oh (Landau-Notation) | 00:26:46 | |
Komplexitätsklassen | 00:10:31 | |
Lineare Suche | 00:16:42 | |
Binäre Suche | 00:16:52 | |
01:10:51 | 00:04:13 |
Die Datentypbibliothek von Java (1) | 01:14:27 | |
---|---|---|
Primitive Typen in Java | 00:10:32 | |
String Interning | 00:18:48 | |
Abstrakte Datentypen | 00:17:24 | |
Ordnungsrelationen | 00:08:00 | |
java.util.List | 00:19:43 |
Die Datentypbibliothek von Java (2) | 01:25:50 | |
---|---|---|
java.util.List | 00:25:48 | |
java.util.Map | 00:11:32 | |
Generic Types | 00:08:06 | |
Modultest | 00:21:33 | |
Testen mit JUnit | 00:18:51 |
JUnit 4 und Sortieren | 01:20:20 | |
---|---|---|
JUnit 4 | 00:15:08 | |
Übungsaufgabe | 00:04:36 | |
Sortieren | 00:18:44 | |
Selection Sort | 00:10:21 | |
Insertion Sort | 00:15:11 | |
JUnit 4(2) | 00:16:20 |
Sortieren (2) | 01:21:11 | |
---|---|---|
Bubble Sort | 00:18:51 | |
Shellsort | 00:13:47 | |
Sortieren verketteter Listen | 00:05:22 | |
Quicksort | 00:21:00 | |
Analyse von Quicksort | 00:12:38 | |
Mergesort | 00:09:33 |
Sortieren (3) | 01:22:21 | |
---|---|---|
Merge Sort | 00:15:18 | |
Verbesserung: Mischen ohne kopieren | 00:18:17 | |
Code-Durchsicht | 00:12:47 | |
Heapsort und Priority Queue | 00:12:00 | |
Erzeugung von Heaps | 00:13:16 | |
Priority-Queue auf Heap-Basis | 00:10:43 |
Sortieren und Binäre Suchbäume | 01:13:10 | |
---|---|---|
Spezialisierte Sortierverfahren | 00:12:29 | |
MSD-Sortierung | 00:13:42 | |
LSD-Sortierung | 00:10:44 | |
Symboltabellen | 00:08:45 | |
Binäre Suchbäume | 00:07:57 | |
Einfügen in Binäre Suchbäume | 00:12:38 | |
Balanzierte Bäume | 00:06:55 |
Bäume und Prolog | 01:17:45 | |
---|---|---|
2-3-4-Bäume | 00:15:17 | |
Rot-Schwarz Bäume | 00:20:12 | |
Prolog | 00:14:24 | |
Programmieren in Prolog | 00:09:26 | |
Fakten | 00:18:26 |
Prolog | 01:18:14 | |
---|---|---|
Fakten | 00:10:12 | |
Syntax | 00:14:50 | |
Operatoren | 00:13:27 | |
Listen | 00:16:43 | |
Generatoren | 00:23:02 |
Hash Tabellen | 01:15:42 | |
---|---|---|
Einleitung | 00:16:54 | |
Hashfunktionen - Java | 00:10:31 | |
String Hashing | 00:10:30 | |
Perfektes Hashing | 00:24:15 | |
Dynamische Hashtabellen | 00:13:32 |
Zufallszahlen | 01:21:02 | |
---|---|---|
Einleitung | 00:19:51 | |
Pseudozufallszahlen: Güteforderungen | 00:15:20 | |
X²-Test | 00:14:57 | |
Themenübersicht | 00:07:20 | |
Evaluierung | 00:23:34 |