Programmieren, WS16/17, Vorlesung

Inhalte und Lernziele:

  • 1 hour 21 minutes
    Programmieren, Vorlesung, WS 2016/17, 08.02.2017, 13
    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
    16 February 2017, 8:38 am
  • 1 hour 15 minutes
    Programmieren, Vorlesung, WS 2016/17, 01.02.2017, 12
    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
    9 February 2017, 8:30 am
  • 1 hour 12 minutes
    Programmieren, Vorlesung, WS 2016/17, 18.01.2017, 11
    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
    20 January 2017, 12:13 pm
  • 1 hour 17 minutes
    Programmieren, Vorlesung, WS 2016/17, 11.01.2017, 10
    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
    19 January 2017, 8:58 am
  • 1 hour 27 minutes
    Programmieren, Vorlesung, WS 2016/17, 21.12.2016, 09
    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
    12 January 2017, 8:30 am
  • 1 hour 22 minutes
    Programmieren, Vorlesung, WS 2016/17, 14.12.2016, 08
    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)
    20 December 2016, 4:40 pm
  • 1 hour 26 minutes
    Programmieren, Vorlesung, WS 2016/17, 07.12.2016, 07
    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
    13 December 2016, 4:50 pm
  • 1 hour 15 minutes
    Programmieren, Vorlesung, WS 2016/17, 30.11.2016, 06
    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
    8 December 2016, 8:40 am
  • 1 hour 28 minutes
    Programmieren, Vorlesung, WS 2016/17, 23.11.2016, 05
    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
    1 December 2016, 8:28 am
  • 1 hour 26 minutes
    Programmieren, Vorlesung, WS 2016/17, 16.11.2016, 04
    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
    24 November 2016, 9:17 am
  • 1 hour 22 minutes
    Programmieren, Vorlesung, WS 2016/17, 09.11.2016, 03
    03 | 0:00:00 Starten 0:01:14 ASCII- und Unicode-Zeichen: char 0:07:07 Datentyp String 0:11:47 Aufzählungs-Datentyp: enum 0:15:49 Quiz 0:28:41 Variablen 0:32:21 Zuweisungen 0:36:09 Zuweisung: Anmerkungen 0:37:02 Zuweisung: Attribute setzen 0:38:41 Mehr zu Variablen 0:39:56 Variablen und Speicher: Speicherabbild 0:41:11 Objekt-Variablen / Referenzen 0:43:46 Beispiel Objekt-Referenzen 0:47:10 Objekt-Identitäten und Zuweisungen 0:51:15 null, Konstantendeklaration 0:54:12 Überprüfung der Datentypen 0:55:16 Zusammenfassung 0:56:48 Kontrollstrukturen 0:56:59 Ausdrücke 0:59:45 Weitere Ausdrücke in Java 1:03:42 Anweisungen 1:06:36 Ausdruck vs. Anweisung 1:09:28 Quiz
    21 November 2016, 3:35 pm
  • More Episodes? Get the App
© MoonFM 2024. All rights reserved.