01618 - Einführung in die objektorientierte Programmierung
Persönliches, subjektives Kursfazit
Für einen Fachinformatiker, Anwendungsentwicklung kein Problem. Aber nicht vergessen: man schreibt die Klausur auf Papier, da gibt es keinen Compiler oder Dry-runs, Step-by-Step Ausführung und Syntax Highlighting. Beschäftigt euch mit den Einsendeaufgaben, aber vor allem: übt "Papier-compilieren", d. h. schreibt die Aufgabe auf Papier und dann von diesem ab ins Eclipse (wunderbare Entwicklungsumgebung, wie ich finde). Kurssprache ist das schöne Java.
Aber nicht vergessen: es geht im Kurs, bis auf das AWT-Zeugs, nicht direkt um Java (man hätte problemlos auch eine andere Sprache wählen können). Dem Studenten sollen die Konzepte der Objektorientierung nahe gebracht werden. Welche Sprache man dafür wählt erscheint nebensächlich. Im Endeffekt ist jede Sprache, bis auf ein paar Eigenheiten, nur Syntax. Es geht hier also um das "große Ganze" der Prinzipien objektorientierter Programmierung. Dass man nebenbei Java lernt, bzw. praktisch Kenntnisse voraussetzt ist nur ein Nebeneffekt.
Literaturempfehlung
Meiner Meinung nach: Keine. SkynetGoogle is all you need. Andere Kommilitonen lernten wohl mit dem Buch von Solymosi (Grundkurs Algorithmen und Datenstrukturen). Mir wäre das Buch für die 180 Seiten zu teuer und ich würde eher zu etwas greifen, dass die Konzepte stärker behandelt und wo die Sprache nur Mittel zum Zweck ist. Das Buch von Niemann (Objektorientierte Programmierung in Java) schien nicht schlecht zu sein (hatte ich in der Bibliothek mal durchgestöbert, aber für die 14 EUR kann man sich den 400-Seiten-Schinken auch ins Regal stellen). Wer bereits Erfahrung in der Programmierung hat, kann sich auch mal das Buch von Zeppenfeld (Objektorientierte Programmiersprachen. Einführung und Vergleich) anschauen um die Konzepte der Objektorientierung anhand einiger objektorientierter Sprachen (C++, Java, C# und Ruby) noch weiter zu verinnerlichen. Denn darum geht es eigentlich. Objektorientierung und nicht um Java.
Klausur- und Organisatorisches
Stand SS 2009: Klausur wird fair gestellt. Aufgrund der Themenvielfalt im Skript, können diese nicht vollständig in der Klausur abgefragt werden. Daher gibt es oft in der Newsgroup einen kleinen Umriss an Themen, welche in der Klausur kommen. Wenn man sich etwas intensiver mit denen beschäftigt, ist eine 4.0 für den Leistungsnachweis kein großes Problem. Aber nicht unterschätzen: das ist die Sicht eines FIAEs - ich habe in der Ausbildung jahrelang objektorientiert Programmiert. Manch einer, ohne jegliche Programmiererfahrung, tut sich dort sicherlich etwas schwerer.
Die Betreuung in der Newsgroup ist außerordentlich. Wohl eiener der am besten betreuten Kurse an der Fernuni. Der Kursbetreuer ist mehr als aktiv. Wenn innerhalb einer halben Stunde keine Antwort auf eine Frage erfolgt, ist er in Urlaub oder wurde gekidnapped.
Kursinhalt
Kurseinheit 1
Prinzipien der Objektorientierung, Paradigmen der Programmierung, Objektgrenzen, Typdefinitionen.
Kurseinheit 2
Objekte, Klassen, Kapselung. Entwurf, Beziehungen und Parametrisierung von/zwischen Klassen, Beschreibung von Objekten, rekursive Benutzung.
Kurseinheit 3
Vererbung, Subtyping, Schnittstellen(-typen), Polymorphie. Beobachter und lokale Klassen.
Kurseinheit 4
Vererbung, Kapselung, Wiederverwendung und Konzepte. Auflösen von Überladenen Methoden. Bausteine und Java-Bibliotheken. IO Streams.
Kurseinheit 5
Objektorientierte Programmgerüste, Graphik, AWT und Realisierung, Entwicklung der Datslettung, Konzepte. Behandlung von Ereignissen und Steuerung.
Kurseinheit 6
Parallelität, Threads, Akpekte der Parallelisierung. Synchronisation, Problemquellen und Monitoring.
Kurseinheit 7
Verteilte Objekte, Grundlagen von verteilten Systemen. Sockets, Server, Client und Realisierung. Stub-Skeleton, Methodenaufrufe über Sockets, sowie Parameterübergabe.
Kurseinheit 8
Zusammenfassung, Varianten objektorientierter Sprachen, typisierte und untypisierte. Zukünftige Entwicklungslinien.