FAQ
Häufig gestellte Fragen
Prüfung
Die folgenden Informationen betreffen nur die SP1-Klausur, die entsprechenden Informationen für die SP2-Klausur finden Sie hier.
Bonuspunkte?
Die Bonuspunkte werden aus den Übungspunkten errechnet, die Sie in den Lehrveranstaltungen zu SP1 sammeln können. Die Bonuspunkte beeinflussen die angelegte Notenskala nicht, sondern werden nach erfolgter Klausurkorrektur auf die regulären Klausurpunkte einer bestandenen Klausur aufaddiert. Ihre in den Übungen erreichten Punkte können Sie im Waffel nach Login abrufen. Bitte prüfen Sie vor eventuellen Rückfragen, ob bereits Punkte für alle Aufgaben in Ihrem Konto eingetragen wurden. Bei Unstimmigkeiten wenden Sie sich bitte an die SP-Mailingliste (Organisation).Berechnung der Bonuspunkte?
Die Bonuspunkte berechnen sich nach der folgenden Formel: Beschreibung der einzelnen Teile:- Tatsächlich erreichte Übungspunktezahl
- Maximal erreichbare Übungspunktezahl
- Maximal mögliche Bonuspunkte (10% der Klausurpunkte)
Verfall der Bonuspunkte?
Die Bonuspunkte aus dem vorherigen Semestern verfallen nur noch, falls in einem späteren Semester erneut am Übungsbetrieb teilgenommen wird. Es zählen immer Punkte aus dem Semester in dem zuletzt (mindestens) eine Abgabe gemacht wurde.
Zugelassene Hilfsmittel?
Als Hilfsmittel in der SP2-Klausur ist ein beidseitig handbeschriebenes DIN-A4 Blatt zulässig. Für die SP1-Klausur ist hingegen nur ein einseitig handbeschriebenes DIN-A4 Blatt. Das Blatt muss vollständig ohne elektronische Hilfsmittel erstellt worden sein. Es darf z.B. nicht mit dem Tablet geschrieben, und dann ausgedruckt werden.
Dieses Blatt wird am Ende der Klausur eingesammelt. Erstellen Sie vor der Klausur eine Kopie Ihres Spickzettels.
Übung
Anmeldung für die Tafelübung?
Die Anmeldung für die Tafelübungen findet in einer den ersten Wochen der Vorlesungszeit im Windhundverfahren statt: waffel.Bedeutung der Miniklausur?
Die Miniklausur entspricht einer "normalen" Übungsaufgabe mit maximal 15 Punkten. Berechnungsformel für die entsprechende Übungspunktezahl:Mein Programm tut nicht was es soll!
Oft sind Warnungen des Übersetzers ein Hinweis auf Fehler im Programmcode. Daher ist es zielführend, die Warnungen des Übersetzers nicht zu ignorieren. Manchmal hilft es aber auch zusätzliche Warnungen des Übersetzers zu aktivieren.
-Wextra
: Einige zusätzliche Warnungen.-Wshadow
: Warnung, falls eine lokale Variable eine Variable eines äußeren Blocks verdeckt.-Wformat=2
: Zusätzliche Überprüfungen von Formatstrings-Wlogical-op
: Warnung bei potentiellem Vertauschen von logischen und bitweisen Operationen- ...und noch mehr
clang-format [--dry-run] -i myprogram.c
: Editiert die Datei und formatiert den Code entsprechend eines einheitlichen Stils. Wenn Sie Probleme haben, ihren Code übersichtlich zu halten (Einrückung etc.) kann dies die Übersichtlichkeit erhöhen und die Fehlersuche beschleunigen.indent --linux-style source.c another_source.c
erfüllt den selben Zweck, editiert jedoch nur Einrückung & Klammerpositionen.clang-tidy myprogram.c
findet Muster im Code die häufig in Programmfehlern resultieren. Einige Warnungen sind für die Entwicklung von POSIX-Konformen Programmen nicht hilfreich, verwenden Sie diese .clang-tidy Konfigurationsdatei um sie zu deaktivieren.valgrind --leak-check=full --show-leak-kinds=all ./mybinary
: Prüft auf ungültige Speicherzugriffe und erkennt/lokalisiert Speicherleaks.valgrind --tool=helgrind ./mybinary
kann Synchronisationsprobleme finden. Achten Sie aber darauf, dass es hierbei zu false-positives kommen kann.- Durch das Compilieren mit
-D_FORTIFY_SOURCE=1
in denCFLAGS
werden Pufferüberläufe in Bibliotheksfunktionen teilweise erkannt. - Mit dem clang ThreadSanitizer können Wettlaufsituationen gefunden werden. Kompilieren und linken Sie hierzu Ihr Programm mit
CC=clang
undEXTRA_CFLAGS=-fsanitize=thread -g -O1
und führen Sie es aus. - Der clang AddressSanitizer kann ähnlich zu
valgrind
Speicherfehler finden. Kompilieren und binden Sie dazu Ihr Programm mitCC=clang
,LD=clang
, undEXTRA_CFLAGS=-fsanitize=undefined,leak,address,nonnull-attribute -fno-omit-frame-pointer -g -O1
und führen Sie es aus. - Compiler Explorer (godbolt.org) erlaubt es einem einfach zu sehen, zu welchem Maschinencode C Programme kompiliert werden und wie sich C in bestimmten Situationen genau verhält.
GDB
: Der Debugger 😉