
13 |
0:00:00 Starten
0:00:14 Bedingte Sprünge - Verzweigung
0:02:01 Laufzeitkeller
0:03:36 Adressierung durch 3 Basisadressen
0:06:16 Schritte beim Aufruf einer Methode
0:07:44 Schritte beim Verlassen der Methode
0:09:17 Zusammenfassung
0:13:28 Prinzip 1: Bevorzuge Polymorphie gegnüber instanceof
0:14:06 Beispiele für schlechten Entwurf
0:19:42 Prinzip 2: Unterscheidung zwischen == und equals ()
0:26:13 Prinzip 3: Die Standardimplementierung von equals () überschreiben
0:29:49 Abhilfe durch eigene Implementierung
0:33:10 Prinzip 4: Vorsicht bei der Implementierung von equals ()
0:35:50 Prinzip 5: super.equals () verwenden
0:42:53 Prinzip 6: Vorsicht bei der Verwendung von instanceof in equals ()
0:45:14 Motivierenden Beispiel für Verhaltensänderung
Feb 8, 2018
50 min
Video

12 |
0:00:00 Starten
0:01:45 Bubblesort
0:06:34 Selectionort
0:09:42 Insertionsort
0:15:17 Der Begriff ""Bug""
0:19:02 Debugging
0:23:12 Debugging - Stabilisieren des Fehlers
0:26:13 Debugging - Lokalisieren der Fehlerursache
0:30:00 Tipps für die Fehlersuche
0:45:40 JUNIT
0:50:31 Parametrisierte Tests
0:57:06 Prinzip 1: Datenkapselung
1:00:30 Prinzip 2: Komposition
1:11:37 Prinzip 3: Programmieren gegen Schnittstellen und nicht gegen eine Implementierung
1:13:54 Prinzip 4: Open-Closed Principle
1:18:30 Ausgewählte Prinzipien für den Schnittstellentwurf
Feb 5, 2018
1 hr 22 min
Video

11 |
0:00:00 Starten
0:00:58 Lernziele Heute
0:05:28 Assertions
0:07:58 Zusicherungen
0:14:25 Assertions in Java
0:19:48 Vor- und Nachbedingungen, Invarianten
0:22:04 Beispiel Invarianten
0:27:06 assert oder if-Abfrage
0:29:49 Statische Analyse
0:32:43 Zusammenfassung
0:37:28 14 Zerteilen, Suchen und Sortieren
0:39:55 Überblick
0:40:22 Zerteilen
0:45:56 Beispiel: Taschenrechner
0:57:17 Top-Down Parsing
1:02:18 Rekursive Descent Parser: Hilfsfunktionen
1:06:27 Rekursiver Abstieg: Umsetzung Regeln
1:09:59 Zusammenfassung Parsen
1:11:28 Suchen
1:11:56 Lineare Suche
1:13:14 Lineare Suche - Implementierung
1:14:00 Lineare Suche - Visualisierung
1:15:20 Binäre Suche
1:16:42 Binäre Suche - Implementierung
Jan 25, 2018
1 hr 19 min
Video

– Objekte und Klassen
– Typen, Werte und Variablen
– Methoden
– Kontrollstrukturen
– Rekursion
– Referenzen, Listen
– Vererbung
– Ein/-Ausgabe
– Exceptions
– Programmiermethodik
– Implementierung elementarer Algorithmen (z.B. Sortierverfahren) in Java
Literaturhinweise:
P. Pepper, Programmieren Lernen, Springer, 3. Auflage 2007
Weiterführende Literatur:
B. Eckels: Thinking in Java. Prentice Hall 2006
J. Bloch: Effective Java, Addison-Wesley 2008
Jan 19, 2018
1 hr 25 min
Video

10 |
0:00:00 Starten
0:04:09 Vorlesungsüberblick
0:05:38 Lernziele heute
0:07:00 Java API
0:09:35 Das Java Collections Framework
0:12:36 Das Interface Collection
0:16:47 Exkurs: Wildcards in generischen Typen
0:20:02 Exkurs: Kovarianz/ Invarianz
0:23:31 Nochmals: Das Interface Collection
0:24:22 Sub-Surfaces von Collection
0:25:20 Das Interface Map
0:27:21 Map
0:29:15 Die Klasse Collections
0:29:55 Das Paket java.io
0:30:48 Ein- und Ausgabe in Java
0:33:27 Java Puzzlers
0:34:45 Zusammenfassung
0:35:39 Literaturhinweis
0:37:41 Murphy's Law
0:39:03 Software Fehler
0:40:31 Berühmte Software-Fehler
0:52:08 Testen
0:53:28 Beispiel: Klassifikation Dreiecke
0:57:15 Testfälle
1:04:38 Kriterien für gute Testfälle
1:07:14 Was Testen ist
1:10:53 Failure vs. Fault.
1:12:32 Beispiel
1:14:46 Was Testen nicht ist
1:15:55 Warum Testen so schwierig ist
1:19:44 Testselektion
1:23:58 Teststrategien
1:25:46 Assertions
1:25:57 Zusammenfassung
Jan 18, 2018
1 hr 26 min
Video

09 |
0:00:00 Starten
0:00:11 Teil 1: Ausschnitt aus Vorlesung https://youtu.be/f9NoUhEmY2M
0:51:13 Teil 2: Ausschnitt aus Vorlesung https://youtu.be/EgOqH3gTLj8
Jan 15, 2018
1 hr 28 min
Video

08 |
0:00:00 Starten
0:02:42 Lernziele Heute
0:04:04 Einführendes Beispiel
0:06:50 Konzept der Vererbung
0:10:48 Vererbung in Java
0:14:29 Beziehung zwischen Ober- und Unterklasse
0:17:14 Beispiel Vererbung in Java
0:21:04 Jetzt sind wir gefragt: Vererbung
0:21:51 Lösung: Vererbung
0:22:59 Überschreiben von Methoden
0:25:51 Dynamische Bindung
0:41:09 Dynamische Bindung vs. Fallunterscheidung
0:42:49 Jetzt sind wir gefragt: Dynamische Bindung
0:46:10 Kapitel 15
0:47:10 Dynamische Bindung: Lösung
0:50:02 Überschreiben von Attributen
0:53:26 Das Schlüsselwort super
0:55:36 Konstrukturen
0:58:30 Sichtbarkeit und Modifier
0:59:55 Jetzt sind wir gefragt: Attribute und Methoden
1:02:28 Instanceof
1:04:10 Typ-Umwandlungen
1:06:45 Up- und Down-Casts
1:08:19 Die Klasse object
1:09:51 Auszug Java-Klassenhierarchie
1:11:16 Inhaltliche Gleichheit: equals
1:16:39 Grenzen der Vererbbarkeit
1:18:00 Abstrakte Klassen
1:20:37 Zusammenfassung
1:22:37 Debugging
Dec 22, 2017
1 hr 25 min
Video

07 |
0:00:00 Starten
0:00:10 Semesterplan
0:02:04 Lernziele Heute
0:03:11 Rekursive Datentypen
0:05:24 Einfach verkettete Listen - Idee
0:08:46 Erstellung einer Liste
0:11:53 Operation auf Listen
0:13:06 Einfugen von Listenelementen : addFirst
0:15:18 Einfugen von Listenelementen: AddLast
0:19:08 Löschen von Listenelementen: remove
0:25:15 Suche nach Listenelementen: contains
0:27:45 Listen als abstrakter Datentyp (ADT) - Prinzip
0:32:30 Iteratoren
0:36:17 Implementierung Iterator für Vector2DList
0:38:36 Exkurs: Command / Query-Separation
0:42:59 Gesamtstruktur Listenimplementierung in Java
0:43:52 Verwendung der Listenimplementierung
0:45:24 Vergleich Listen
0:50:00 Implementierung doppelt verkettete Liste
0:50:48 Einfügen von Listenelemente
0:52:09 Verwendung von Listen
0:53:18 Zusammenfassung
0:55:26 Rekursion
0:57:43 Motivation
1:02:20 Rekursice Methoden
1:03:50 Beispiel: Fakultätsfunktion
1:07:22 Binomialfunktion
1:09:41 Instanzen der Methode binom
1:12:01 Methoden im Aufrufstapel
1:15:56 Binomialfunktion mit Caching
1:16:18 Rekursion vs. Iteration
1:18:23 Die Kochsche Schneeflockenkurve
1:25:19 Rekursion- Zusammenfassung
Dec 14, 2017
1 hr 26 min
Video

05 |
0:00:00 Starten
0:00:07 Arrays und Schleifen: Weitere Beispiele
0:02:49 Mehrdimensionale Arrays
0:03:29 Matrizen
0:05:15 Mehrdimensionale Arrays
0:07:44 Beispiel: Sieb des Eratosthenes
0:31:13 Generelles zum Optimieren
0:33:44 Mehr zu Arrays
0:36:40 Mehr zu mehrdimensionalen Arrays
0:37:39 Quiz
0:42:37 Zusammenfassung
0:43:01 Vorlesungsüberblick
0:43:30 6. Konvertierung, Datenkapselung, Sichtbarkeit
0:43:55 Lernziele heute
0:45:11 Typ-Konvertierung
0:47:30 Widening Primitive Conversions
0:50:29 Narrowing Primitive Conversions
0:52:16 String Conversions
0:55:47 Casting Conversions
0:59:50 Datenkapselung
1:02:57 Datenkapselung: Zugriffsrechte
1:05:05 Zugriffsrechte: Beispiel
1:06:38 Gültigkeit, Lebensdauer von Variablen
1:08:47 Beispiel Gültigkeitsbereich (lokale Variablen)
1:10:22 Gültigkeit
1:10:48 Überschattung
1:13:32 Überschattung: Beispiel
1:14:43 Sichtbarkeit (Visiblity)
1:15:38 Pakete
1:18:14 Gleichheit von Objekten
1:20:56 Verwendungsbeispiel: Gleichheit von Objekten
1:21:59 Zusammenfassung
Dec 7, 2017
1 hr 23 min
Video

05 |
0:00:00 Starten
0:01:09 Vorlesungsüberblick
0:02:28 Lokale Variablen
0:04:10 Parameter als lokale Variablen
0:06:49 Methodenaufrufe und Objektreferenzen
0:12:10 Lokale Variablen vs. Attribute
0:16:36 Klassenvariablen (Statische Attribute)
0:23:11 Überladen von Methoden
0:27:14 Hilfsmethoden
0:31:45 Die Methode main
0:34:24 Methoden zur Ein- und Ausgabe
0:36:53 Typische Struktur eines Java-Programms
0:40:20 Jetzt sind Sie gefragt: Methodenrätsel
0:48:27 Zusammenfassung
0:50:08 5.1 Arrays
0:50:50 Vorlesungsüberblick: Objekt-orientiertes Programmieren in Java
0:52:19 Lernziele
0:53:08 Definition
0:54:54 Array-Deklaration
0:57:50 Deklaration und Initialisierung
0:59:28 Ansprechen von Elementen
1:02:07 Arrays und Schleifen: Beispiele
1:11:17 Polygone
1:15:02 Arrays und Schleifen: for-each
1:18:17 Matrizen
1:19:25 Mehrdimensionale Array
1:22:15 Quiz
Dec 5, 2017
1 hr 26 min
Video
Load more
