"Programmierung I" (Strukturiertes Programmieren I) (B1AI2) im Studiengang "Angewandte Informatik"

Sommersemester 2009


Gliederung

Termine Aktuelle Informationen Übungen
Übungsgruppen Belegarbeiten Benotung
Durchführung der Übungen und Belegarbeiten Durchführung der Klausur Literatur

Termine

  Vorlesung Übung
Zeit:

donnerstags 13:45 - 15:15 Uhr (4.E)

donnerstags 15:30 - 18:45 Uhr (5. + 6.E) im wöchentlichen Wechsel
Ort: Raum HG 028 Raum VG 207
Lehrkraft: H. Hansen  


Aktuelle Informationen

14.7.2009
Leider werde ich am Donnerstag die Klausuren noch nicht korrigiert haben.

12.6.2009
Für die Teilnehmer an der Übung am 11.6. habe ich hier eine bessere Version der Aufgabenlösung zusammengestellt. Beachten Sie insbesondere die Verwendung der Funktion "nextToken", die den Quellcode um viele, viele Zeilen verkürzt!

11.6.2009
Hier ist jetzt die 2. Belegaufgabe! Zum Testen finden sich eine Reihe von Dateien in diesem komprimierten Archiv.

27.5.2009
Hier ist die von Ihnen vermißte Datei Widerstandsdaten.extra.txt. pp ist ein Skript, das auf allen Laborrechnern des Studiengangs installiert ist!

12.5.2009
Hier finden Sie jetzt schon mal zwei Dateien mit Eingabedaten: Die in der Aufgabenstellung genannte Datei Widerstandsdaten.txt und eine Testdatei zur Fehlersuche Testdaten.txt!

11.5.2009
Bitte beachten Sie die unten korrigierten Abgabetermine für die 1. und die 2. Belegaufgabe! Und prüfen Sie bitte, ob Sie in der Teilnehmerliste zu den Übungen unten auftauchen!

16.4.2009
Hier finden Sie jetzt die Aufgabenstellung für die 1. Belegarbeit. Die in der Aufgabe genannten Testdateien liefere ich nach.

24.3.2009
Die Lehrveranstaltung beginnt am 2.4.2009 mit der Vorlesung.
Für die Übungsgruppen gilt die durch das LSF festgelegte Einteilung!


Vorlesungs- und Übungstermine

Hier finden Sie alle Vorlesungs- und Übungstermine mit den geplanten Inhalten.

Alle Folien zur Lehrveranstaltung werden nach und nach hier als PDF-Dateien zur Verfügung gestellt, wobei vier Folien auf einer Druckseite angeordnet sind, um beim (eventuellen) Ausdruck Papier zu sparen.

Datum
Art
Gruppe
Themen
Version vom
Foliensatz
2.4. V  

Organisation: Festlegungen zur Benotung, Klausur, usw.
Organisation der Übungsgruppen
Besprechung der Vorkenntnisse
Inhalte der Lehrveranstaltung

3.10.2008

Programmieren

Programmentwurf

2.4.
Ü
1

Einführung in das Labor; Erstellen, Übersetzen und Ausführen des Programms "HelloWorld.c" . Funktionsbegriff. Benutzung von parameterlosen Funktionen am Beispielprogramm "Visitenkarte"



9.4. V  

Rolle von "Programmierung" im Kontext der Softwareentwicklung; Phasen der Softwareentwicklung: Analyse, Entwurf, Programmierung, Installation, Betrieb; Was ist "Programmieren?"

   
9.4. Ü 2 siehe 2.4.    
16.4. V   Vorstellung der Belegaufgabe; Funktionen als Strukturierungsmittel in der Programmierung 11.5.2009 Funktionen
16.4. Ü 1 ASCII-Codetabelle; Verwenden von Kommandozeilenparametern: Commandline; Arbeiten mit Dateien: CopyFile.    
23.4. V   Ausfall wegen Raumbelegung durch die Messe "Connecticum"    
23.4. Ü 2 siehe 16.4.    
30.4. V   Basisdatentypen und Variablen in Programmiersprachen

11.5.2009

11.5.2009

Basisdatentypen

Variablen

30.4. Ü 1 Datenein- und ausgabe in C; Formatierung von Daten bei Ein- und Ausgabe; Schreiben von Programmen mit robuster Ein- und Ausgabe; Verwenden von Parametern in Funktionen.    
7.5. V   Programmdokumentation: Arten von Kommentaren; Programmentwurf mittels Nassi-Shneiderman-Diagrammen, Umsetzung von Struktogrammen in C-Programme. 11.5.2009 Programmdokumentation
7.5. Ü 2 siehe 30.4.    
14.5. V   Programmentwurf (Fortsetzung): Flußdiagramme, Vergleich von Struktogrammen und Flußdiagrammen; EA-Funktionen; Standardbibliotheken von C

11.5.2009

11.5.2009

EA-Funktionen

Standardbibliotheken

14.5. Ü 1 Verwendung von Operatoren; Statische Variablen in Funktionen; Wertumwandlung; Zeichenarten; Probleme mit der Ganzzahlarithmetik    
28.5. V   Kriterien für "gute" Programme; Operatoren der Programmiersprache C; Wertanpassung: automatische und explizite, Probleme bei der Wertanpassung.

11.6.2009

11.6.2009

11.6.2009

Gute Programme

Operatoren

Wertanpassung

28.5. Ü 1 Abgabe der 1. Belegarbeit    
29.5. V   Strukturierte Datentypen: Motivation, Einführung anhand von Beispielen: Daten zum Konzept "Student", "Name", "Adresse" 11.6.2009 Strukturierte Datentypen
29.5. Ü 2 Abgabe der 1. Belegarbeit    
4.6. V   Strukturierte Datentypen: Ihre Verwendung in Programmen, Zugriffsoperator "."; andere Arten von benutzerdefinierten Datentypen: Aufzählungstypen 11.6.2009 Aufzählungstypen
4.6. Ü 2 siehe 14.5.    
11.6. V   Organisation von C-Programmquellen: Headerdateien; C-Programmbibliotheken; Hilfsmittel für die Projektorganisation: make 11.6.2009 Organisation von C-Programmquellen
11.6. Ü 1 Definieren von strukturierten Datentypen; Verwendung von "typedef"; Einlesen von Daten aus Textdateien.    
18.6. V  

Aufteilung von Quelltexten auf Header- und Implementierungsdatei; Korrektheit von Programmen - Testen als armseliges Hilfsmittel.

30.6.2009

 

Testen

18.6. Ü 2 siehe 11.6.    
25.6. V   Organisation von Softwareprojekten mit make (und ant): Motivation, Beispiele von makefiles, Funktion von make, Grenzen von make; Rechnen mit Geldbeträgen in C: Probleme. 30.6.2009

make und ant

 

25.6. Ü 1 Implementierung von Datenstrukturen zum Rechnen mit Geld; Implementierung eines Typs zum Rechnen mit komplexen Zahlen; Aufteilung von Programmtexten auf mehrere Dateien; Verwendung von Header- und Quelldateien; Verwenden von "make".    
2.7. V   Hilfsmittel bei der Programmentwicklung: Assertions; Ausblick auf Zeiger: Motivation, Beispiele

30.6.2009

30.6.2009

Assertions

Zeiger

2.7. Ü 2 siehe 25.6.    
9.7. V   bestätigter Klausurtermin    
9.7. Ü 1 Abgabe der 2. Belegarbeit    
16.7. V   Nachbesprechung der Lehrveranstaltung    
16.7. Ü 2 Abgabe der 2. Belegarbeit    

Übungen


Hier finden Sie die Übungsbeispiele für die Übungen.


Übungsgruppen

In der folgenden Tabelle finden Sie nach Beginn der Lehrveranstaltung zu Ihrer Erinnerung die Teilnehmer der beiden Übungsgruppen. Bitte denken Sie daran, daß diese Einteilung für die Abgabe der Belegarbeiten verbindlich ist. Wer hier nicht aufgeführt ist, muß am ersten Abgabetermin abgeben!
Wer nicht in der für seine Gruppe geplanten Woche abgibt, der gibt verspätet ab - mit entsprechenden Konsequenzen für die Benotung!
 

Nr 

Übungsgruppe 1
Beginn am 2.4. (gerade Wochen)

  Übungsgruppe 2
Beginn am 9.4. (ungerade Wochen)
Bull, Andreas   Aktas, Müslim
Cuveland, Joschka de   Albohm, Henning
Düsterbeck, Christian   Atiogo Kuete, Wily Jaures
Ebert, Christopher   Bröckelmann, Kai
Felsche, Matthias   Büchner, Abel
Fenner, Benjamin   Buchwaldt, Michael
Fiebelkorn, Jonathan   Eichler, Andreas
Flemming, Jacob   Holz, Christian
Frank, Tobias   Iqbal, Zudith Muhammad
10  Gade, Tobias   Köhler, Felix
11  Henkel, Tino   Köhling, Marvin
12  Heusinger, Frederic   Kultus, Dirk
13  Nickel, Lisa   Mittenzwei, Robert
14  Polenz, Stefanie   Rockel, Valerie
15  Schiffer, Philip   Rüttermann, Julijan
16  Schröder, Fabian   Sackey, Nukunu Kisse
17  Sprick, Christian   Sarrazin, Richard
18  Stamp, Robert   Schreiber, Iuliia
19 Staudemeyer, Joern   Stephan, Erik
20 Teufl, Johannes   Tonye Tonye, Joseph Emmanuel
21 Ural, Hakan   Zahrane, Ilias
22 Vukmirovic, Nemanja   Zuchowski, Daniel
23 Wolf, Marcel   Zybell, Marian
24 Zgircibaba, Alexei    


Belegarbeiten

16.4.2009
Hier finden Sie jetzt die Aufgabenstellung für die 1. Belegarbeit. Die in der Aufgabe genannten Testdateien liefere ich nach.

Beachten Sie bitte bei der Erstellung Ihrer Programme die Programmierrichtlinien.


Benotung

Mit seiner Eintragung in die Belegliste der Lehrveranstaltung akzeptiert jeder Student die folgenden Festlegungen:
Die in der Vorlesung und in den Übungen erworbenen Kenntnisse werden getrennt benotet. Die Gesamtnote zur Veranstaltung ergibt sich dann als das (nach den Stundenanteilen) gewichtete Mittel aus den beiden Noten. In dieser Veranstaltung gehen also beide Noten mit jeweils 50 % ein.

Die Note zu den Übungen ergibt sich zu 50 % aus der Note der 1. Belegarbeit und zu 50 % aus der Note der 2. Belegarbeit.

Zur Notengebung beachten Sie bitte die Festlegungen aus der Rahmenprüfungsordnung der FHTW:

Wenn also alle Anforderungen für die gestellte Aufgabe erfüllt sind, so wird das mit der Note 3,0 bewertet. Wenn die Durchführung der Aufgabe sehr sauber und sorgfältig erfolgt ist, führt das zur Benotung 2,0. Wenn über die Anforderungen hinaus mehr oder besonders gute Leistungen erbracht wurden, so führt auch das zu einem Notenbonus. Was derartige besondere Leistungen sein könnten, wird vom Dozenten bei Ausgabe der Belegarbeit in der Vorlesung erläutert. Wenn nicht alle Anforderungen erfüllt sind, so hat das Notenabschläge zur Folge. Eine Aufgabe gilt als nicht gelöst, wenn das Programm falsche Ergebnisse produziert — somit Note 5. Die verspätete Abgabe einer Belegarbeit führt (je nach Verspätung) zu einem Notenabschlag von mindestens 2 Stufen. (Eine befriedigende Lösung (Note 3,0), die zu spät abgegeben wird, wird also z.B. mit 3,7 bewertet.) Eine Verspätungswoche beginnt am auf die vorgesehene Abgabe folgenden Tag!

Achtung!

Eine erfolgreiche Teilnahme an der Lehrveranstaltung setzt voraus, daß beide Belegarbeiten bearbeitet und jede mit der Note 4 oder besser bewertet wird. Die Klausur muß ebenfalls mit der Note 4 oder besser bewertet sein.
Das heißt also, daß die Lehrveranstaltung wiederholt werden muß, wenn eine der Belegarbeiten nicht mit ausreichend beurteilt wurde bzw. wenn die Klausur und eventuell die Nachklausur schlechter als ausreichend ausgefallen ist.


Durchführung der Übungen und Belegarbeiten

Jeder Teilnehmer der LV erhält eine Benutzerkennung und ein Paßwort. Unter dieser Benutzerkennung kann er seine Übungsaufgaben bearbeiten. Die Übungsräume im Verwaltungsgebäude (Räume VG 212, VG 207, VG 218 und VG 225) stehen derzeit von 8.00 - 18.00 Uhr für die Bearbeitung der Belegarbeiten zur Verfügung, sofern sie nicht durch eine andere Veranstaltung belegt sind. Es stehen ein Fileserver und ein Druckservice zur Verfügung.

Alles, was im Rahmen der LV an Texten, Programmen und Daten anfällt, kann auf dem privaten Nutzerbereich auf dem Fileserver im jeweiligen Teilnehmerverzeichnis abgelegt werden. Bitte beachten Sie, daß Sie für Ihre auf dem Fileserver abgelegten Daten selbst verantwortlich sind. Die Laboringenieure des Studiengangs "Angewandte Informatik" führen zwar regelmäßige Backups durch - dennoch kann nicht gewährleistet werden, daß bei Hardwareproblemen die aktuellsten Dateien wieder hergestellt werden können. Deshalb sollten Sie selbst durch Kopien auf anderen Medien oder per Netzwerk für die Verfügbarkeit Ihrer Daten sorgen! (Datenverlust als Ausrede für verspätete Abgabe ist also ein denkbar ungeeignetes Argument.)

Jeder Student muß Übungsaufgaben als Belegarbeiten zur Benotung abgeben. Die Belegarbeiten werden von jedem Studenten einzeln bearbeitet. Die Belegarbeiten werden dem Dozenten persönlich abgegeben, wobei eine Vorführung des jeweiligen Programmes am Laborrechner im für die Lehrveranstaltung vorgesehenen Raum erfolgt.
Verspätete Abgaben werden nur bei Krankheit akzeptiert - im anderen Fall führen sie zu einer schlechteren Bewertung.


Durchführung der Klausur

In der Klausur sind keine Hilfsmittel zugelassen.


Literatur

Die Bücher, aus denen ich Teile für diese Veranstaltung verwende, sind - geordnet nach Wichtigkeit - die folgenden:

Autor Titel Erscheinungsort

ISBN

Programmiersprache C      
House, R. Beginning with C International Thompson Publishing, 1994 0-534-94122-2
Kernighan, B.W., Ritchie, D.M. Programmieren in C Carl Hanser Verlag, 1983 3-446-13878-1
Programmiersprache C++      
Breymann, U. C++ - Eine Einführung 3. Auflage; Carl Hanser Verlag, 1996 3-446-18498-8
Stroustrup, B. The C++ Programming Language 2. Auflage; Addison-Wesley Publishing Company, 1991 0-201-53992-6
Softwaretechnik      
Hering, Ekbert Software-Engineering 3. Auflage; Vieweg-Verlag, 1992 3-528-24284-1
Algorithmen und Datenstrukturen      
Horovitz, E., Sahni, S., Anderson-Freed, S. Grundlagen von Datenstrukturen in C International Thompson Publishing GmbH, 1994 3-929821-00-1

Weitere Bücher zur Einführung in die Programmierung und zur Programmiersprache C finden Sie in der Bibliothek der FHTW oder anderen Bibliotheken. Da die Menge der Bücher zum Programmieren in C und C++ unüberschaubar groß ist, verzichte ich hier auf eine Vorstellung.
Eine Übersicht über Bücher zu dem Thema der Lehranstaltung finden Sie auch bei Lehmann's Online-Bookshop oder in anderen Bücherläden.


Letzte Änderungen am 14.07.2009 --- Email: Horst dot Hansen at FHTW-Berlin dot DE

<= Homepage von Horst Hansen <= Homepage des Servers