Programmierung I im SS2012
Auf dieser Seite finden Sie die folgenden Informationen zur Lehrveranstaltung:
- Inhalt
- Lehreinheiten (u.a. Themen und Aufgaben)
- Organisation
- Material (u.a. Skript) und Hinweise
- Rahmenbedingungen
- Literatur
- Links zu thematisch verwandten Webseiten
Für den Zugriff auf die Details der Lehrveranstaltung benötigen Sie einen Benutzernamen und ein Passwort. Sie wurden in der ersten Veranstaltung bekannt gegeben. Haben Sie dennoch keinen Zugriff, nehmen Sie bitte hier Kontakt mit mir auf.
Inhalt
Das Modulhandbuch Ihres Studiengangs sieht für diese Veranstaltung folgende Inhalte vor:
Die Studierenden sollen die Konzepte der prozeduralen, modulorientierten und objektorientierten Programmierung beherrschen. Sie sollen Probleme mit Hilfe objektorientierter Verfahren durch Entwicklung eigener Klassenhierarchien lösen, sowie gängige Klassen aus Standardbibliotheken benutzen können. [...]
Die Studierenden sollen Programme kleineren bis mittleren Umfangs in einer objektorientierten Programmiersprache (z.B. Java) schreiben können. Dabei sollen sie auf gut strukturierte, lesbare und elegante Programmierung achten und ihre Programme gründlich testen. Sie sollen in der Lage sein, unter Verwendung der Fachsprache Lösungswege und Algorithmen präzise zu beschreiben und zu bewerten. [...]
- 1. Grundlagen:
Programmbestandteile, Syntax und Semantik, Grammatiken und Dokumentation lesen können, Ausführungsmodelle (Kompilation, Interpretation, Kombinationen davon)- 2. Prozedurale Programmierung:
Datentypen und ihre Operationen, Datenbehälter (Variable und Konstante), Reihungen (engl. arrays), die drei Befehlsarten: Vereinbarung, Ausdruck und Anweisungen), Unterprogramme (Funktionen und Prozeduren), Rekursion- 3. Objektorientierte Programmierung:
Klassen, Schnittstellen, Objekte, Vererbung, Überladen und Überschreiben von Methoden, Polymorphie, Verdecken von Attributen, Pakete, Ausnahmen, Umgang mit den wichtigsten Standardklassen, Sammlungen (engl. Collections), verkettete Listen, Mengen, Bäume, Hashtabellen, Abbildungen (engl. maps)- 4. Qualitätssicherung:
Testprogramme als Entwicklungswerkzeuge anwenden (Regressionstests), Testfälle entwerfen, Testprogramme schreiben, Programmier-Konventionen
Lehreinheiten
Datum | Lehreinheit | Themen der Vorlesung | Themen des Tests | |
---|---|---|---|---|
27.03/28.03.12 | LE 00 | - keine (Erstsemseterveranstaltung) - | Keine Details. | |
03.04/04.04.12 | LE 01 | Einleitung und Grundlagen | Details hier verfügbar... | |
10.04/11.04.12 | LE 02 | Datenstrukturen, Ein- und Ausgabe | Details hier verfügbar... | |
17.04/18.04.12 | LE 03 | Anweisungen | Details hier verfügbar... | |
24.04/25.04.12 | LE 04 | Funktionen | Datenstrukturen und Anweisungen | Details hier verfügbar... |
02.05.12 | LE 05 | Testen | Details hier verfügbar... | |
08.05/09.05.12 | LE 06 | Arrays und Sortieren | Details hier verfügbar... | |
15.05/16.05.12 | LE 07 | Objektorientierung und Klassen | Funktionen | Details hier verfügbar... |
22.05/23.05.12 | LE 08 | Standardklassen und Vererbung | Arrays | Details hier verfügbar... |
29.05/30.05.12 | LE 09/LE 10 | Pakete/Interfaces | Details zur LE09... Details zur LE10... |
|
05.06.12 | LE 11 | Ausnahmebehandlung | Details zur LE11... | |
12.06/13.06.12 | LE 12 | Datenstrukturen für Mengen und Containerklassen | Klassen und Vererbung | Details zur LE12... |
19.06/20.06.12 | LE 13 | Kommentierung und javadoc (am 19.06.) Zusammenfassung und Klausurvorbereitung (am 20.06.) |
Details zur LE13... Klausurvorbereitung... |
|
26.06.12 | Klausurvorbereitung/Fragen (am 26.06.) | Klausurvorbereitung... | ||
27.06.12 | Klausur am Mittwoch, den 27.06.2012 von 12:00 bis 14:00 Uhr Raum T 102 (TOP Tegel) |
Ergebnisse... | ||
03.07/04.07.12 | Ausweichtermin für Klausur/Puffer (z.B. Krankheit) | Keine Details. | ||
10.07/11.07.12 | Klausurrückgabe und Rücksprache | Ergebnisse ... | ||
17.09.2012 | Prüfungszeitraum 2: Klausur am Montag, den 17.09.2012 in der Zeit von 12:00 bis 14:00 Uhr Raum B 101. | Ergebnisse ... |
Organisation und Prüfungsleistungen
Programmierung I (Konzepte) dient der Vermittlung der Theorie als seminaristischer Unterricht (SU).
- ca. 40 Plätze
- Dienstag, von 12:15 - 13:45 Uhr in D 136/H5
- Mittwoch, von 10:00 - 11:30 Uhr in B 345
- Prüfungsleistung: Klausur
- Modulnote: 100% Klausur
Programmierung I (Praxis) dient der praktischen Anwendung der theoretischen Grundlagen als Rechnerübungen im Labor.
- Labor mit 20 Computerarbeitsplätzen (Raum D E16a L)
- Gruppe A
- nach Belegsystem "Programmieren I (Praxis)" Nr. 3
- Dienstag, von 14:15 - 17:30 (bzw. 17:15)
- Gruppe B
- nach Belegsystem "Programmieren I (Praxis)" Nr. 3
- Mittwoch, von 14:15 - 17:30 (bzw. 17:15)
- freiwillige Übungsaufgaben
- Prüfungsleistungen
- Tests (rechtzeitige vorherige Ankündigung im SU/auf Webseite)
- Hausaufgaben (vorherige Ankündigung im SU)
- alle Aufgaben erfolgreich (d.h. mind. 50% der Punkte in den besten Tests und mind. 50% der Punkte in den Hausaufgaben)
- Modulnote: 50% Testergebnis, 50% Hausaufgaben
Weitere Materialien und Hinweise
Es ist ein Skript zur Lehrveranstaltung im PDF-Format verfügbar, das Sie hier herunterladen können.
Rahmenbedingungen
- Gruppenarbeit in Zweiergruppen
- Entwicklungsumgebung wird benötigt
- Java JDK installieren, herunterzuladen bei Oracle (http://java.oracle.com)
- TextPad für Java-Entwicklung evaluieren, herunterzuladen bei http://www.textpad.com/
- Eclipse IDE for Java Developers für die fortgeschrittene Entwicklung verwenden, herunterzuladen bei http://eclipse.org/downloads/
Literatur
Dirk Frischalowski, Ulrike Böttcher: Java 6. Professionell einsteigen.
Software & Support Verlag GmbH, 2007.
Gebraucht: ab ca. 5 EUR
Ulrike Böttcher, Dirk Frischalowski: Java5 Programmierhandbuch - Einstieg und professioneller Einsatz;
Software & Support Verlag GmbH, 2005.
Gebraucht: ab ca. 10 EUR
Christian Ullenboom: Java ist auch eine Insel.
Galileo Computing; ISBN 978-3-8362-1802-3, 2011
Neupreis: 49,90 EUR und kostenlos unter http://openbook.galileocomputing.de/javainsel
Links
Videos auf Youtube
Java Grundlagen werden in der Youtube-Playlist von Kwoxer.de vorgestellt: http://www.youtube.com/playlist?list=PL94546A5113384C81
Weitere (fortgeschrittene) Beispiele von Kwoxer.der auf der Playlist: http://www.youtube.com/playlist?list=PLD9BFC7347D6DBE1C
Sonstige
- Online Java Tutorial (Grundlagen)
- - weitere folgen -