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

    • Kurse

– 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 Kurse

Zuhörer haben auch Folgendes abonniert:

Mehr von Karlsruher Institut für Technologie