Home
General
Staff
Contact
Partners
Alumni
Research
Areas
Projects
Papers
Books
Reports
Awards
Teaching
Lectures
Exams
B.Theses
M.Theses
PhD Theses
Go Abroad
Misc
Talks
Library
Gallery
Links
Search
Webmaster
|
Softwareentwicklung 1
339.170 |
Mössenböck |
Mo 08:30 - 10:00 |
HS 1 |
Beginn: 07.10.2019 |
Ziele
Diese Vorlesung ist eine Einführung in die Programmierung. Sie behandelt grundlegende Konzepte der
imperativen und objektorientierten Programmierung, schult das algorithmische Denken, erläutert
Programmentwicklungstechniken und geht auch auf Fragen des Programmierstils und der Dokumentation ein.
Als Programmiersprache wird Java verwendet. Die gelehrten Konzepte lassen sich aber auch leicht
auf andere Sprachen wie C, Pascal oder Python übertragen.
Inhalt
- Grundlagen
Grundbegriffe, Algorithmen, Ablaufdiagramme, Struktogramme, Grammatiken
- Einfache Programme
Grundsymbole von Java, Deklarationen und Zahlentypen, Kommentare, Zuweisungen, Arithmetische Ausdrücke, Ein/Ausgabe, Grundstruktur von Java-Programmen
- Verzweigungen
If-Anweisung und Vergleiche, Zusammengesetzte Vergleiche, Datentyp boolean, Switch-Anweisung, Bedingte Ausdrücke
- Schleifen
While-Schleife, Do-While-Schleife, For-Schleife, Abbruch von Schleifen, Vergleich der Schleifenarten
- Arrays
Eindimensionale Arrays, Foreach-Schleife, Mehrdimensionale Arrays, Beispiele
- Zeichen
Datentyp char, Beispiel
- Strings
Datentyp String, Beispiele
- Methoden
Methoden und Parameter, Funktionen, Lokalität, Sichtbarkeit, Lebensdauer von Variablen, Überladen von Methoden, Beispiele
- Rekursion
Prinzip, Beispiele: GGT, Binäres Suchen, Türme von Hanoi
- Klassen
Klassen und Objekte, Beispiele, Klassen und Arrays
- Objektorientierung
Methoden, Konstruktoren, static, Beispiele für Klassen, Vererbung, Dynamische Bindung,
Klasse Object, final, Abstrakte Klassen, Interfaces, Anonyme Klassen
- Dynamische Datenstrukturen
Objekte und Referenzen, Unsortierte Liste, Sortierte Liste, Bäume
- Pakete
Idee, Export und Import, Pakete und Verzeichnisse, Sichtbarkeitsattribute, Beispielpakete aus der Java-Bibliothek
- Ausnahmebehandlung
Prinzip, Try-Anweisung, Arten von Ausnahmen, Implementierung von Ausnahmen, Suche nach passender Catch-Klausel,
Spezifikation von Ausnahmen im Methodenkopf
- Enumerationen
Motivation, Einfache Enumerationen, Enumerationstypen als Klassen
- Dokumentationskommentare
- Schrittweise Verfeinerung
Prinzip, Beispiele: Wortzählung, Stichwortverzeichnis
- Threads
Grundlagen, Klasse Thread, Interface Runnable, Weitere Thread-Operationen, Synchronisation von Threads, Deadlocks
- Programmierstil
Namensgebung, Strukturierung, Lesbarkeit, Kommentierung, Effizienz
Termine
Datum |
Thema |
Mo 07.10. | Grundlagen |
Mo 14.10. | Einfache Programme |
Mo 21.10. | Verzweigungen, Schleifen |
Mo 28.10. | Arrays, Zeichen, Strings |
Mo 04.11. | Methoden, Rekursion |
Mo 11.11. | Klassen, Objektorientierung I |
Mo 18.11. | Objektorientierung II |
Mo 25.11. | Dynamische Datenstrukturen |
Mo 02.12. | Pakete, Ausnahmen |
Mo 09.12. | Enumerationen, javadoc, Schrittweise Verfeinerung |
Mo 16.12. | Threads |
Mo 13.01. | Programmierstil, Fragestunde |
Mo 20.01. |
Klausur |
Literatur
-
Hanspeter Mössenböck: Sprechen Sie Java? 5. Auflage, dpunkt-Verlag, 2014.
Das Buch wurde für diese Vorlesung geschrieben und deckt ihren Inhalt vollständig ab.
Wer den Stoff der Vorlesung nochmals nachlesen möchte, ist mit diesem Buch gut bedient.
Es enthält auch zahlreiche Beispiele mit Musterlösungen.
-
Reinhard Schiedermeier: Programmieren mit Java. Pearson, 2010.
Reinhard Schiedermeier: Programmieren mit Java II. Pearson, 2013.
Diese beiden Bücher sind ebenfalls eine sehr gute Einführung in alle Aspekte von Java.
Sie sind etwas umfangreicher als das Buch von Mössenböck und decken auch einige Aspekte ab,
die über eine Einführung hinausgehen und daher in der Vorlesung nicht behandelt werden.
-
Ken Arnold, James Gosling: The Java Programming Language. Pearson, 2005.
Dieses Buch ist das Standard-Buch über die Sprache Java. Es wurde von den Java-Designern selbst geschrieben.
Allerdings geht es weit über den Umfang dieser Einführungsvorlesung hinaus. Es stellt z.B. Java gleich
als objektorientierte Sprache vor und geht überhaupt nicht auf Konzepte der allgemeinen Programmierung ein.
Weiterführende Online-Quellen
|