Objektorientierte Programmierung
Ablauf
(Planung der zeitlichen Aufteilung)
Die folgende Liste enthält
eine ungefähre Übersicht,
wann welcher Stoff behandelt wird.
Da ich die Vorlesung zum ersten Mal in Java halte,
sind noch größere Abweichungen
und Planänderungen möglich.
Im Laufe des Semesters ist beabsichtigt,
die Liste zu aktualisieren,
und den tatsächlich behandelten Stoff einzutragen.
- 1. Di, 09.10.2012:
- Kapitel 0: Informationen zur Vorlesung / Organisatorisches
(Folie 0-1 bis 0-50)
Kapitel 1: Einführung
(Folie 1-39, 1-53)
"Hello, World"-Beispiel.
- 2. Di, 16.10.2012:
- Kapitel 1: Einführung (Folien 1-1 bis 1-65)
Computer (Minimal-Hardware),
Betriebssystem (Dateien),
Entwicklung der Programmiersprachen,
Historische Bemerkungen zu Java,
Compiler, Interpreter, Bytecode,
"Hello, World" Beispiel,
Erklärung aller Worte im Programmtext,
Benutzung des Compilers,
Fehlermeldungen
- 3. Di, 23.10.2012:
- Kapitel 1: Einführung (Folien 1-67 bis 1-82)
"Hello, World" Beispiel mit Kommandozeilen-Argument und if,
"Hello, World" Beispiel mit while-Schleife über
Kommandozeilen-Argumenten,
Kapitel 2: Objektorientierte Programmierung
am Beispiel (Folie 2-1 bis 2-38)
Modell-Bildung, Klassendeklaration,
Attribute (Variablen in den Objekten),
Bezeichner (Namen),
Variablen-Deklarationen,
Zuweisungen,
Objekt-Erzeugung mit new,
Zugriff auf Attribute,
Datentypen,
Primitive Typen vs. Referenztypen,
die 8 primitiven Typen von Java,
Begrenzung des Zahlbereiches,
Gleitkomma-Zahlen, Boolesche Werte.
- 4. Di, 30.10.2012:
- Kapitel 2: Objektorientierte Programmierung
am Beispiel (Folie 2-39 bis 2-88)
Konstruktoren, Methoden, Zugriffsschutz.
- 5. Di, 06.11.2012:
- Kapitel 2: Objektorientierte Programmierung
am Beispiel (Folie 2-84 bis 2-100)
Arrays, komplizierteres toString (if),
Auswertung der Daten (while)
Kapitel 3: Syntax-Formalismen (Folie 3-1 bis 3-32)
Syntaxdiagramme, (kontextfreie) Grammatik-Regeln
Kapitel 4: Lexikalische Syntax (Folie 4-1 bis 4-15)
Phaseneinteilung eines Compilers,
Scanner vs. Parser,
Token (Wortsymbole),
Unicode, Leerplatz zwischen Token.
- 6. Di, 13.11.2012:
- Kapitel 4: Lexikalische Syntax
(Folie 4-15 bis 4-50)
Kommentare, Bezeichner, Schlüsselworte,
Datentyp-Konstanten (Literale),
Operatoren.
- 7. Di, 20.11.2012:
- Kapitel 5: Expressions (Wertausdrücke)
(Folie 5-1 bis 5-66)
Berechnung von Werten abhängig von Zuständen,
Zustandsänderung als Seiteneffekt,
Elementare Werteausdrücke,
Zusammensetzung von Wertausdrücken mittels Operatoren
und Methodenaufrufen,
Operatorsyntax,
Prioritäten,
Veranschaulichung der Struktur von Wertausdrücken
mittels Operatorbaum,
Arithmetische Operatoren (Vier Grundrechenarten, Divisionsrest),
Typ-Korrektheit,
überladene Operatoren,
automatische Typvergrößerungen ("numeric promotions"),
Vergleichsoperatoren,
Logische Operatoren,
Bit-Operatoren,
Bedingter Ausdruck,
Zuweisungen.
- 8. Di, 27.11.2012:
- Kapitel 5: Expressions (Wertausdrücke)
(Folie 5-62 bis 5-83)
Typanpassungen bei Zuweisungen,
Cast,
Abkürzungen für Zuweisungen,
Inkrement/Dekrement,
Auswertungsreihenfolge, Zusammenfassung.
- Kapitel 6: Statements (Anweisungen)
(Folie 6-1 bis 6-40)
Einführung zu Statements,
Expressions als Statements,
Blöcke,
Variablen-Deklarationen,
Uninitialisierte Variablen,
If-Statement.
- 9. Di, 04.12.2012:
- Kapitel 6: Statements (Anweisungen)
(Folie 6-40 bis 6-100)
Wiederholung zu Statements, if-Statement,
switch-Statement, while-Schleife, Do-Schleife,
for-Schleife, "foreach"-Schleife,
Sprünge, break, continue, return.
- Kapitel 7: Methoden (Folie 7-1 bis 7-11)
Motivation, erstes Beispiel
- 10. Di, 11.12.2012:
- Kapitel 7: Methoden (Folie 7-1 bis 7-56)
Grundbegriffe, Parameter (formal vs. aktuell),
void anstelle eines Ergebnis-Typs,
Aufruf von Methoden (statisch, normal),
Gültigkeitsbereiche von Methoden-Deklarationen,
lokale Variablen,
Attribute (normal, statisch),
Verschattung,
Blockstruktur,
Parameterübergabe
("call by value", Referenztypen für Objekte),
Möglichkeiten zur Übergabe von Daten an den Aufrufer.
- 11. Di, 18.12.2012:
- Kapitel 7: Methoden (Folie 7-57 bis 7-80)
Implementierung von Methodenaufrufen mit Stack
für Rücksprungadressen, rekursive Methoden.
- Kapitel 8: Klassendeklarationen (Folie 8-1 bis 8-20)
Einfache Klassen (entsprechend Strukturen/Records),
Referenzen,
Objekt-Erzeugung,
Garbage Collection,
Null-Referenz.
- 12. Di, 08.01.2013:
- Kapitel 8: Klassendeklarationen
(Folie 8-20 bis 8-67)
Objekt-Identität, Typ-Gleichheit,
Implementierung von einfachen Klassen,
Kapselung von Programmcode und Daten,
Zugriffsschutz/Sichtbarkeit, Pakete, import,
Konstruktoren.
- 13. Di, 15.01.2013:
- Kapitel 8: Klassendeklarationen
(Folie 8-68 bis 8-94)
static, Beispiel: Verkettete Liste
- Kapitel 9: Arrays
(Folie 9-1 bis 9-27)
Grundlagen, Array-Zugriff, Implementierung, Programm-Beispiele
- 14. Di, 22.01.2013:
- Kapitel 9: Arrays
(Folie 9-28 bis 9-43)
Initialisierung, Methoden mit variabler Parameter-Anzahl,
Mehrdimensionale Arrays
- Kapitel 10: Strings
(Folie 10-1 bis 10-16)
Klasse String, Nützliche Methoden, Unicode-Unterstützung,
StringBuilder
- Kapitel 11: Subklassen/Vererbung
(Folie 11-1 bis 11-35)
Motivation, Grundbegriffe, Syntax, Vererbung,
Zuweisungen zwischen Ober- und Unterklasse, instanceof,
Zugriffsschutz, Überschreiben von Methoden
Planung für die Zukunft
(unverbindlich)
- 15. Di, 29.01.2013:
- Kapitel 11: Subklassen/Vererbung
(Fortsetzung)
abstrakte Klassen, final, Object
- Kapitel 12: Interfaces
...
- Kapitel 13: Exceptions
...
- Kapitel 14: Parametrisierte Klassen (Templates), Collections
...
- Nicht mehr zu schaffen,
eventuell noch Folien in den Ferien:
- Kapitel 15: Überladene Methoden
...
- Kapitel 16: Ein-/Ausgabe
...
- Kapitel 17: Lokale und anonyme Klassen
...
- Kapitel 18: Saubere Programmierung, Aufzählungstypen,
javadoc, Assertions
...
- Kapitel 19: GUI-Programmierung
...
- Kapitel 20: Dateien, Threads, Verschiedenes
...
Stefan Brass
(brass@informatik.uni-halle.de),
7. Dezember 2012
Original URL:
http://dbs.informatik.uni-halle.de/~brass/oop12/ablauf.html
[XHTML 1.0 Checked]
[CSS Checked]
[Links Geprüft]
[Impressum]