In dieser Vorlesung werden die Grundlagen höherer Programmiersprachen vorgestellt, wie sie heutzutage in der industriellen Softwareproduktion zum Einsatz kommen. Die Teilnehmer sollen im Rahmen der Lehrveranstaltung selbständig Programmiererfahrungen sammeln.
Darstellung von Zahlen | 01:31:24 | |
---|---|---|
Start | 00:17:24 | |
Überlauf | 00:03:15 | |
Ganze Zahlen | 00:27:04 | |
Wertebereiche | 00:13:32 | |
Gleitkommazahlen | 00:19:02 | |
MSDN und Microsoft Student Partners | 00:11:07 |
Darstellung von Text | 01:28:03 | |
---|---|---|
Gleitkommazahlen | 00:27:33 | |
Plain Text | 00:20:58 | |
8-Bit-Zeichensätze | 00:04:46 | |
Unicode | 00:23:10 | |
Unicode-Zeichen | 00:11:36 |
Programmiersprachen (2) | 01:24:25 | |
---|---|---|
Fortran | 00:14:37 | |
Java | 00:15:08 | |
Vorbedingungen und Nachbedingungen | 00:08:54 | |
Flussdiagramme: ein Beispiel | 00:19:55 | |
Aufbau von Programmen | 00:17:53 | |
Implementierung von Spezifikationen | 00:09:11 |
Vom Algorithmus zum Programm | 01:26:56 | |
---|---|---|
Vom Algorithmus zum Programm | 00:10:31 | |
Datentypen | 00:13:13 | |
ggT mit Integer-Division | 00:19:42 | |
Datentypen in Python | 00:08:50 | |
Weitere Stringoperationen | 00:04:18 | |
Der Kern imperativer Sprachen | 00:13:52 | |
Sequentielle Komposition | 00:17:36 |
Formale Beschreibung von Programmiersprachen | 01:20:40 | |
---|---|---|
Lexikalische Regeln | 00:10:42 | |
Schlüsselwörter in Python | 00:18:39 | |
EBNF-Regel | 00:13:56 | |
(Statische) Semantische Regeln | 00:17:56 | |
Erweiterung der Kernsprache | 00:20:24 |
Programmiersprachen | 01:25:00 | |
---|---|---|
UTF-8 | 00:15:47 | |
Bewegte Bilder | 00:15:33 | |
Imperative Sprachen | 00:14:41 | |
Compiler | 00:13:41 | |
Programmierfehler | 00:17:11 | |
Programmierfehler (2) | 00:08:07 |
Subsystems 2 | 01:24:17 | |
---|---|---|
Wechselseitige Rekursion | 00:07:26 | |
Allgemeine Rekursion | 00:13:56 | |
Lineare Rekursion | 00:16:57 | |
Transformation von Fibonacci-Zahlen | 00:17:51 | |
Ausnahmebehandlung | 00:23:59 | |
Konstruktion neuer Datentypen | 00:06:08 |
Subsystems | 01:29:41 | |
---|---|---|
Zur Übung | 00:11:23 | |
Prozedurale Abstraktion | 00:12:40 | |
Top-Down-Entwurf | 00:16:02 | |
NIM-Spiel: Der bestmögliche Zug | 00:13:11 | |
Verarbeitung der Rekursion | 00:20:49 | |
Rekursive Prozeduren | 00:15:36 |
Induktive Definition | 01:25:08 | |
---|---|---|
Ein Beispiel | 00:13:40 | |
Schritt 1 | 00:09:07 | |
Schritt 2 | 00:19:09 | |
Funktionen als Werte | 00:21:56 | |
Vermeidung von Fehlern | 00:04:51 | |
Zwischenbehauptungen | 00:16:25 |
Korrektheit von Algorithmen | 01:20:35 | |
---|---|---|
PCAs: Ein Beispiel | 00:21:06 | |
Zuweisungsregel | 00:10:30 | |
Rückwärtsbeweis | 00:09:54 | |
If-then-else-Regel | 00:14:30 | |
Schleifenregel | 00:07:37 | |
Starke und schwache Invarianten | 00:07:06 | |
Programmverifizierer | 00:09:52 |
Construction of New Data Types | 01:22:41 | |
---|---|---|
Mengenkonstruktionen | 00:14:24 | |
Mengenkonstruktionen 2 | 00:10:11 | |
Listen | 00:21:15 | |
Dictionaries | 00:09:48 | |
Dateien | 00:15:47 | |
Induktiv definierte Typen | 00:11:16 |
Versionen in Subversion | 01:30:37 | |
---|---|---|
Versionen in Subversion | 00:18:45 | |
Arbeitskopien | 00:26:17 | |
Änderungsdateien | 00:06:46 | |
Branches | 00:15:57 | |
Programmieren im Großen | 00:05:30 | |
Modulare Programmierung | 00:17:22 |
Subversion | 01:26:28 | |
---|---|---|
Software Configuration Management | 00:17:14 | |
Revision Control | 00:14:07 | |
Begriffe | 00:10:41 | |
Versionsverwaltung mit Subversion | 00:15:15 | |
Check In | 00:16:41 | |
/usr/bin/svn | 00:12:30 |
Datenkapselung | 01:32:58 | |
---|---|---|
Datenkapselung (2) | 00:26:23 | |
Vererbung | 00:18:57 | |
Polymorphie | 00:16:41 | |
Beispiel: Kreise | 00:13:50 | |
Beispiel: Rechtecke | 00:03:37 | |
LSP: Liskov Substitution Principle | 00:13:30 |
Klassen und abstrakte Datentypen | 01:24:11 | |
---|---|---|
Abstrakte Datentypen | 00:11:21 | |
Stack | 00:13:39 | |
Queue | 00:08:45 | |
Stack in Python | 00:22:17 | |
Lösungsvorschläge | 00:16:56 | |
Implementierungsstrategie 2 | 00:04:49 | |
Einfach verkettete Listen | 00:06:24 |
Java | 01:29:45 | |
---|---|---|
Wiederholung: Abstrakte Datentypen | 00:12:13 | |
Java | 00:12:14 | |
Geschichte | 00:20:11 | |
Lexik | 00:11:30 | |
Operatoren: Semantikbeispiele | 00:21:11 | |
Lexik: Schlüsselwörter | 00:12:26 |
Java (3) | 01:29:35 | |
---|---|---|
Überladung | 00:18:10 | |
Überladung und Konstruktoren | 00:17:15 | |
Programme | 00:11:07 | |
Pakete | 00:14:55 | |
Was ist system? | 00:11:40 | |
Ausdrücke | 00:16:28 |
Anweisungen in Java | 01:27:35 | |
---|---|---|
Einfache Anweisungen | 00:16:35 | |
Blöcke | 00:10:31 | |
Switch-Anweisung | 00:13:33 | |
For-Schleife | 00:27:20 | |
Späte Bindung an Java | 00:19:36 |
PLT-Scheme | 01:07:33 | |
---|---|---|
PLT-Scheme | 00:10:03 | |
Definitionen | 00:11:25 | |
Listen | 00:13:49 | |
Prädikate | 00:17:20 | |
Ein-/Ausgabe | 00:14:58 |
Module in Python | 01:26:16 | |
---|---|---|
Module in Python | 00:11:31 | |
Module in Python (2) | 00:18:54 | |
Module in Python (3) | 00:13:25 | |
Objektorientiertes Programmieren (OOP) | 00:12:43 | |
OOP (2) | 00:11:22 | |
Datenkapselung | 00:13:35 | |
Beispiel | 00:06:46 |
Einführung | 01:31:41 | |
---|---|---|
Kursziele | 00:14:03 | |
Informatik | 00:17:48 | |
Darstellung der Information | 00:11:53 | |
Zahlendarstellung in einem Positionssystem | 00:17:36 | |
Dateigrößen | 00:11:07 | |
Ausblick | 00:19:14 |