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
Vorlesungsaufzeichnung: KIT | WEBCAST: http://webcast.kit.edu
All content for Programmieren, WS15/16, Vorlesung is the property of Karlsruher Institut für Technologie (KIT) and is served directly from their servers
with no modification, redirects, or rehosting. The podcast is not affiliated with or endorsed by Podjoint in any way.
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
Vorlesungsaufzeichnung: KIT | WEBCAST: http://webcast.kit.edu
14: Vorlesung |
0:00:00 Starten
0:01:20 Bvorzugte Polymorphie gegenüber instanceof
0:01:50 Beispiel für schlechtes Design
0:05:28 Beispiel für ein geeignetes Design
0:07:20 Prinzip 2: Unterscheidung zwischen == und equals
0:07:30 Häufige Fragen
0:07:33 Beispiel
0:10:21 == vs. equals
0:10:29 Weiteres Beispiel
0:13:46 Prinzip 3: Die Standardimplementierung von equals überschreiben
0:14:54 Beispiel
0:17:11 Implementierung der equals-Methode
0:17:29 Abhilfe durch eigene Implementierung
0:21:07 Probleme der vorherigen Implementierung
0:24:16 Mögliche Lösungsideen
0:26:11 Beispiel - MyStringBuffer
0:28:52 Beispiel - Golfball
0:30:05 Prinzip 4: Vorsicht bei der Implementierung von equals
0:30:10 Wichtige Fragen bei der Implementierung
0:31:01 Prinzip 5: super.equals verwenden
0:31:12 Vererbung und equals
0:31:28 Beispiel für einen fehlerhaften Code
0:33:19 Lösung
0:34:10 Alternative Lösung
0:35:29 Mehrere Ebenen in der Vererbungshierarchie
0:36:19 Prinzip 6: Vorsicht bei der Verwendung von intanceof in equals
0:36:41 Vergleich der Objekte
0:38:22 Motivierendes Beispiel für Verhaltensänderung
0:42:18 Zusammenfassung
0:43:46 Was noch fehlt
13: Vorlesung |
0:00:00 Starten
0:01:31 Motivation
0:03:20 Halde
0:06:54 Stapelspeicher
0:08:22 Einsatz des Stapelspeichers
0:12:21 Speichereinstellung
0:13:24 Einteilung des Datenbereichs
0:14:01 Sprünge
0:18:52 Kopfgesteuerte Schleife
0:19:28 Adressierung durch 3 Basisadressen
0:20:28 Laufzeitkeller
0:22:43 Schritte beim Aufruf einer Methode
0:23:44 Schritte beim Verlassen der Methode
0:26:20 Best Practices
0:27:07 Prinzip 1: Bevorzuge Polymorphie gegenüber instanceof
0:27:40 Beispiel für ein schlechtes Design
0:31:14 Beispiel für ein geeignetes Design
0:32:31 Prinzip 2: Unterscheidung zwischen == und equals
0:32:59 Beispiel
0:34:53 == vs. equals
0:35:58 Weiteres Beispiel
0:37:58 Prinzip 3: Die Standardimplementierung von equals überschreiben
0:38:07 Beispiel
0:39:55 Implementierung der equals-Methode
0:42:04 Abhilfe durch eigene Implementierung
0:44:49 Probleme der vorherigen Implementierung
0:45:47 Mögliche Lösungsideen
0:47:35 Beispiel - MyStringBuffer
0:51:26 Beispiel - Golfball
0:52:15 Mögliche Lösungsidee Nr. 4
0:53:47 Prinzip 4: Vorsicht bei der Implementierung von equals
0:55:19 Prinzip 5: super.equals verwenden
0:56:16 Beispiel für einen fehlerhaften Code
0:59:28 Lösung
1:00:28 Alternative Lösung
1:02:05 Mehrere Ebenen in der Vererbungshierarchie
1:03:26 Prinzip 6: Vorsicht bei der Verwendung von instanceof in equals
1:03:40 Vergleich der Objekte
1:06:34 Motivierendes Beispiel für Verhaltensänderung
1:07:22 Beispiel für instanceof in equals
1:10:13 Zusammenfassung
1:11:34 Software-Technik
1:15:57 Was noch fehlt
07: Vorlesung |
0:00:00 Starten
0:00:42 Einführendes Beispiel
0:03:43 Konzept der Vererbung (I)
0:06:17 Konzept der Vererbung (II)
0:09:05 Vererbung in Java
0:13:43 Beziehung zwischen Ober- und Unterklasse
0:15:56 Beispiel Vererbung in Java
0:19:24 Überschreiben von Methoden
0:23:45 Dynamische Bindung
0:27:00 Dynamische Bindung - Definition
0:31:25 Dynamische Bindung - Beispiel (I)
0:33:11 Dynamische Bindung - Beispiel (II)
0:37:44 Dynamische Bindung vs. Fallunterscheidung
0:39:01 Überschreiben von Attributen
0:42:56 Das Schlüsselwort super
0:44:04 Konstruktoren
0:47:35 Sichtbarkeit und Modifier
0:48:50 instanceof
0:51:40 Typ-Umwandlung (type casts)
0:52:50 Up- and Down-Casts
0:53:34 Die Klasse Object
0:58:00 Auszug Java-Klassenhierarchie
0:58:37 Inhaltliche Gleichheit: equals (Object obj)
1:02:15 Inhaltliche Gleichheit
1:02:40 Grenzen der Vererbbarkeit: final
1:03:56 Abstrakte Klassen
1:07:36 Quiz
1:19:01 Prinzipien des Objekt-Orientierten Entwurfs
01: Vorlesung |
0:00:00 Starten
0:00:10 Einführung & Vorstellung
0:04:47 Übungsbetrieb
0:10:09 Semesterplan
0:11:31 Bewertungssystem & Prüfungsordnung
0:16:25 Wo kann ich die Aufgaben bearbeiten?
0:24:39 Zusammenfassung: Was Sie als nächstes tun müssen
0:27:36 Organisatorisches
0:34:50 Was ist Programmierung?
0:38:55 Praxis: Übersetzen von Java-Klassen
0:41:48 Praxis: Ausführen von Java-Programmen
0:44:02 Compiler vs. Übersetzer
0:50:25 Just in Time Compilation
1:02:35 Billard-Spiel
1:09:44 Klassen: Der ""Bauplan"" von Objekten
1:21:01 Jetzt sind Sie gefragt: Wir modellieren die Mensa
1:26:30 Zusammenfassung
04: Vorlesung |
0:00:00 Starten
0:00:10 Ankündigung
0:01:47 Literaturhinweism
0:01:58 Konstruktoren
0:05:16 Parameter
0:11:19 this-Referenz
0:13:00 Default-Konstruktor
0:15:50 Mehrere Konstruktoren
0:21:37 Methoden
0:28:36 Methoden-Signatur
0:30:18 Methoden-Aufruf
0:31:47 Beispiel-Methoden
0:33:21 Der Rückgabetyp void
0:34:40 Zugriffsfunktionen (getter/setter)
0:38:43 Bezugsobjekt
0:40:34 Was passiert beim Aufruf einer Methode?
0:42:35 Statische Methoden
0:45:24 Klassen- vs. Objekt-Methode
0:49:50 Lokale Varaiblen
0:53:14 Parameter als lokale Variablen
0:56:18 Methodenaufrufe und Objektreferenzen
1:04:50 Lokale Variablen vs. Attribute
1:07:06 Klassenvariablen (Statische Attribute)
1:11:44 Überladen von Methoden
1:14:05 Die Methoden main
1:17:30 Methoden zur Ein- und Ausgabe
1:20:21 Quiz
1:27:06 Buchempfehlungen
03: Vorlesung |
0:00:00 Starten
0:00:23 Kontrollstrukturen: Literaturhinweis - Weiterlesen
0:00:52 Ausdrücke
0:04:21 Weitere Ausdrücke in Java
0:10:32 Anweisungen
0:13:12 Ausdruck vs. Anweisung
0:18:59 Quizze: Feedback-System
0:35:38 Kontrollfluß-Anweisungen (control-flow-statments)
0:37:16 Die if-Anweisung
0:39:22 if-Anweisung: Kontrollfluss-Diagramm
0:40:19 Geschachtelte if-Anweisungen
0:43:45 Die switch-Anweisung
0:46:38 Die switch-Anweisung: Beispiel
0:51:37 Programmieren von Schleifen
0:53:20 Die while-Schleife
0:57:08 (do-)while-Schleife: Sytax
0:58:54 Die for-Schleife
1:06:30 Die for-Schleife: Kontrollfluss
1:07:01 Die break-Anweisung
1:10:10 Die continue-Anweisung
1:11:10 Zusammenfassung
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
Vorlesungsaufzeichnung: KIT | WEBCAST: http://webcast.kit.edu