Webseite zur SP2 Übung T04
Tutor: Kaludercic, Philip
Diese Seite ist veraltet, und wird nicht mehr verwaltet.
Siehe meine
Indexseite, für neuere Übungsseiten.
Die Tafelübung T04 findet am Dienstag um 12:15 bis 13:45 statt im 0.031-113. Auf dieser Seite werden Material, Code sonstige Verweise gesammelt.
Ankündigungen und Erinnerungen (Feed)
- [] Klausurvorbereitung (III)
-
Am 7.2. werden die Theorieaufgaben aus dem SS2019.
- [] Klausurvorbereitung (II)
-
Wir schauen uns am 17.11. weiter die Aufgaben aus der SP2 Klausur WS21 an.
- [] Hackingübung
-
Am 21.12. wird die freiwillige “Hackingübung” besprochen. Anwesenheit ist freiwillig.
- [] Klausurvorbereitung (I)
-
Nach der Klausurbesprechung am 29.11. werden wir die Ankreuzaufgaben der SP2 Klausur WS21 anschauen.
- [] Miniklausur
-
Am 6.11. wird die Miniklausur ausgeteilt, damit man sich die Korrektur anschauen kann. Die Klausur wird dann gleich wieder aufgesammelt.
Abgaben Checkliste
Häufige Fehler sind meist am einfachsten zu Vermeiden. Wenn man vor der Abgabe diese Punkte beachtet sollte man die Probleme vermeiden:
Zum Bauen werden die notwendigen Flags benutzt?
Eine Makefile wurde geschrieben?
Die Makefile hat die Pseudotargets
all
und clean
?Die Makefile kann mit
-r -R
gebaut werden?Die Makefile benutzt die
CC
und CFLAGS
Makros?Die Aufgabe kann ohne Fehlermeldungen gebaut werden?
Das Programm wurde vor der Abgabe getestet?
Der Quelltext wurde sinnvoll Kommentiert1?
Die Korrekturhinweise wurden beachtet.
Die Abgabe2 via SVN ist erfolgt3?
↪ Wer diese Punkte nicht beachtet, wird wahrscheinlich einige Punkte verlieren4.
Ich schätze es wenn Dateien schön und sauber formatiert sind, da man die dann leichter kommentieren kann. Dazu kann ich euch nicht zwingen, ihr könnt hier lesen wie man das einfach automatisieren kann.
Wenn man Problem hat, kann es oft helfen erst Valgrind, Sanitizers, strace oder GDB zu benutzen. Für GDB habe ich eine kleine Einführung geschrieben.
Links zu CIP-Seiten anderer Tutoren
Felix (T09), Stef (Ehemalig), Milan (Ehemalig), Andreas (Ehemalig), Lou (Ehemalig),
1 Meine Richtlinien und Empfehlungen zu Kommentaren sind:
-
Kommentare können gerne benutzt werden um mit mir
während
der Korrektur zu kommunizieren. Ihr könnte anmerken worüber ihr nachgedacht habt und wieso ihr euch für eine Lösung entschieden habt, oder darum bitten das ich genauer in der Korrektur auf spezifische Fragen/Probleme eingehe. Allgemein hilft es beim Korrigieren den Gedankenprozess nachvollziehen zu können. Hierzu zählt auch neben Kommentaren eine Sinnvolle Commit-Geschichte. -
Kommentare können helfen den Quelltext zu Strukturieren, am besten
in dem diese sich an logischen Abschnitten orientieren bzw. diese
Verdeutlichen:
/* Gebe die absteigende de Häufigkeit jedes Wortes aus. */ qsort(data.list, data.len, sizeof(struct count), comp); for (i = 0; i < data.len; i++) { printf("%8d\t%s\n", data.list[i].occ, data.list[i].word); }
-
Ein Kommentar ist überflüssig wenn keine Information hinzugefügt wird:
Ich kann C lesen!/* Deklariere und weise der Variable i den Wert 2 zu. */ int i = 2;
-
Kommentare die mit
TODO
,FIXME
,BUG
sollten höchstwahrscheinlich nicht abgegeben werden. Um schnell danach zu suchen kann man in einer Shell
ausführen.$ grep -rin "FIXME|TODO|BUG"
2 Wer sich den mindesten Aufwand mit SVN machen will, braucht nur am Ende der Bearbeitung diese Befehle im trunk/aufgabeN
Verzeichnis auszuführen:
$ svn add .
$ svn commit -m "Abgabe der Aufgabe N"
$ /proj/i4sp2/bin/submit
3 Im Idealfall wird das nicht 5 Minuten vor der Abgabe das erste mal versucht.
Wenn man schon ein Versionskontroll-system benutzen muss, kann man es ja auch verwenden. Viele Text-Editoren haben auch Unterstützung für SVN eingebaut/verfügbar.4 Zu unfertigen Abgaben:
Es ist meine Erfahrung, dass das Abgebenum zumindest noch ein Punkte zu sammeln, selten funktioniert, und nur den Korrekturaufwand erhöht. Wenn ihr die Zeit nicht findet, kann man Aufgaben nach der Abgabefrist schicken, damit ich es zumindest noch Kommentieren kann.
Ältere Fassungen meiner Übungsweiseite sind hier zu finden.