14 Folgen

– 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
Vorlesungsaufzeichnung: KIT | WEBCAST: http://webcast.kit.edu

Programmieren, WS18/19, Vorlesung Karlsruher Institut für Technologie (KIT)

    • Bildung

– 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
Vorlesungsaufzeichnung: KIT | WEBCAST: http://webcast.kit.edu

    • video
    14: Programmieren, Vorlesung, WS 2018/19, 06.02.2019

    14: Programmieren, Vorlesung, WS 2018/19, 06.02.2019

    14 |
    0:00:00 Start
    0:00:19 Überblick heute
    0:00:46 Vorlesungsüberblick
    0:01:15 Vom Programm zur Maschine
    0:02:27 Lernziele heute
    0:03:59 Motivation
    0:06:08 Halde (engl. heap)
    0:07:46 Kellerspeicher
    0:10:57 Wdh.: Variablen und Speicher
    0:13:54 Wdh.: Mehtoden im Aufrufstapel
    0:14:54 Speichereinteilung
    0:22:31 Bedingte Sprünge - Verzweigung
    0:28:02 Best Practises
    0:28:14 Lernziele heute 2
    0:29:43 Prinzipien des guten Programmierens
    0:32:08 Prinzip 1 - Polymorphie >> instanceof
    0:39:20 Prinzip 2 - Unterscheidung == und equals()
    0:46:50 Prinzip 3 - Standardimplementierung von equals() überschreiben
    1:03:18 Prinzip 4 - Vorsicht bei Implementierung von equals()
    1:05:03 Prinzip 5 - super.equals() verwenden
    1:10:37 Prinzip 6 - Vorsicht bei instanceof in equals()
    1:15:53 Ausblick

    • 1 Std. 18 Min.
    • video
    13: Programmieren, Vorlesung, WS 2018/19, 30.01.2019

    13: Programmieren, Vorlesung, WS 2018/19, 30.01.2019

    13 |
    0:00:00 Start
    0:00:13 Überblick
    0:02:23 Zerteilen (engl. parsing)
    0:08:53 Top-Down Parsing
    0:12:28 Recursive Descent Parser: Hilfsfunktionen
    0:17:01 Zusammenfassung Parsen
    0:17:40 Suchen
    0:18:05 Lineare Suche
    0:21:14 Binäre Suche
    0:27:19 Sortieren
    0:27:45 Bubblesort
    0:33:49 Selectionsort
    0:36:44 Insertionsort
    0:44:47 Zusammenfassung
    0:45:12 Objekt-orientierte Design-Prinzipien
    0:45:50 Überblick
    0:46:26 Prinzip 1 - Datenkapselung
    0:49:59 Prinzip 2 - Bevorzuge Komposition gegenüber Vererbung
    1:01:22 Prinzip 3 - Programmiere gegen Schnittstellen und nicht gegen eine Implementierungen
    1:03:17 Prinzip 4 - Open Closed Prinzip
    1:09:57 Prinzipien für den Schnittstellenentwurf
    1:10:37 Gute Schnittstellen
    1:12:37 Trennung von Befehl und Anfrage
    1:14:19 Schlechte Abstraktion
    1:15:20 Bessere Abstraktion
    1:15:40 Klassen und Schnittstellen auftrennen
    1:17:29 Abstrakionsniveau
    1:18:36 Wahl von Methodennamen
    1:21:05 Zusammenfassung
    1:21:29 Weiterführende Literatur

    • 1 Std. 22 Min.
    • video
    12: Programmieren, Vorlesung, WS 2018/19, 23.01.2019

    12: Programmieren, Vorlesung, WS 2018/19, 23.01.2019

    12 |
    0:00:00 Start
    0:00:39 Vorlesungsüberblick
    0:01:04 Lernziele heute
    0:03:19 Software-Katastrophen
    0:15:52 Testen: Vorgehen
    0:16:42 Beispiel: Klassifikation Dreiecke
    0:22:07 Kriterien für gute Testfälle
    0:24:19 Definition: Testen
    0:29:15 Kategorien von Tests
    0:31:59 Schwierigkeit von Tests
    0:34:11 Testselektion
    0:35:38 Testende
    0:36:54 Teststrategien
    0:37:56 Testgetriebene Entwicklung
    0:39:54 Refactoring
    0:41:49 Statische Analyse
    0:43:45 Assertions
    0:44:59 Zusicherungen
    0:47:58 Zusicherungen in Java
    0:49:38 Vor-/Nachbedingungen, Invarianten
    0:50:40 Beispiel Invariante
    0:51:56 Assertion oder If-Abfrage
    0:53:21 JUnit: Übersicht
    0:55:03 Beispiel: JUnit 4
    0:55:52 Struktur/Terminologie von JUnit
    0:56:47 JUnit: Testfall
    0:57:15 Test-Urteil
    0:58:19 JUnit: Assertions
    1:00:42 Text-Fixture
    1:03:11 Test-Suiten
    1:04:09 Parametrisierte Tests
    1:08:43 Ausführen von Tests
    1:10:30 Test-Runner in Eclipse
    1:11:27 Zusammenfassung

    • 1 Std. 13 Min.
    • video
    11: Programmieren, Vorlesung, WS 2018/19, 16.01.2019

    11: Programmieren, Vorlesung, WS 2018/19, 16.01.2019

    11 |
    0:00:00 Starten
    0:00:06 Begrüßung
    0:00:23 Überblick
    0:00:42 Vorlsesungsüberblick
    0:01:32 Rekursion
    0:03:05 Motivation
    0:09:42 Rekursive Methode
    0:12:09 Beispiel
    0:15:57 Binomialfunktion
    0:22:01 Methoden im Aufrufstapel
    0:30:26 Rekursion vs. Iteration
    0:34:31 Beispielaufgabe
    0:39:54 Rekursion Zusammenfassung
    0:42:14 Finden und Beheben von Fehlern
    0:42:53 Vorlesungsüberblick
    0:43:21 Lernziele
    0:44:02 Wiederholung: ""Bug""
    0:52:00 Debugging
    1:02:59 Zwischenfazit
    1:03:50 Tipps für die Fehlersuche
    1:13:28 Zusammenfassung

    • 1 Std. 14 Min.
    • video
    10: Programmieren, Vorlesung, WS 2018/19, 09.01.2019

    10: Programmieren, Vorlesung, WS 2018/19, 09.01.2019

    10 |
    0:00:00 Starten
    0:00:05 Begrüßung
    0:01:27 Semesterplan - Überblick
    0:02:38 Lernziele
    0:08:46 Interfaces
    0:28:56 Aufgaben zu Interfaces
    0:32:37 Generics
    1:05:09 Java-API
    1:24:26 Zusammenfassung

    • 1 Std. 25 Min.
    • video
    08: Programmieren, Vorlesung, WS 2018/19, 12.12.2018

    08: Programmieren, Vorlesung, WS 2018/19, 12.12.2018

    08 |
    Aus technischen Gründen konnte die Vorlesung:
    Programmieren | 08 | Vorlesung | 12.12.2018 (WS 2018/19)
    Prof. Dr. Ralf H. Reussner
    Karlsruher Institut für Technologie (KIT)
    Institut für Programmstrukturen und Datenorganisation
    nicht aufgezeichnet werden.
    Die nachfolgende Vorlesungsaufzeichnung des vergangenen Jahres (08, Programmieren, Vorlesung, 20.12.2017, WS 2017/18) behandelt aber einige inhaltliche Aspekte.
    Bitte beachten Sie, dass die organisatorischen Inhalte nicht stimmen und die Folien nicht identisch sind.

    0:00:00 Start
    0:00:23 8. Vererbung
    0:02:16 Vorlesungsüberblick: Objekt-orientiertes Programmieren in Jav
    0:03:14 Lernziele heute
    0:04:20 Einführendes Beispiel
    0:07:28 Konzept der Vererbung (I)
    0:09:03 Konzept der Vererbung (II)
    0:11:26 Vererbung in Java
    0:15:15 Beziehung zwischen Ober- und Unterklasse
    0:17:38 Beispiel Verebung in Java
    0:21:50 Jetzt sind Sie gefragt: Vererbung
    0:22:39 Lösung: Vererbung
    0:23:29 Überschreiben von Methoden
    0:26:30 Dynamische Bindung
    0:28:35 Dynamische Bindung – Defintion
    0:33:32 Dynamische Bindung – Beispiel (I)
    0:35:24 Dynamische Bindung – Beispiel (II)
    0:38:33 Dynamische Bindung
    0:41:31 Dynamische Bindung vs. Fallunterscheidung
    0:43:24 Jetzt sind Sie gefragt: Dynamische Bindung
    0:48:25 Dynamische Bindung: Lösung
    0:51:32 Überschreiben von Attributen
    0:54:56 Das Schlüsselwort super
    0:57:30 Konstruktoren
    0:59:35 Sichtbarkeit und Modifier
    1:00:53 Jetzt sind Sie gefragt: Attribute und Methoden
    1:03:26 instanceof
    1:04:54 Typ-Umwandlungen (type casts)
    1:07:05 Up- und Down-Casts
    1:09:02 Die Klasse object
    1:10:47 Auszug Java-Klassenhierarchie
    1:12:58 Inhaltliche Gleichheit: equals (object obj)
    1:16:57 Grenzen der Vererbbarkeit: final
    1:18:28 Abstrakte Klasse
    1:21:14 Zusammenfassung
    1:23:07 Debugging

    • 1 Std. 25 Min.

Top‑Podcasts in Bildung

Deutschlandfunk Nova
N-JOY
Biyon Kattilathu
Deutschlandfunk Nova
Quarks
Dr. Jordan B. Peterson

Mehr von Karlsruher Institut für Technologie

Karlsruher Institut für Technologie (KIT)
Karlsruher Institut für Technologie (KIT)
Karlsruher Institut für Technologie (KIT)
Karlsruher Institut für Technologie (KIT)
Karlsruher Institut für Technologie (KIT)
Karlsruher Institut für Technologie (KIT)