Programmieren II: Fortgeschrittene
Kursbeschreibung
| Studiengang | Modulkürzel | Leistungs- bewertung |
|---|---|---|
| BA-2010 | PII | 6 LP |
| NBA | PII | 6 LP |
| Magister | - | - |
| Dozenten/-innen | Kathrin Spreyer |
| Veranstaltungsart | Vorlesung/Übung |
| Erster Termin | 24.04.2012 |
| Zeit und Ort | Di, 16:15–17:45, INF 327 / SR 1 (SR) |
| Mi, 11:15–12:45, INF 327 / SR 5 (SR) |
Teilnahmevoraussetzungen
Erfolgreicher Abschluss des Kurses "Programmieren I".
Leistungsnachweis
- erfolgreiche Bearbeitung von Übungsaufgaben
- Bestehen der Abschlussklausur
Zur Klausur wird nur zugelassen, wer in den Übungsaufgaben eine Mindestanzahl von Punkten erreicht hat.
Inhalt
In der Vorlesung werden die in "Programmieren I" erworbenen Grundkenntnisse anhand einer zweiten Programmiersprache und der Entwicklung von elementaren Kenntnissen der Softwareentwicklung erweitert und vertieft. Neben einer Einführung in objektorientierte Programmierung in der Programmiersprache Java wird dabei auch in allgemeine Themen der Softwaretechnik eingeführt; u.a. zentrale Methoden und Vorgehensweisen der Softwareentwicklung wie z.B. (objektorientiertes) Design, Software-Dokumentation und Deployment.
Kursübersicht
Seminarplan (subject to change)
| Date | Topic | Materials | Literature |
| 24.4. | Introduction | assignment1.zip (due April 27) | |
| 25.4. | Variables & data types Code: MethodSignature.java Triangular.java |
assignment2.zip (due May 4) | EJ item 48 (pp. 218--220) |
| 01.5. | -- | ||
| 02.5. | Conditionals, loops & typing Code: TriangularWithLoops.java StaticTyping.java (won't compile) StrongTyping.java (won't compile) |
assignment3.zip (due May 11) | |
| 08.5. | Increment operators, arrays Code: ArrayTests.java DotProduct.java |
||
| 09.5. | break & continue, for-each, multidimensional arrays Code: PrintingArrays.java BreakExample.java ContinueExample.java ForEachTest.java MultiplicationTable.java |
assignment4.zip (due May 18) | EJ item 46 (pp. 212--214) |
| 15.5. | Sorting Code: BubbleSort.java InsertionSort.java BuiltinSort.java |
Cormen: ch. 2 (insertion sort, merge sort) ch. 6 (heap sort) ch. 7 (Quicksort) |
|
| 16.5. | Strings & I/O (I) (keine Folien) | assignment 5 (due May 25) | Documentation of the String class |
| 22.5. | Strings & I/O (II) | ||
| 23.5. | Strings & I/O (III) | ||
| 29.5. | Collections (I) | ||
| 30.5. | "Zwischenklausur" (= assignment 6) | assignment 7 (due June 8) | |
| 05.6. | Classes & inheritance (I) | ||
| 06.6. | Classes & inheritance (II) | ||
| 12.6. | Classes & inheritance (III) | ||
| 13.6. | Collections (II) | ||
| 19.6. | Collections (III) | ||
| 20.6. | Interfaces | ||
| 26.6. | Documentation & deployment | ||
| 27.6. | Exceptions (II) | ||
| 03.7. | buffer | ||
| 04.7. | Threads (I) | ||
| 10.7. | Threads (II) | ||
| 11.7. | Design Patterns (I) | ||
| 17.7. | Design Patterns (II) | ||
| 18.7. | buffer | ||
| 24.7. | |||
| 25.7. |
Literatur
- http://docs.oracle.com/javase/6/docs/api/
- D. Flanagan (2005). "Java in a Nutshell". O'Reilly.
- K. Sierra & B. Bates (2005). "Head First Java". O'Reilly.
- J. Bloch (2008). "Effective Java". Addison-Wesley.
abbreviated as [EJ] (see also here) - S. Oaks & H. Wong (2004). "Java Threads". O'Reilly
- interessant, aber im Kurs nur am Rande behandelt:
E. Freeman et al. (2004). "Head First Design Patterns". O'Reilly

