Home | english | Impressum | Sitemap | KIT
Programmieren
Typ: Vorlesung (V) Links:
Lehrstuhl: Zertifizierbare Vertrauenswürdige Informatiksysteme
Semester: Wintersemester 2011/12
Ort:

Hörsaal am Fasanengarten

Zeit:

Montag, 14:00-15:30 wöchentlich

Beginn: 17.10.2011
Dozent:

Prof. Dr. Alexander Pretschner
Florian Kelbert
Jürgen Graf
Martin Mohr

SWS: 2
LVNr.: 24004
Hinweis:

Die Vorlesung liefert mit einer Einführung in die systematische Programmierung wesentliche praktische Grundlagen für alle weiterführenden Informatikvorlesungen. Aufbauend auf Überlegungen zum strukturierten und systematischen Entwurf von Algorithmen werden die wichtigsten Konstrukte moderner höherer Programmiersprachen sowie Programmiermethoden erläutert und an Beispielen illustriert. Ein Schwerpunkt der Vorlesung liegt auf der Vermittlung der Konzepte der objektorientierten Programmierung. Als Programmiersprache wird Java verwendet.

Vortragssprache:

Deutsch

Beschreibung:

  • Objekte und Klassen
  • Typen, Werte und Variablen
  • Methoden
  • Kontrollstrukturen
  • Rekursion
  • Referenzen, Listen
  • Vererbung
  • Ein/-Ausgabe
  • Exceptions
  • Programmiermethodik
  • Implementierung elementarer Algorithmen (z.B. Sortierverfahren) in Java

Literaturhinweise:

P. Pepper, Programmieren Lernen, Springer, 3. Auflage 2007

Weiterführende Literatur

B. Eckels: Thinking in Java. Prentice Hall 2006
J. Bloch: Effective Java, Addison-Wesley 2008
D. Flanagan: Java in a Nutshell, O'Reilly, 5th Edition 2005

Lehrinhalt:

Der/die Studierende soll

  • grundlegender Strukturen der Programmiersprache Java kennen und anwenden, insbesondere Kontrollstrukturen, einfache Datenstrukturen, Umgang mit Objekten, und Implementierung elementarer Algorithmen.
  • grundlegende Kenntnisse in Programmiermethodik und die Fähigkeit zur autonomen Erstellung kleiner bis mittlerer, lauffähiger Java-Programme erwerben.

News

Abonnieren Sie auch den RSS-Feed zur Vorlesung Programmieren:
RSS Feed zur Vorlesung Programmieren

RSS - Was ist das eigentlich?

 
Ergebnisse der Abschlußaufgaben & Programmieren für Wiederholer

Die Ergebnisse der Abschlußaufgaben gehen Ihnen heute (17. April) auf die im Praktomat hinterlegte eMail-Addresse zu. Bitte beachten Sie alle weiteren Hinweise in der entsprechenden eMail.

Programmieren für Wiederholer wird im Sommesemester 2012 vom Lehrstuhl Prof. Snelting betreut. Anlaufpunkt ist daher die entsprechende Webseite zur Veranstaltung.

Zweite Abschlußaufgabe veröffentlicht

Die zweite Abschlußaufgabe wurde gestern im Praktomat veröffentlicht.

 
Programmierberatung und Demo-Code

Bitte beachten Sie die geänderten Zeiten der Programmierberatung während der vorlesungsfreien Zeit. Die Termine finden Sie auf der Webseite zur Vorlesung.

Zusätzlich finden Sie dort nun den Java-Code des am vergangenen Montag live programmierten Fußball-Programms.

Vorlesungsfolien, Lösungsvorschlag und Tutoriumsmaterial

Auf der Webseite zur Vorlesung finden Sie ab sofort

  • die Vorlesungsfolien für Montag, 2. Februar, zum Thema "Softwaretechnik"
  • den Lösungsvorschlag zu Übungsblatt 6
  • die Aufgabenblätter der letzten Tutorien

 

 
Erste Abschlußaufgabe veröffentlicht

Die erste Abschlußaufgabe wurde soeben im Praktomat veröffentlicht. Abgabetermin im Praktomat ist am 12.03.2012, 13 Uhr.

Vorlesungsfolien für 30.1.

 Auf der Webseite zur Vorlesung finden Sie ab sofort die Folien für kommenden Montag, 30.1., zur Java API.

 
Vorlesungsfolien für Montag, 23.01.

Auf der Webseite finden Sie ab sofort die Folien zur Vorlesung am kommenden Montag, 23.1.

Lösungsvorschlag Übung 5

Auf der Webseite zur Vorlesung finden Sie nun den Lösungsvorschlag zu Übung 5.

 
Praktomat Serverumzug

Wegen eines Serverumzugs wird der Praktomat heute (Freitag, 20.1.) zwischen 9 Uhr und voraussichtlich 15 Uhr nicht verfügbar sein.

Ablaufbeispiel Übung 6

Auf Übungsblatt 6 wurde Ablaufbeispiel 1 überarbeitet. Das neue Übungsblatt steht auf der Webseite zum Download bereit.

 
Programmierberatung Di, 11:30

Beachten Sie, dass die Programmierberatung dienstags um 11:30 bis Semesterende in Raum 010 stattfindet. Da dort keine Rechner vorhanden sind, ist eine Teilnahme nur mit eigenem Laptop möglich.

Vorlesungsfolien für Montag, 16.01.

Auf der Webseite finden Sie ab sofort die Vorlesungsfolien für Montag, 16.01. zu den Thema "Interfaces" und "Generics".

 
Lösungsvorschlag Übung 4

Der Lösungsvorschlag zu Übung 4 wurde auf der Webseite zur Vorlesung zur Verfügung gestellt.

Vorlesungsfolien für Montag, 09.01.

Auf der Webseite finden Sie ab sofort die Vorlesungsfolien für Montag, 09.01. zum Thema "Fehler und Testen".

 
Übungsblatt 5, Abschlußaufgaben und Democode

Auf der Webseite zur Vorlesung wurde das fünfte Übungsblatt veröffentlicht. Abgabetermin ist der 16. Januar 2012. Zusätzlich finden Sie auf der Webseite den Javacode zu den Beispielen der heutigen Weihnachtsvorlesung. Beachten Sie außerdem, dass die Rahmenbedingungen sowie -termine der Abschlußaufgaben veröffentlicht wurden. Denken Sie an eine rechtzeitige Anmeldung für den Übungsschein und die Abschlußaufgaben im Studierendenportal. Detaillierte Hinweise hierzu finden Sie auf der Webseite und Übungsblatt 5.

Vorlesungsfolien für Montag, 19.12.

Auf der Webseite finden Sie ab sofort die Vorlesungsfolien für Montag, 19.12. zum Thema "Rekursion".

 
Hinweise zu Übung 4, Lösungsvorschlag Übung 3

Bitte beachten Sie die geänderten Abgabemodalitäten zu Übungsblatt 4. Die Modalitäten finden Sie auf der neuen Version des Übungsblattes sowie im Praktomat. Außerdem steht auf der Webseite zur Vorlesung nun ein korrigierter Lösungsvorschlag zu Übungsblatt 3 zum Download bereit.

Übungsblatt 4 verfügbar

Das vierte Übungsblatt wurde auf der Webseite zur Vorlesung veröffentlicht. Außerdem finden Sie dort den Lösungsvorschlag zu Übungsblatt 3.

 
Vorlesungsfolien für Montag, 12.12.

Auf der Webseite finden Sie ab sofort die Vorlesungsfolien für Montag, 12.12. zum Thema "Vererbung". Zusätzlich wurden die Aufgaben des letzten Tutoriums veröffentlicht.

Videoübertragung in -102 wird eingestellt

Bitte beachten Sie, dass die Videoübertragung der Vorlesung in den Hörsaal -102 ab Montag, 12.12. eingestellt wird. Besuchen Sie bitte stattdessen wahlweise den Hörsaal am Fasanengarten oder die Videoübertragung -101.

 
Programmierberatung

Ab sofort wird eine Programmierberatung zur Vorlesung angeboten. Hierbei werden Tutoren im Praktikumspool -143 bzw -142 (Geb. 50.34) anwesend sein und Ihnen bei Fragen und Problemen mit den Übungs- und Abschlußaufgaben beratend zur Seite stehen werden. Die Zeiten finden Sie auf der Webseite.

Vorlesungsfolien für Montag, 05.12.

Auf der Webseite finden Sie ab sofort die Vorlesungsfolien für Montag, 05.12. zu den Themen "Suchen" und "Sortieren". Zusätzlich wurden die Aufgaben des letzten Tutoriums veröffentlicht.

 
Übungsblatt 3 verfügbar

Das dritte Übungsblatt wurde auf der Webseite zur Vorlesung veröffentlicht. Außerdem finden Sie dort den Lösungsvorschlag zu Übungsblatt 2 und Informationen zur Praktomat-Prüfung "Checkstyle 2" (Java Code Conventions).

Vorlesungsfolien für Montag, 28.11.

Auf der Webseite finden Sie ab sofort die Vorlesungsfolien für Montag, 28.11. zum den Themen "Referenzen" und "Listen". Zusätzlich finden Sie dort nun die Aufgaben der letzten Tutorien sowie Folien zum Kommentieren, Javadoc sowie zu den Java Code Conventions.

 
Vorlesung am 21.11. entfällt

Beachten Sie, dass die Programmieren-Vorlesung am kommenden Montag, 21.11., entfällt. Das dritte Übungsblatt wird entsprechend erst am 28.11. veröffentlicht. Der Abgabetermin für das zweite Übungsblatt bleibt hiervon jedoch unberührt. Abgabetermin bleibt der 21.11.

Fehler in Vorlesungsfolien

In den Vorlesungsfolien zu Arrays hatte sich auf Folie 105 ein kleiner Fehler eingeschlichen. Dieser wurde ausgebessert, die neuen Folien stehen zum Download bereit.

 
Vorlesungsfolien für Montag, 14.11.

Auf der Webseite finden Sie ab sofort die Vorlesungsfolien für Montag, 14.11. zum Thema "Arrays" sowie die Programmieraufgaben des Tutoriums der vergangenen Woche.

Übungsblatt 2 verfügbar

Das zweite Übungsblatt wurde auf der Webseite zur Vorlesung veröffentlicht. Außerdem finden Sie dort den Lösungsvorschlag zu Übungsblatt 1 und Informationen zur Praktomat-Prüfung "Checkstyle 1".

 
Vorlesungsfolien für Montag, 7.11.

Auf der Webseite finden Sie ab sofort die Vorlesungsfolien für Montag, 7.11. zum Thema "Kontrollstrukturen".

Probleme bei Praktomat mit Package-Informationen

Beachten Sie: Praktomat hat unter Umständen Probleme mit Package-Informationen in Java-Dateien ("package ....;"). Bitte Entfernen Sie sämtliche Package-Informationen aus den Java-Dateien, falls Praktomat Ihre Abgabe mit einem "Internal Server Error" quittieren sollte.

 
Vorlesungsfolien und Tutoriumsaufgabe

Auf der Webseite zur Vorlesung finden Sie nun die Folien zur Vorlesung vom vergangenen Montag sowie die Programmieraufgaben des Tutoriums der vergangenen Woche.

Folien zu JDK

Auf der Webseite finden Sie nun die in den Tutorien vorgestellten Folien zum JDK.

 
Vorlesungsfolien und Übungsblatt 1

Auf der Webseite zur Vorlesung finden Sie ab sofort die Folien der heutigen Vorlesung. Zusätzlich wurde das erste Übungsblatt veröffentlicht. Dieses muss bis Montag, 7.11. im Praktomat eingereicht werden.

Vorlesungsfolien vom 17.10.

Auf der Webseite zur Vorlesung finden Sie nun die Folien der ersten Veranstaltung. Bitte beachten Sie auch die PDF-Datei mit allen Anmeldefristen und Terminen.

 

Abschlußaufgaben

Das Bestehen des Übungsschein ist zwingende Voraussetzung für die Teilnahme an den Abschlußaufgaben. Melden Sie sich daher rechtzeitig im Studierendenportal für den Übungsschein (276 Programmieren ÜS) an. Der Übungsschein wird dann ab dem 9. Januar 2012 auf Ihrem Konto gutgeschrieben sobald Sie die erforderlichen 60 Punkte auf den Übungsblättern erreicht haben. Sobald Ihr Übungsschein auf Ihrem Konto gutgeschrieben wurde, können Sie sich im Studierendenportal bis spätestens 31. Januar 2012, 23:59 Uhr für die Abschlußaufgaben (199 Programmieren) anmelden.

Ohne eine rechtzeitige Anmeldung können Sie nicht an den Abschlußaufgaben teilnehmen; eine nachträgliche Anmeldung ist nicht möglich!


Die erste Abschlußaufgabe wird am 01.02.2012 im Praktomat ausgegeben. Die Abgabe der ersten Abschlußaufgabe erfolgt am 12.03.2012 im Praktomat. Die zweite Abschlußaufgabe wird am 13.02.2012 ausgegeben. Die Abgabe der zweiten Abschlußaufgabe erfolgt am 26.03.2012 im Praktomat.

Datum Übungsblatt Weiterführendes Material Abgabe
01.02.2012 Abschlußaufgabe 1 Funktionalitätstests 12.03.2012
Notenschlüssel
13.02.2012 Abschlußaufgabe 2 Funktionalitätstests 26.03.2012
Notenschlüssel

Bewertung Ihrer Abgabe

Beide Aufgaben werden jeweils in den Kategorien Funktionalität und Programmiermethodik mit einer Punktezahl von 7 bis 0 bewertet. Zum Bestehen der Abschlussaufgaben müssen 

  • beide Aufgaben erfolgreich in Praktomat eingereicht sein (d.h. die fett markierten automatischen Prüfungen müssen bestanden werden) und
  • der Durchschnitt über beide Aufgaben in Funktionalität besser oder gleich 4 Punkte sein und
  • der Durchschnitt über beide Aufgaben in Programmiermethodik besser oder gleich 4 Punkte sein.

Bei der Berechnung der Endnote werden die Punkte in Funktionalität doppelt gewichtet.

Bei Abschreiben werden beide Abschlussaufgaben mit nicht bestanden bewertet. Auch dann, wenn nur eine der Aufgaben abgeschrieben wurde.

Beispiel 1:

  • Aufgabe 1: Funktionalität: 7, Programmiermethodik: 5
  • Aufgabe 2: Funktionalität: 5, Programmiermethodik: 3

Es gilt also für den Durchschnitt: Funktionalität: 6, Programmiermethodik: 4 ⇒ Bestanden!

Beispiel 2:

  • Aufgabe 1: Funktionalität: 7, Programmiermethodik: 3
  • Aufgabe 2: Funktionalität: 7, Programmiermethodik: 4

Es gilt also für den Durchschnitt: Funktionalität: 7, Programmiermethodik: 3,5 ⇒ Nicht bestanden!

Beispiel 3:

  • Aufgabe 1: Funktionalität: 5, Programmiermethodik: 1
  • Aufgabe 2: Funktionalität: 6, Programmiermethodik: 3

Es gilt also für den Durchschnitt: Funktionalität: 5,5, Programmiermethodik: 2 ⇒ Nicht bestanden!

Beispiel 4:

  • Aufgabe 1: Funktionalität: 6, Programmiermethodik: 7
  • Aufgabe 2: Funktionalität: 7, Programmiermethodik: 2

Es gilt also für den Durchschnitt: Funktionalität: 6,5, Programmiermethodik: 4,5 ⇒ Bestanden!

Material zur Vorlesung

Vorlesungsfolien

Datum Inhalt
17.10.2011 Einführung Informatik
Organisatorisches
24.10.2011 Objekte und Klassen
Datentypen und Werte
31.10.2011 Konstruktoren und Methoden
07.11.2011 Kontrollstrukturen
14.11.2011 Arrays
21.11.2011 entfällt
28.11.2011 Referenzen
Listen
05.12.2011 Suchen
Sortieren
12.12.2011 Vererbung
19.12.2011 Rekursion
Weihnachten
09.01.2012 Fehler und Testen
16.01.2012 Interfaces
Generics
23.01.2012 Wrap Up
30.01.2012 Java API
06.02.2012 Softwaretechnik

 

Übungsblätter

Datum Übungsblatt Weiterführendes Material Abgabe
24.10.2011 Übungsblatt 1 Lösungsvorschlag
07.11.2011
07.11.2011 Übungsblatt 2 Lösungsvorschlag 21.11.2011
28.11.2011 Übungsblatt 3 Terminal.java 12.12.2011
Lösungsvorschlag
12.12.2011 Übungsblatt 4 Lösungsvorschlag 09.01.2012
19.12.2011 Übungsblatt 5 Lösungsvorschlag 16.01.2012
16.01.2012 Übungsblatt 6 Lösungsvorschlag 30.01.2012

 

Zusätzliches Material

Datum Material
17.10.2011 Fristen & Termine
27.10.2011 JDK: Installieren, Kompilieren, Ausführen
02.11.2011 Tutorium 01: Klassenentwurf Auto
04.11.2011 Tutorium 02: Babies
07.11.2011 Checkstyle 1
11.11.2011 Checkstyle 1 XML Datei
Tutorium 03: Auto
25.11.2011 Tutorium 04: Schleifen
Tutorium 05: Arrays und Schleifen
Kommentieren & Javadoc
Java Code Conventions
30.11.2011 Checkstyle 2 XML Datei
04.12.2011 Tutorium 06: Kopieren von Arrays
09.12.2011 Tutorium 07: Liste
15.12.2011 Tutorium 08: Vererbung
19.12.2011 Kochsche Schneeflocke
Brainteaser
10.01.2012 Tutorium 09: Rekursion
02.02.2012 Tutorium 10: Hanoi & Kniffel
02.02.2012 Tutorium 11: Exceptions & Interfaces
02.02.2012 Tutorium 12: Java API
08.02.2012 Java-Code des Fußball-Programms

 

Online verfügbare Literatur

Autor Titel Online verfügbar
Peter Pepper Programmieren Lernen 3. Auflage (Google Books)
Bruce Eckels Thinking in Java 3rd Edition (Bruce Eckel's Mindview, Inc)
Joshua Bloch Effective Java 2nd Edition (Google Books)
David Flanagan Java in a Nutshell 5th Edition (Google Books)

Häufig gestellte Fragen

Wo bekomme ich Informationen zur Veranstaltung?
Auf dieser Webseite und in den allgemeinen Hinweisen der jeweiligen Übungsblätter.

Wo muss ich mich anmelden und welche Fristen gibt es?
WebInScribe: Angabe der Tutoriumspräferenzen von 18.10.2011, 18:00 Uhr bis 20.10.2011, 18:00 Uhr. Bekanntgabe der Ergebnisse am 21.10.2011 um ca. 12:00 Uhr.
Praktomat: Anmeldung bis 07.11.2011
Disclaimer: Abgabe im Tutorium bis 04.11.2011
Studierendenportal: Anmeldung zum Übungsschein (Prüfungsnummer 276) bis 31.03.2012
Studierendenportal: Anmeldung zur Abschlußaufgabe (Prüfungsnummer 199) von 26.12.2011 bis 29.01.2012
 
Warum kann ich nicht auf die Vorlesungsmaterialien bzw. die Übungs-/Abschlußaufgaben zugreifen?
Die Vorlesungsmateralien und die Übungs- bzw. Abschlußaufgaben sind nur innerhalb des KIT verfügbar. Um auf die Unterlagen zugreifen zu können, verwenden Sie entweder die Studentenpools des SCC oder der ATIS, das KIT-WLAN oder den VPN Client des SCC.

Kann ich mich von der Prüfung bzw. den Abschlußaufgaben abmelden?
Eine Abmeldung von der Prüfung Programmieren (Prüfungsnummer 199), d.h. den Abschlußaufgaben, ist nur bis zum Beginn der Prüfung möglich.

Wo bekomme ich den Disclaimer und was mache ich mit diesem?
Der Disclaimer wird auf der Webseite zur Vorlesung veröffentlicht und muss bis zum 4. November beim jeweiligen Tutor abgegeben werden. Wird der Disclaimer nicht rechtzeitig abgegeben, so wird Ihr Praktomat-Account gesperrt; Übungs- und Abschlußaufgaben können somit nicht mehr eingereicht werden.

Muss ich den Disclaimer auch dann abgeben, wenn ich ihn bereits in einem vorherigen Semester abgegeben habe?
Ja.

Muss ich mich für den Abschlußaufgaben-Praktomat anmelden wenn ich einen Zugang für den Übungsaufgaben-Praktomat habe?
Nein. Die Zugangsdaten für den Abschlußaufgaben-Praktomat werden aus dem Übungsaufgaben-Praktomat übernommen. Falls Sie keinen Zugang beim Übungsaufgaben-Praktomat haben, müssen Sie sich jedoch beim Abschlußaufgaben-Praktomat anmelden.

Was passiert wenn ich in einer Übungsaufgabe abschreibe?
Handelt es sich bei einer abgegebenen Übungsaufgabe um ein Plagiat, so wird die gesamte Übung als nicht bestanden bewertet. Der Übungsschein kann dann in diesem Semester nicht mehr bestanden werden. Da der Übungsschein Voraussetzung für die Abschlußaufgaben ist, können in demselben Semester auch die Abschlußaufgaben nicht angetreten werden.

Werden der Übungsschein und die Abschlußaufgaben im kommenden Semester wieder angeboten?
Ja.

Der Übungsschein ist Voraussetzung für die Teilnahme an den Abschlußaufgaben. Muss der Übungsschein im gleichen Semester wie die Abschlußaufgaben gemacht werden?
Nein. Der Übungsschein kann auch in einem vorherigen Semester erbracht worden sein.

Worauf wird bei der Bewertung meiner Übungs- und Abschlußaufgaben geachtet?
Neben der Funktionalität der abgegebenen Programme wird auch der Programmierstil bewertet. Dabei kommt es vor allem darauf an, dass Sie eine saubere und klar strukturierte Implementierung der geforderten Funktionalität mit Hilfe der in der Vorlesung vorgestellten Methoden und Prinzipien umsetzen.

Programmieren ist Orientierungsprüfung. Welche Fristen, Modalitäten und Regelungen gibt es?
Laut Prüfungsordnung §8 Abs. 1 ist die Prüfung Programmieren bis zum Ende des 2. Fachsemesters anzutreten und bis zum Ende des 3. Fachsemesters zu bestehen. Eine zweite Wiederholung der Prüfung Programmieren ist ausgeschlossen. Weitere (Ausnahme-)Regelungen sind der Prüfungsordnung zu entnehmen.

Prüfungsordnung und Modulhandbuch?!
Gehören zur Pflichtlektüre jedes Studierenden und sind hier zu finden:
http://www.informatik.kit.edu/1956.php

Webseiten

Hier finden Sie Links zu allen Webseiten, die im Zusammenhang mit der Vorlesung relevant sind.

Praktomat

Online-System zur Abgabe und Bewertung der Übungs- und Abschlussaufgaben (nur aus dem Uni-Netz erreichbar).
https://praktomat.info.uni-karlsruhe.de/praktomat_2011_WS/

Studierendenportal

Anmeldung zum Übungsschein und zu den Abschlussaufgaben.
https://studium.kit.edu/

WebInScribe

Einteilung in die Tutorien.
https://webinscribe.ira.uka.de/

WebVPN

WebVPN zum KIT und Hilfestellungen zum Einrichten des VPN.
https://vpn.kit.edu/

ATIS Studentenpool

Informationen und Benutzerantrag für den Studentenpool der ATIS (Geb. 50.34).
http://www.atis.uka.de/290.php

SCC Pools

Informationen zu den Pool-Räumen des SCC.
http://www.scc.kit.edu/dienste/3271.php

Prüfungsordnung und Modulhandbuch

Download von Prüfungsordnung und Modulhandbuch.
http://www.informatik.kit.edu/1956.php