Programmieren, WS19/20, Vorlesung
Programmieren, WS19/20, Vorlesung
Karlsruher Institut für Technologie (KIT)
Programmieren, WS19/20, Vorlesung
14: Programmieren, Vorlesung, WS 2019/20, 05.02.2020
14| 0:00:00 Start 0:01:13 Testen mit JUnit 0:02:08 Struktur/Terminologie von JUnit 0:06:21 Assertion-Methoden 0:09:06 Testfälle und Test-Fixture 0:14:43 Parametrisierte Tests 0:19:27 Ausführen von Tests 0:21:56 Zusammenfassung 0:24:50 18. Zerteilen, Suchen und Sortieren 0:36:33 Top-Down Parsing 0:39:02 Recursive Descent Parser: Hilfsfunktionen 0:41:53 Rekursiver Abstieg 0:45:55 Zusammenfassung Parsen 0:47:24 Suchen 0:47:50 Lineare Suche 0:52:07 Binäre Suche 0:57:00 Sortieren 0:57:54 Bubblesort 1:02:58 Selectionsort 1:07:20 Insertionsort 1:12:00 Zusammenfassung Kapitel 18 1:12:36 19. Vom Programmieren zur Maschine 1:14:28 Halde 1:15:10 Kellerspeicher 1:19:17 Speichereinteilung 1:20:50 Laufzeitkeller 1:24:34 Zusammenfassung Kapitel 19
Feb 7, 2020
1 hr 25 min
Video
13: Programmieren, Vorlesung, WS 2019/20, 29.01.2020
13 | 0:00:00 Start 0:02:20 Vorlesungsüberblick 0:08:47 Testen: Vorgehen 0:10:14 Klassifikation Dreiecke 0:35:19 Kategorien von Tests 0:45:52 Testselektion 0:49:38 Wann ist das Testen beendet? 0:52:17 Teststrategien 0:54:45 Testgetriebene Entwicklung 0:58:15 Refactoring 1:01:05 Statische Analyse 1:04:07 Assertions 1:05:01 Zusicherungen 1:11:24 Vor- / Nachbedingungen, Invarianten 1:15:26 Assertions oder If-Abfrage? 1:18:23 JUnit
Jan 30, 2020
1 hr 30 min
Video
12: Programmieren, Vorlesung, WS 2019/20, 22.01.2020
12 | 0:00:00 Start 0:02:44 Vorlesungsüberblick 0:03:17 15. Finden und Beheben von Fehlern 0:03:59 Bugs 0:08:03 Fault - Defect - Bug -Error -Failure 0:12:20 Debugging 0:15:09 Schritte der klassischen wissenschaftlichen Methode 0:22:04 Stabilisieren des Fehlers 0:27:48 Lokalisieren der Fehlerursache 0:31:46 Zwischenfazit 0:32:44 Tipps für die Fehlersuche 1:00:45 Syntaxfehler 1:02:38 Zusammenfassung 1:04:52 16. Testen und Assertions, JUnit 1:06:53 Murphy's Law 1:07:30 Beispiele: Software-Katastrophen 1:18:55 Von ""Fault"" zu ""Failure"" 1:23:58 Gründe für fehlerhafte Software 1:26:55 Testen: Vorgehen
Jan 23, 2020
1 hr 30 min
Video
11: Programmieren, Vorlesung, WS 2019/20, 15.01.2020
11 | 0:00:00 Start 0:00:21 13. Objekt-orientierte Design-Prinzipien 0:02:05 Prinzip 1: Datenkapselung 0:07:15 Prinzip 2: Komposition 0:25:20 Prinzip 3 0:29:12 Prinzip 4: Open-closed Principle 0:38:47 Ausgewählte Prinzipien für den Schnittstellenentwurf 0:42:13 Trennung von Befehl und Anfrage 0:45:45 Schlechte Abstraktion 0:47:55 Gemischtes Abstraktionsniveau 0:49:51 Wahl von Methodennamen 0:52:28 Zusammenfassung 0:56:46 14. Best Practices 0:58:13 Prinzip 1: Bevorzuge Polymorphie gegenüber instanceof 1:01:23 Prinzip 2 1:06:30 Prinzip 3 1:14:05 Prinzip 4 1:15:30 Prinzip 5 1:18:43 Prinzip 6
Jan 20, 2020
1 hr 21 min
Video
10: Programmieren, Vorlesung, WS 2019/20, 08.01.2020
10 | 0:00:00 Start 0:01:50 Rekursion 0:02:25 Lernziele 0:03:12 Motivation: Divide and Conquer 0:09:07 Rekursive Methoden 0:11:24 Beispiel: Fakultätsfunktion 0:16:26 Binomialfunktion 0:21:52 Ausführung von binom(3,2) 0:24:44 Methoden im Aufrufstapel 0:31:08 Binomialfunktion mit Caching 0:33:19 Rekursion vs. Iteration 0:35:56 Die Kochsche Schneeflockenkurve 0:37:18 Kochsche Schneeflockenkurve: Aufgabe 0:48:33 Rekursion – Zusammenfassung 0:50:18 Java-API 0:53:13 Java Collections Framework 0:54:51 Interface Collection 0:57:24 Sub-Interfaces von Collection 0:59:02 Die Klasse Collections 1:00:58 Das Interface Map<K,V> 1:02:36 Map<K,V>: Beispiel 1:04:12 Das Paket java.io 1:05:43 Ein- und Ausgabe in Java 1:07:49 Java Puzzlers 1:08:55 Zusammenfassung
Jan 10, 2020
1 hr 10 min
Video
09: Programmieren, Vorlesung, WS 2019/20, 18.12.2019
09 | 0:00:00 Start 0:01:45 Lernziele 0:03:52 Motivation - Generische Klassen 0:14:52 Wildcards 0:31:45 Vergleichen von Objekten 0:36:52 Zusammenfassung 0:37:58 Exceptions 0:38:22 Lernziele 0:38:57 Exceptions: Motivation 0:40:29 Fehlerbehandlung im GOTO-Zeitalter 0:44:03 Lokale Fehlerbehandlung 0:45:33 Ausnahmen (Exceptions) 0:46:41 Exceptions in Java 1:01:50 Deklarieren von Ausnahmen 1:05:35 Behandeln von Ausnahmen 1:08:11 Eigene Exceptions 1:11:39 Faustregeln 1:18:13 Zusammenfassung
Jan 10, 2020
1 hr 21 min
Video
08: Programmieren, Vorlesung, WS 2019/20, 11.12.2019
08 | 0:00:00 Start 0:00:05 Start 0:00:48 Vorlesungsüberblick: Objekt-orientiertes Programmieren in Java 0:04:37 Dynamische Bindung 0:06:17 Überschreiben von Attributen 0:12:32 Konstruktoren 0:15:50 Sichtbarkeit und Modifier 0:17:54 Jetzt sind Sie gefragt: Attribute und Methoden 0:19:26 instanceof 0:22:26 Typ-Umwandlungen 0:26:50 Die Klasse Object 0:29:27 Inhaltliche Gleichheit 0:38:11 Grenzen der Vererbbarkeit 0:39:37 Abstrakte Klassen 0:44:18 Jetzt sind Sie gefragt: Abstrakte Klassen 0:48:26 Zusammenfassung 0:49:53 Debugging 0:52:07 Interfaces und Generics 0:52:44 Lernziele 0:53:44 Motivation - Interfaces 0:55:44 Interfaces als Schnittstellenbeschreibung 1:00:10 Interfaces - Syntax 1:01:46 Interfaces - Verwendung 1:04:43 Interfaces - Übersicht 1:06:21 Abstrakte Klassen vs. Interfaces 1:09:00 Aufgabe 1:10:33 Generics 1:10:39 Generics - Motivation 1:13:06 Generics - Konzept 1:14:19 Syntax - Polymorphie in Java 1:16:09 Generische Listen 1:21:29 Mehrere Typ-Parameter 1:24:23 Zusammenfassung
Dec 17, 2019
1 hr 25 min
Video
07: Programmieren, Vorlesung, WS 2019/20, 04.12.2019
07 | 0:00:00 Start 0:00:05 Listen und Abstrakte Datentypen 0:04:38 Listen als ADT – Realisierung 0:15:45 Exkurs: Command / Query-Separation (1) 0:20:42 Verwendung der Listenimplementierung 0:26:44 Mehr Flexibilität: Doppelt verkettete Listen 0:30:32 Einfügen von Listenelementen: addLast 0:34:45 Begriffe 0:37:51 Zusammenfassung 0:43:57 Vorlesungsüberblick: Objektorientiertes Programmieren in Java 0:51:54 Verwendung von Vererbung 0:57:01 Beziehung zwischen Ober- und Unterklasse 1:04:28 Überschreiben von Methoden 1:07:23 Dynamische Bindung
Dec 5, 2019
1 hr 25 min
Video
06: Programmieren, Vorlesung, WS 2019/20, 27.11.2019
06 | 0:00:00 Start 0:00:05 Konvertierung, Datenkapselung, Sichtbarkeit 0:02:30 Lernziele 0:04:13 Typ Konvertierung 0:11:45 String Conversions 0:15:41 Casting Conversions 0:21:44 Datenkapselung: Zugriffsrechte 0:25:57 Gültigkeit, Lebensdauer von Variablen 0:29:13 Gültigkeit 0:30:09 Überschattung 0:33:35 Sichtbarkeit 0:38:06 Pakete und Sichtbarkeit 0:42:52 Verwendungsbeispiel: Gleichheit von Objekten 0:46:21 Listen und Abstrakte Datentypen 0:50:14 Kapitel 15 0:52:54 Einfach verkettete Listen 0:56:25 Erstellung einer Liste 1:08:00 Löschen von Listenelementen: remove 1:16:43 Suche nach Listenelementen: contains 1:19:19 Listen als abstrakter Datentyp (ADT) – Prinzip 1:22:30 Listen als ADT – Realisierung
Nov 28, 2019
1 hr 24 min
Video
05: Programmieren, Vorlesung, WS 2019/20, 20.11.2019
05 | 0:00:00 Start 0:00:05 Einführung 0:02:27 Lernziele 0:04:07 Definition - Array 0:06:44 Array-Deklarationen 0:10:06 Deklaration und Initialisierung 0:12:46 Ansprechen von Elementen / Länge des Arrays 0:17:20 Arrays und Schleifen: Beispiele 0:27:00 Quiz 0:31:12 Arrays und Schleifen: Weitere Beispiele 0:39:23 Beispiel: Polygone 0:41:50 Polygone erzeugen 0:46:59 Mehr zu Arrays 0:49:47 Arrays und Schleifen: for-each 0:55:05 Matrizen 0:56:31 Mehrdimensionale Arrays 1:00:56 Mehr zu mehrdimensionale Arrays 1:01:59 Quiz 1:06:17 Beispiel: Sieb des Eratosthenes 1:20:20 Generelles zum Optimieren 1:22:03 Zusammenfassung
Nov 21, 2019
1 hr 22 min
Video
Load more