11: Vorlesung |
0:00:00 Starten
0:00:10 Gliederung ""Was erwartet Sie heute?""
0:01:18 Zerteilen (engl. ""parsing"")
0:03:49 Beispiel: Taschenrechner
0:05:42 Beispiel: Taschenrechner: Parsebaum
0:06:33 Top-Down Parsing
0:08:12 Recursive Descent Parser: Hilfsfunktionen
0:09:50 Rekursiver Abstieg: Umsetzung Regeln
0:12:08 Zusammenfassung Parsen
0:13:42 Suchen
0:14:03 Lineare Suche
0:14:45 Lineare Suche - Implementierung
0:16:13 Lineare Suche - Visualisierung
0:17:34 Binäre Suche
0:18:47 Binäre Suche - Implementierung
0:20:33 Binäre Suche - Visualisierung
0:22:26 Sortieren
0:22:57 Bubblesort
0:24:05 Bubblesort - Implementierung
0:24:56 Bubblesort - Beispiel
0:25:56 Bubblesort: Zitat
0:26:44 Bubblesort: Animation
0:27:20 Selectionsort
0:28:30 Selectionsort - Implementierung
0:29:09 Selectionsort - Beispiel
0:30:03 Selectionsort: Animation
0:30:27 Insertionsort
0:31:12 Insertionsort - Implementierung
0:31:59 Insertionsort - Beispiel
0:33:09 Video: The Sound of Sorting
0:35:09 16 Objekt-orientierte Design-Prinzipien
0:35:14 Prinzipien für objekt-orientiertes Design
0:36:25 Prinzip 1: (Datenkapselung) Minimiere die Zugriffsmöglichkeiten auf Klassen und Attribute
0:36:40 Datenkapselung (Information Hiding)
0:37:43 Vorteile Datenkapselung
0:39:56 Prinzip 2: Bevorzuge Komposition gegenüber Vererbung
0:40:02 Komposition
0:41:06 Vorteile/Nachteile Komposition
0:42:55 Vererbung
0:43:24 Vorteile/Nachteile Vererbung
0:44:42 Beispiel Komposition vs. Vererbung
0:48:51 Beispiel mit Komposition
0:51:18 Prinzip 3: Programmiere gegen Schnittstellen und nicht gegen eine Implementierung
0:51:25 Vorteile/Nachteile Interfaces
0:52:27 Beispiel Interface
0:53:52 Prinzip 4: (Open-Closed Principle) Software-Komponenten sollten offen für Erweiterung, aber geschlossen für Änderung sein
0:55:21 Beispiel OCP
0:58:38 OO-Design-Prinzipien
1:01:17 Ausgewählte Prinzipien für den Schnittstellenentwurf
1:02:38 Gute Schnittstellen
1:04:01 Schnittstellenentwurf für Kapselung/Wiederverwendbarkeit
1:05:55 Trennung von Befehl und Anfrage
1:08:57 Schlechte Abstraktion
1:10:09 Bessere Abstraktion
1:10:35 Auftrennung von Klassen und Schnittstellen
1:11:14 Gemischtes Abstraktionsniveau
1:12:12 Konsistentes Abstraktionsniveau
1:12:36 Wahl von Methodennamen
1:15:34 Zusammenfassung der Vorlesung

Programmieren, WS15/16, Vorlesung

Karlsruher Institut für Technologie (KIT)

Programmieren, WS 2015/2016, gehalten am 20.01.2016, Vorlesung 11

JAN 26, 201677 MIN
Programmieren, WS15/16, Vorlesung

Programmieren, WS 2015/2016, gehalten am 20.01.2016, Vorlesung 11

JAN 26, 201677 MIN

Description

11: Vorlesung | 0:00:00 Starten 0:00:10 Gliederung ""Was erwartet Sie heute?"" 0:01:18 Zerteilen (engl. ""parsing"") 0:03:49 Beispiel: Taschenrechner 0:05:42 Beispiel: Taschenrechner: Parsebaum 0:06:33 Top-Down Parsing 0:08:12 Recursive Descent Parser: Hilfsfunktionen 0:09:50 Rekursiver Abstieg: Umsetzung Regeln 0:12:08 Zusammenfassung Parsen 0:13:42 Suchen 0:14:03 Lineare Suche 0:14:45 Lineare Suche - Implementierung 0:16:13 Lineare Suche - Visualisierung 0:17:34 Binäre Suche 0:18:47 Binäre Suche - Implementierung 0:20:33 Binäre Suche - Visualisierung 0:22:26 Sortieren 0:22:57 Bubblesort 0:24:05 Bubblesort - Implementierung 0:24:56 Bubblesort - Beispiel 0:25:56 Bubblesort: Zitat 0:26:44 Bubblesort: Animation 0:27:20 Selectionsort 0:28:30 Selectionsort - Implementierung 0:29:09 Selectionsort - Beispiel 0:30:03 Selectionsort: Animation 0:30:27 Insertionsort 0:31:12 Insertionsort - Implementierung 0:31:59 Insertionsort - Beispiel 0:33:09 Video: The Sound of Sorting 0:35:09 16 Objekt-orientierte Design-Prinzipien 0:35:14 Prinzipien für objekt-orientiertes Design 0:36:25 Prinzip 1: (Datenkapselung) Minimiere die Zugriffsmöglichkeiten auf Klassen und Attribute 0:36:40 Datenkapselung (Information Hiding) 0:37:43 Vorteile Datenkapselung 0:39:56 Prinzip 2: Bevorzuge Komposition gegenüber Vererbung 0:40:02 Komposition 0:41:06 Vorteile/Nachteile Komposition 0:42:55 Vererbung 0:43:24 Vorteile/Nachteile Vererbung 0:44:42 Beispiel Komposition vs. Vererbung 0:48:51 Beispiel mit Komposition 0:51:18 Prinzip 3: Programmiere gegen Schnittstellen und nicht gegen eine Implementierung 0:51:25 Vorteile/Nachteile Interfaces 0:52:27 Beispiel Interface 0:53:52 Prinzip 4: (Open-Closed Principle) Software-Komponenten sollten offen für Erweiterung, aber geschlossen für Änderung sein 0:55:21 Beispiel OCP 0:58:38 OO-Design-Prinzipien 1:01:17 Ausgewählte Prinzipien für den Schnittstellenentwurf 1:02:38 Gute Schnittstellen 1:04:01 Schnittstellenentwurf für Kapselung/Wiederverwendbarkeit 1:05:55 Trennung von Befehl und Anfrage 1:08:57 Schlechte Abstraktion 1:10:09 Bessere Abstraktion 1:10:35 Auftrennung von Klassen und Schnittstellen 1:11:14 Gemischtes Abstraktionsniveau 1:12:12 Konsistentes Abstraktionsniveau 1:12:36 Wahl von Methodennamen 1:15:34 Zusammenfassung der Vorlesung