13 Folgen

Inhalte und Lernziele:
Die Studierenden lernen grundlegende Strukturen der Programmiersprache Java kennen und anwenden, insbesondere Kontrollstrukturen, einfache Datenstrukturen, Umgang mit Objekten, und Implementierung elementarer Algorithmen. Sie erwerben grundlegende Kenntnisse in Programmiermethodik und die Fähigkeit zur autonomen Erstellung kleiner bis mittlerer, lauffähiger Java-Programme.

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
Dozentin: Jun.-Prof. Dr. Anne Koziolek | Karlsruher Institut für Technologie (KIT), Institut für Programmstrukturen und Datenorgansiation
Vorlesungsaufzeichnung: KIT | WEBCAST: http://webcast.kit.edu

Programmieren, WS16/17, Vorlesung Karlsruher Institut für Technologie (KIT)

    • Bildung

Inhalte und Lernziele:
Die Studierenden lernen grundlegende Strukturen der Programmiersprache Java kennen und anwenden, insbesondere Kontrollstrukturen, einfache Datenstrukturen, Umgang mit Objekten, und Implementierung elementarer Algorithmen. Sie erwerben grundlegende Kenntnisse in Programmiermethodik und die Fähigkeit zur autonomen Erstellung kleiner bis mittlerer, lauffähiger Java-Programme.

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
Dozentin: Jun.-Prof. Dr. Anne Koziolek | Karlsruher Institut für Technologie (KIT), Institut für Programmstrukturen und Datenorgansiation
Vorlesungsaufzeichnung: KIT | WEBCAST: http://webcast.kit.edu

    • video
    Programmieren, Vorlesung, WS 2016/17, 08.02.2017, 13

    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

    • 1 Std. 21 Min.
    • video
    Programmieren, Vorlesung, WS 2016/17, 01.02.2017, 12

    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

    • 1 Std. 15 Min.
    • video
    Programmieren, Vorlesung, WS 2016/17, 18.01.2017, 11

    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

    • 1 Std. 12 Min.
    • video
    Programmieren, Vorlesung, WS 2016/17, 11.01.2017, 10

    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

    • 1 Std. 17 Min.
    • video
    Programmieren, Vorlesung, WS 2016/17, 21.12.2016, 09

    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
    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
    1:25:47 Sub-Interfaces von Collection
    1:26:08 Das Interface Map
    1:26:24 Zusammenfassung

    • 1 Std. 27 Min.
    • video
    Programmieren, Vorlesung, WS 2016/17, 14.12.2016, 08

    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)

    • 1 Std. 22 Min.

Top‑Podcasts in Bildung

Eine Stunde History - Deutschlandfunk Nova
Deutschlandfunk Nova
Quarks Science Cops
Quarks
ZEIT Sprachen – English, please!
ZEIT ONLINE
Gehirn gehört - Prof. Dr. Volker Busch
Prof. Dr. Volker Busch
G Spot  mit Stefanie Giesinger
Stefanie Giesinger & Studio Bummens
Easy German: Learn German with native speakers | Deutsch lernen mit Muttersprachlern
Cari, Manuel und das Team von Easy German

Mehr von Karlsruher Institut für Technologie

Grundbegriffe der Informatik, Vorlesung, WS18/19
Karlsruher Institut für Technologie (KIT)
Informatik Vorkurs V4, Vorlesung, WS16-17
Karlsruher Institut für Technologie (KIT)
Forschungspodcast »Selbstbewusste KI«
Karlsruher Institut für Technologie (KIT)
Theoretische Grundlagen der Informatik, Vorlesung, WS19/20
Karlsruher Institut für Technologie (KIT)
Numerische Mathematik für die Fachrichtungen Informatik und Ingenieurwesen, Vorlesung, SS2019
Karlsruher Institut für Technologie (KIT)
Algorithmen 1, SS2019, Vorlesung
Karlsruher Institut für Technologie (KIT)