Home | english | Impressum | Sitemap | KIT
Programmieren
Typ: Vorlesung Links:
Lehrstuhl: Fakultät für Informatik
Semester: Wintersemester 2010/11
Ort:

Hörsaal am Fasanengarten

Zeit:

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

Beginn: 18.10.2010
Dozent:

Professor Alexander Pretschner
Organisation: Florian Kelbert

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.

Inhalt

  • 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

Lernziele

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.

Literatur

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

News

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.

 

Programmierberatung

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

Abschlußaufgaben

Beachten Sie, dass Sie sich im Studierendenportal im Zeitraum von 27.12.2010 bis 23.01.2011 für die Abschlußaufgaben (Prüfungsnummer 199) anmelden müssen.
Ohne eine rechtzeitige Anmeldung im Studierendenportal können Sie an den Abschlußaufgaben nicht teilnehmen.
Eine nachträgliche Anmeldung (nach dem 23.01.2011) ist nicht möglich.

Die erste Abschlußaufgabe wird am 24.01.2011 auf der Webseite zur Vorlesung ausgegeben. Die Abgabe der ersten Abschlußaufgabe erfolgt am 07.03.2011 im Praktomat.
Die zweite Abschlußaufgabe wird am 07.02.2011 ausgegeben. Die Abgabe der zweiten Abschlußaufgabe erfolgt am 21.03.2011 im Praktomat.


Die Abschlussaufgaben müssen mit Praktomat abgegeben werden. Für die Abschlussaufgaben ist eine eigene Oberfläche von Praktomat eingerichtet, die von den Übungsaufgaben getrennt ist. Bei den Abschlussaufgaben können nur lauffähige Java-Programme abgegeben werden, die die Funktionalitätstests bestehen. Ein Beispiel für solche Tests ist die Aufgabe 0 im Übungspraktomaten. Jeder Student muss selbst vor den entsprechenden Terminen auf den Webseiten kontrollieren, ob seine Einreichung erfolgreich war. Eine Nachreichung ist nicht möglich.

 

Bewertungsrichtlinien für die Abschlussaufgaben

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

  • beide Aufgaben erfolgreich in Praktomat eingereicht sein und
  • der Durchschnitt über beide Aufgaben in Funktionalität besser oder gleich D sein und
  • der Durchschnitt über beide Aufgaben in Programmiermethodik besser oder gleich D sein.

Abschreiben und Abschreiben lassen wird bei den Abschlussaufgaben mit der Note F und nicht bestanden bewertet. Auch dann, wenn nur eine der Aufgaben abgeschrieben wurde.

Beispiel 1:

  • Aufgabe 1: Funktionalität: A, Programmiermethodik: C
  • Aufgabe 2: Funktionalität: C, Programmiermethodik: E

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

Beispiel 2:

  • Aufgabe 1: Funktionalität: A, Programmiermethodik: E
  • Aufgabe 2: Funktionalität: A, Programmiermethodik: D

Es gilt also für den Durchschnitt: Funktionalität: A, Programmiermethodik: D-E ⇒ Nicht bestanden!

 

Abschlußaufgaben

Datum Übungsblatt Weiterführendes Material Abgabe
24.01.2011 Abschlußaufgabe 1 Terminal.java für Abschlußaufgabe 1 07.03.2011
Notenschlüssel
07.02.2011 Abschlußaufgabe 2 Secret Test 1 21.03.2011
Secret Test 2
Secret Test 3
Secret Test 4
Notenschlüssel

Material zur Vorlesung

Die Materialien zur Vorlesung sind nur KIT-intern verfügbar.

Vorlesungsfolien

Datum Inhalt
18.10.2010 Einführung Informatik
Organisatorisches
25.10.2010 Objekte und Klassen
Datentypen und Werte
08.11.2010 Konstruktoren und Methoden
15.11.2010 Kontrollstrukturen
22.11.2010 Arrays
29.11.2010 Referenzen
Listen
06.12.2010 Suchen
Sortieren
13.12.2010 Vererbung
20.12.2010 Rekursion
Weihnachtsvorlesung
10.01.2011 Exceptions, Assertions, Testen
17.01.2011 Interfaces
Generics
24.01.2011 Wrap Up
31.01.2011 Java API
07.02.2011 Software Engineering

 

Übungsblätter

Datum Übungsblatt Weiterführendes Material Abgabe
18.10.2010 Übungsblatt 1 Lösungsvorschlag inkl. Private-Javadoc 01.11.2010
08.11.2010 Übungsblatt 2 Public-Javadoc 22.11.2010
Terminal.java
Lösungsvorschlag inkl. Private-Javadoc
22.11.2010 Übungsblatt 3 Fließtexte 06.12.2010
Lösungsvorschlag inkl. Private-Javadoc
06.12.2010 Übungsblatt 4 Lösungsvorschlag inkl. Private-Javadoc 20.12.2010
20.12.2010 Übungsblatt 5 Terminal.java 10.01.2011
Lösungsvorschlag inkl. Private-Javadoc
10.01.2011 Übungsblatt 6 Lösungsvorschlag 24.01.2011

 

Zusätzliches Material

Datum Material
18.10.2010 Fristen & Termine
Anmeldung Praktomat
25.10.2010 JDK: Installieren, Kompilieren, Ausführen
26.10.2010 Installation des VPN Client unter Ubuntu
29.10.2010 Tutorium 1: Klassenentwurf Automobil
05.11.2010 Tutorium 2: Klassenentwurf Baby und Auswertung von Ausdrücken
08.11.2010 Checkstyle 1/2
12.11.2010 Tutorium 3: Auto - Konstruktoren und einfache Methoden
19.11.2010 Tutorium 4: Schleifen und Primfaktoren
Kommentieren & Javadoc
24.11.2010 Java Code Conventions (JCC) & CheckstyleJCC
30.11.2010 Tutorium 5: Arrays und Schleifen
03.12.2010 Tutorium 6: Kopieren von Arrays
13.12.2010 Tutorium 7: Liste
Klassendiagramm: Suchmaschine
21.12.2010 Kochsche Schneeflocke
Brainteaser
10.01.2011 Tutorium 9: Vererbung, Überschreiben, Überladen, Binden
Tutorium 9: Vererbung und Rekursion
14.01.2011 Tutorium 10: Türme von Hanoi und Kniffel
21.01.2011 Tutorium 11: Exceptions, Interfaces, Comparable
28.01.2011 Tutorium 12: JavaAPI - Comparable, Collections, Comparator, ArrayList, Iterator
07.02.2011 Quelltexte zum Fußball-Beispiel
Klassendiagramm zum Fußball-Beispiel

 

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)

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/

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