14 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, WS17/18, 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
    13: Programmieren, Vorlesung, WS 2017/18, 07.02.2018

    13: Programmieren, Vorlesung, WS 2017/18, 07.02.2018

    13 |
    0:00:00 Starten
    0:00:14 Bedingte Sprünge - Verzweigung
    0:02:01 Laufzeitkeller
    0:03:36 Adressierung durch 3 Basisadressen
    0:06:16 Schritte beim Aufruf einer Methode
    0:07:44 Schritte beim Verlassen der Methode
    0:09:17 Zusammenfassung
    0:13:28 Prinzip 1: Bevorzuge Polymorphie gegnüber instanceof
    0:14:06 Beispiele für schlechten Entwurf
    0:19:42 Prinzip 2: Unterscheidung zwischen == und equals ()
    0:26:13 Prinzip 3: Die Standardimplementierung von equals () überschreiben
    0:29:49 Abhilfe durch eigene Implementierung
    0:33:10 Prinzip 4: Vorsicht bei der Implementierung von equals ()
    0:35:50 Prinzip 5: super.equals () verwenden
    0:42:53 Prinzip 6: Vorsicht bei der Verwendung von instanceof in equals ()
    0:45:14 Motivierenden Beispiel für Verhaltensänderung

    • 50 Min.
    • video
    12: Programmieren, Vorlesung, WS 2017/18, 31.01.2018

    12: Programmieren, Vorlesung, WS 2017/18, 31.01.2018

    12 |
    0:00:00 Starten
    0:01:45 Bubblesort
    0:06:34 Selectionort
    0:09:42 Insertionsort
    0:15:17 Der Begriff ""Bug""
    0:19:02 Debugging
    0:23:12 Debugging - Stabilisieren des Fehlers
    0:26:13 Debugging - Lokalisieren der Fehlerursache
    0:30:00 Tipps für die Fehlersuche
    0:45:40 JUNIT
    0:50:31 Parametrisierte Tests
    0:57:06 Prinzip 1: Datenkapselung
    1:00:30 Prinzip 2: Komposition
    1:11:37 Prinzip 3: Programmieren gegen Schnittstellen und nicht gegen eine Implementierung
    1:13:54 Prinzip 4: Open-Closed Principle
    1:18:30 Ausgewählte Prinzipien für den Schnittstellentwurf

    • 1 Std. 22 Min.
    • video
    11: Programmieren, Vorlesung, WS 2017/18, 24.01.2018

    11: Programmieren, Vorlesung, WS 2017/18, 24.01.2018

    11 |
    0:00:00 Starten
    0:00:58 Lernziele Heute
    0:05:28 Assertions
    0:07:58 Zusicherungen
    0:14:25 Assertions in Java
    0:19:48 Vor- und Nachbedingungen, Invarianten
    0:22:04 Beispiel Invarianten
    0:27:06 assert oder if-Abfrage
    0:29:49 Statische Analyse
    0:32:43 Zusammenfassung
    0:37:28 14 Zerteilen, Suchen und Sortieren
    0:39:55 Überblick
    0:40:22 Zerteilen
    0:45:56 Beispiel: Taschenrechner
    0:57:17 Top-Down Parsing
    1:02:18 Rekursive Descent Parser: Hilfsfunktionen
    1:06:27 Rekursiver Abstieg: Umsetzung Regeln
    1:09:59 Zusammenfassung Parsen
    1:11:28 Suchen
    1:11:56 Lineare Suche
    1:13:14 Lineare Suche - Implementierung
    1:14:00 Lineare Suche - Visualisierung
    1:15:20 Binäre Suche
    1:16:42 Binäre Suche - Implementierung

    • 1 Std. 19 Min.
    • video
    00: Programmieren, Eröffnungsveranstaltung, WS 2017/18, 16.10.2017

    00: Programmieren, Eröffnungsveranstaltung, WS 2017/18, 16.10.2017

    – 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

    • 1 Std. 25 Min.
    • video
    10: Programmieren, Vorlesung, WS 2017/18, 17.01.2018

    10: Programmieren, Vorlesung, WS 2017/18, 17.01.2018

    10 |
    0:00:00 Starten
    0:04:09 Vorlesungsüberblick
    0:05:38 Lernziele heute
    0:07:00 Java API
    0:09:35 Das Java Collections Framework
    0:12:36 Das Interface Collection
    0:16:47 Exkurs: Wildcards in generischen Typen
    0:20:02 Exkurs: Kovarianz/ Invarianz
    0:23:31 Nochmals: Das Interface Collection
    0:24:22 Sub-Surfaces von Collection
    0:25:20 Das Interface Map
    0:27:21 Map
    0:29:15 Die Klasse Collections
    0:29:55 Das Paket java.io
    0:30:48 Ein- und Ausgabe in Java
    0:33:27 Java Puzzlers
    0:34:45 Zusammenfassung
    0:35:39 Literaturhinweis
    0:37:41 Murphy's Law
    0:39:03 Software Fehler
    0:40:31 Berühmte Software-Fehler
    0:52:08 Testen
    0:53:28 Beispiel: Klassifikation Dreiecke
    0:57:15 Testfälle
    1:04:38 Kriterien für gute Testfälle
    1:07:14 Was Testen ist
    1:10:53 Failure vs. Fault.
    1:12:32 Beispiel
    1:14:46 Was Testen nicht ist
    1:15:55 Warum Testen so schwierig ist
    1:19:44 Testselektion
    1:23:58 Teststrategien
    1:25:46 Assertions
    1:25:57 Zusammenfassung

    • 1 Std. 26 Min.
    • video
    09: Programmieren, Vorlesung, WS 2017/18, 10.01.2018

    09: Programmieren, Vorlesung, WS 2017/18, 10.01.2018

    09 |
    0:00:00 Starten
    0:00:11 Teil 1: Ausschnitt aus Vorlesung https://youtu.be/f9NoUhEmY2M
    0:51:13 Teil 2: Ausschnitt aus Vorlesung https://youtu.be/EgOqH3gTLj8

    • 1 Std. 28 Min.

Top‑Podcasts in Bildung

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

Mehr von Karlsruher Institut für Technologie

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