
13 |
0:00:00 Starten
0:00:46 Was erwartet Sie heute?
0:02:04 Lernziele
0:02:56 Wiederholung: ""Bugs""
0:06:51 Debugging
0:08:39 Schritte der klassischen wissenschaftlichen Methode
0:11:02 Wissenschaftliche Methode angewendet auf Debugging
0:12:31 Debugging - Stabilisieren des Fehlers
0:16:09 Tipps für die Fehlersuche
0:31:37 Zusammenfassung
0:32:20 JUNIT
0:33:11 Outline
0:34:13 Foreword
0:35:04 Classification of Tests
0:37:19 Test-Driven Development
0:39:36 Isolated Testing
0:42:04 Refactoring
0:44:50 Challenges for Testing Largo-Scale Systems
0:47:29 Bad smells
0:51:59 JUnit - Overview
0:54:48 Junit 3 vs JUnit 4
0:55:47 Terminology
0:56:56 Structure
0:58:01 Test Case Verdicts
0:59:08 What is a JUnit Test?
1:00:34 Organisation of JUnit Tests
1:01:09 Writing a JUnit test class
1:01:47 A simple example
1:02:53 Assertions
1:05:10 Test Fixture
1:07:44 Setup and Teardown
1:08:35 beforeClass/AfterClass
1:09:05 Fixture - Example
1:09:43 Expected Exception
1:11:20 Ignore/Timeout
1:12:54 Parameterised Tests
1:16:44 Test Suites
1:18:08 Running JUnit Tests
1:18:36 Test Runners
1:21:13 Zusammenfassung
Feb 16, 2017
1 hr 21 min
Video

12 |
0:00:00 Starten
0:02:16 Überblick
0:02:48 Motivation
0:03:53 Halde
0:05:21 Kellerspeicher
0:07:17 Einsatz des Kellerspeichers
0:09:09 Speichereinteilung
0:10:01 Einteilung des Datenbereichs
0:10:57 Sprünge
0:14:36 Bedingte Sprünge - Verzweigung
0:16:49 Kopfgesteuerte Schleife
0:17:56 Adressierung durch 3 Basisadressen
0:19:01 Laufzeitkeller
0:20:09 Schritte beim Aufrufen einer Methode
0:20:44 Schritte beim Verlassen einer Methode
0:21:47 Zusammenfassung
0:24:13 17 Best Practices
0:28:38 Prinzip 1
0:36:35 Prinzip 2
0:42:06 Prinzip 3
0:55:56 Prinzip 4
0:57:54 Prinzip 5
1:03:44 Prinzip 6
1:13:03 Zusammenfassung
Feb 9, 2017
1 hr 15 min
Video

11 |
0:00:00 Starten
0:00:10 Vorlesung 14
0:01:29 Zerteilen (engl. ""parsing"")
0:11:27 Suchen
0:17:35 Sortieren
0:27:33 Vorlesung 15
0:30:47 Prinzip 1: (Datenkapselung)
0:36:02 Prinzip 2: Bevorzugte Komposition gegenüber Vererbung
0:51:20 Prinzip 3: Programmiere gegen Schnitstellen und nicht gegen eine Implementierung
1:00:27 Ausgewählte Prinzipien für den Schnittstellenentwurf
1:11:12 Zusammenfassung
Jan 20, 2017
1 hr 12 min
Video

10 |
0:00:00 Starten
0:01:19 12 Java API
0:01:23 Nochmals: Das Interface Collection
0:03:08 Sub-Interfaces von Collection
0:05:26 Das Interface Map
0:08:47 Die Klasse Collections
0:11:27 Das Paket java.io
0:13:21 Ein- und Ausgabe in Java
0:16:08 Java Puzzlers
0:16:47 Zusammenfassung
0:18:19 13 Testen und Assertions
0:20:59 Softwarefehler (""Bugs"")
0:29:40 Testen
0:31:45 Beispiel: Klassifikation Dreiecke
0:38:25 Kriterien für gute Testfälle
0:41:53 Was Testen ist...
0:45:28 Failure vs. Fault
0:47:02 Failure vs. Fault vs. Error
0:48:14 Beispiel: Failure vs. Fault
0:50:57 Was Testen nicht ist...
0:53:49 Warum Testen so schwierig ist
0:57:09 Testselektion
1:00:11 Teststrategien
1:01:03 Assertions
1:02:43 Zusicherungen
1:07:55 Vor- und Nachbedingungen, Invarianten
1:10:09 assert oder if-Abfrage?
1:12:38 Statische Analyse
1:15:07 Zusammenfassung
Jan 19, 2017
1 hr 17 min
Video

09 |
0:00:00 Starten
0:00:07 Kapitel 10: Ausnahmebehandlung (Exceptions)
0:01:54 Exceptions: Motivation
0:02:53 Fehlerbehandlung im GOTO-Zeitalter
0:03:14 Fehlerbehandlung - ohne GOTO, kaum besser
0:03:24 Lokale Fehlerbehandlung
0:03:49 Ausnahmen (Exceptions)
0:05:30 Exceptions in Java
0:11:54 Auszug aus der Exception-Hierarchie
0:14:58 Ausnahmebehandlung in Java
0:18:37 Kontrollfluss bei Exceptions
0:22:20 Ausnahmebehandlung
0:23:42 Deklarieren von Ausnahmen
0:26:23 Error und Exception
0:28:39 Behandeln von Ausnahmen
0:30:37 Werfen von Ausnahmen
0:33:21 Eigene Exceptions
0:34:51 Verwendung von Exceptions
0:38:04 Faustregeln
0:40:02 Frühe Fehlererkennung (""fail fast"")
0:42:17 Schlechtes Beispiel: java.util.Properties
0:43:45 Zusammenfassung Exceptions
0:45:23 Kapitel 11: Rekursion
0:45:45 Motivation: Divide and Conquer
0:50:34 Rekursion
0:51:26 Rekursive Methoden
0:52:47 Beispiel: Fakultätsfunktion
0:57:11 Binomialfunktion
1:00:52 Instanzen der Methode binom(n,k)
1:03:54 Binomialfunktion mit Caching
1:04:41 Rekursion - Zusammenfassung
1:06:13 Rekursion vs. Iteration
1:08:16 Die Kochsche Schneeflockenkurve
1:09:15 Kapitel 12: Java API
1:09:50 Java API
1:12:25 Das Java Collections Framework
1:14:53 Das Interface Collection<E>
1:18:01 Exkurs: Wildcards in generischen Typen
1:20:06 Exkurs: Kovarianz / Invarianz
1:24:47 Exkurs: Wildcards mit generischen Typen
1:25:31 Nochmals: Das Interface Collection<E>
1:25:47 Sub-Interfaces von Collection<E>
1:26:08 Das Interface Map<K,V>
1:26:24 Zusammenfassung
Jan 12, 2017
1 hr 27 min
Video

08 |
0:00:00 Starten
0:00:13 8. Vererbung
0:02:44 Up- and Down-Casts
0:03:42 Die Klasse Object
0:05:46 Auszug Java-Klassenhirarchie
0:06:56 Inhaltliche Gleichheit: equals (Object obj)
0:13:36 Grenzen der Vererbbarkeit: final
0:15:54 Abstrakte Klassen
0:19:29 Quiz
0:27:32 Zusammenfassung
0:28:55 9. Interfaces, Generics
0:29:37 Debugging
0:30:26 Motivation - Interfaces
0:32:19 Interfaces als Schnittstellenbeschreibung
0:36:58 Interfaces - Syntax
0:41:19 Beispiel - Liste
0:43:47 Interfaces - Übersicht
0:44:50 Abstrakte Klassen vs. Interfaces
0:45:59 Quiz
0:48:35 Motivation - Generische Klassen
0:51:09 Generics - Konzept
0:53:29 Syntax - Polymorphie in Java
0:55:21 Generische Listen
1:02:08 Mehrere Typ-Parameter
1:02:45 Vergleichen von Objekten
1:08:19 Einschränkungen
1:09:43 Wrapper-Objekte, Autoboxing
1:11:27 Generische Methode
1:13:01 Zusammenfassung
1:15:48 10 Ausnahmebehandlung (Exceptions)
1:16:27 Exeptions: Motivation
1:17:47 Fehlerbehandlung im GOTO-Zeitalter
1:20:16 Lokale Fehlerbehandlung
1:21:08 Ausnahmen (Exceptions)
Dec 20, 2016
1 hr 22 min
Video

07 |
0:00:00 Starten
0:00:07 7. Listen und Abstrakte Datentypen
0:02:29 Iteratoren
0:09:32 Implementierung Iterator für Vector2DList
0:11:56 Exkurs: Command / Query-Separation
0:15:40 Gesamtstruktur Listenimplementierung in Java
0:17:31 Verwendung der Listenimplementierung
0:18:55 Vergleich Listen – Arrays
0:22:50 Mehr Flexibilität: doppelt verkettete Listen
0:26:05 Implementierung doppelt verkettete Liste
0:27:07 Einfügen von Listenelementen: addLast
0:28:26 Verwendung von Listen: Gerichtete Graphen
0:29:57 Zusammenfassung
0:31:51 8. Vererbung
0:34:02 Einführendes Beispiel
0:36:34 Konzept der Vererbung
0:41:10 Vererbung in Java
0:44:37 Beziehung zwischen Ober- und Unterklasse
0:49:11 Beispiel Vererbung in Java
0:52:34 Quiz
0:56:15 Überschreiben von Methoden
0:59:13 Dynamische Bindung
1:10:15 Dynamische Bindung vs. Fallunterscheidung
1:11:20 Überschreiben von Attributen
1:16:22 Das Schlüsselwort super
1:17:19 Konstruktoren
1:19:14 Sichtbarkeit und Modifier
1:20:48 instanceof
1:23:36 Typ-Umwandlungen (type casts)
1:25:03 Up- und Down-Casts
Dec 13, 2016
1 hr 26 min
Video

06 |
0:00:00 Starten
0:00:07 6. Arrays
0:04:26 Definition
0:05:12 Array-Deklaration
0:06:14 Deklaration und Initialisierung
0:06:59 Ansprechen von Elementen / Länge des Arrays
0:09:26 Arrays und Schleifen: Beispiele
0:14:41 Arrays und Schleifen: weitere Beispiele
0:18:24 Beispiel: Polygone
0:20:56 Polygone erzeugen
0:23:55 Arrays und Schleifen: for-each
0:26:48 Matritzen
0:28:02 Mehrdimensionale Arrays
0:31:37 Beispiel: Sieb des Eratosthenes
0:33:14 Beispiel: Sieb des Eratosthenes (optimiert)
0:35:19 Generelles zum Optimieren
0:38:32 Mehr zu Arrays
0:39:56 Mehr zu mehrdimensionalen Arrays
0:41:15 Quiz
0:42:56 Zusammenfassung
0:43:26 7. Listen und abstrakte Datentypen
0:44:07 Rekursive Datentypen
0:45:26 Einfach verkettete Listen – Idee
0:47:07 Einfach verkettete Listen in Java
0:48:52 Erstellung einer Liste
0:52:06 Operationen auf Listen
0:53:55 Einfügen von Listenelementen: addFirst
0:56:04 Einfügen von Listenelementen: addLast
0:59:43 Löschen von Listenelementen: remove
1:06:23 Suche nach Listenelementen: contains
1:09:39 Listen als abstrakter Datentyp (ADT) – Prinzip
1:13:46 Listen als ADT – Realisierung
Dec 8, 2016
1 hr 15 min
Video

05 |
0:00:00 Starten
0:00:12 4. Konstruktoren und Methoden
0:01:54 Frage
0:02:30 Schleifenorganisation
0:04:26 Lokale Variablen
0:07:32 Parameter als lokale Variable
0:08:39 Methodenaufrufe als Objektreferenz
0:13:20 Lokale Variablen vs. Attribute
0:14:32 Klassenvariablen (Statische Attribute)
0:18:31 Überladen von Methoden
0:20:28 Die Methode main
0:22:43 Methoden zur Ein- und Ausgabe
0:25:35 Typische Struktur eines Java Programms
0:27:42 Zusammenfassung
0:28:33 5. Konvertieren, Datenkapselung, Sichtbarkeit
0:29:57 Typ-Konvertierung
0:33:27 Widening Primitive Conversions
0:36:29 Narrowing Primitive Conversions
0:40:20 String Conversions
0:43:30 Casting Conversions
0:44:54 Datenkapselung
0:49:41 Datenkapselung: Zugriffsrechte
0:52:33 Zugriffsrechte: Beispiel
0:56:35 Gültigkeit, Lebensdauer von Variablen
0:58:45 Beispiel Gültigkeitsbereich (lokale Variablen)
1:01:25 Gültigkeit
1:02:00 Überschattung
1:04:29 Überschattung: Beispiel
1:06:14 Sichtbarkeit (Visibility)
1:07:40 Pakete (packages)
1:08:52 Mehr zu Paketen
1:10:57 Pakete und Sichtbarkeit
1:12:02 Gleichheit von Objekten
1:16:31 Verwendungsbeispiel: Gleichheit von Objekten
1:18:31 Zusammenfassung
1:19:50 6. Arrays
1:20:29 Definition
1:22:06 Array-Deklaration
1:25:10 Deklaration und Initialisierung
1:26:41 Ansprechen von Elementen / Längen des Arrays
Dec 1, 2016
1 hr 28 min
Video

04 |
0:00:00 Starten
0:00:07 3. Kontrollstrukturen
0:00:58 Kontrollfluß-Anweisungen (control-flow-statements)
0:01:25 Ausdruck vs. Anweisung
0:02:40 Die if-Anweisung
0:04:50 if-Anweisung: Kontrollfluß-Diagramm
0:06:56 Geschachtelte if-Anweisungen
0:09:25 Geschachtelte if-Anweisungen: Kontrollfluß
0:10:16 Die switch-Anweisung
0:18:23 Die switch-Anweisung: Beispiel
0:22:00 Programmieren von Schleifen
0:23:00 Die while-Schleife
0:27:43 (do-)while-Scheife: Syntax
0:29:03 Die for-Schleife
0:31:21 Die for-Schleife: Kontrollfluss
0:32:20 Die break-Anweisung
0:35:44 Die continue-Anweisung
0:37:46 Frage
0:40:06 Schleifenorganisation
0:45:26 Zusammenfassung
0:46:22 4. Konstruktoren und Methoden
0:46:50 Literaturhinweis - Weiterlesen
0:47:09 Konstruktoren
0:49:54 Parameter
0:51:42 Syntax von Konstruktoren
0:54:28 this-Referenz
0:57:07 Default-Konstruktor
0:58:34 Mehrere Konstruktoren
1:01:57 Methoden
1:04:44 Methoden-Signatur
1:06:51 Methoden-Aufruf
1:08:36 Beispiel-Methoden
1:09:47 Der Rückgabetyp void
1:11:14 Zugriffsfunktionen (getter/ setter)
1:16:10 Bezugsobjekt
1:18:44 Was passiert beim Aufruf einer Methode?
1:21:44 Statische Methoden
1:23:56 Klassen- vs. Objekt-Methode
Nov 24, 2016
1 hr 26 min
Video
Load more
