MARTIN-LUTHER-UNIVERSITÄT HALLE-WITTENBERG VORLESUNG "OBJEKTORIENTIERTE PROGRAMMIERUNG"
Institut für Informatik Wintersemester 2012/13
Prof. Dr. Stefan Brass [StudIP]

 

 

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]