Programmierung I im SS2012

Auf dieser Seite finden Sie die folgenden Informationen zur Lehrveranstaltung:

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

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