Noch keine konkreten Aufgaben rausgesucht, eher ein Brainstorming
Potenzielle Quellen für Aufgaben
- https://adventofcode.com/
- https://projecteuler.net/archives
- https://code2care.org/c-programming/
- C-Kurs Aufgaben (wiederholen von bekannten Aufgaben nach einem Semester C kann ganz praktisch sein)
Quellen zum Nachschlagen
- https://beej.us/guide/bgc/
- man pages
Pflicht
- Arbeitsumgebung (VSCode, CLion oder text editor + Make + GDB)
- Variablen, Statements (sollte nur eine Auffrischung sein) Einfache Advent of code Aufgabe?
- Arrays, strings Hierzu findet man vielleicht auch eine gute advent of code Aufgabe
- Speicher 1 (Stack) (was machen meine Befehle mit dem Speicher?) Ausgeben von Variable ohne direkten Zugriff auf den Speicher
- structs + typedef
- Funktionen + scope + header (pass by value vs reference, Auswirkung auf dem Speicher)
- Speicher 2 (Heap) + sizeof Operator
- Dateien + argc, argv
- Debugging + Compiler Fehler + Dokumentation
Ich finde, bei C gehört noch etwas was die Sprach entmystifiziert. Also eine Lektion oder wie auch immer, die zeigt, wieso C anders ist als Java, Python ist und es nicht daran liegt, dass C einfach schlecht zu bedienen sein soll. Das wäre meiner Ansicht nach auch der richtige Zeitpunkt, um über Pointer zu reden (die in der obigen Liste noch nicht vorhanden sind). Ich wüsste aber noch nicht ganz, wie sich sowas als Aufgabe gestalten ließe.
Kür
- weitere nützliche stdlib Funktionen
- Optionen parsen
- Makefiles
- Buffer Overflow Attack
- Multithreading
- Implementiere Datenstrukturen: dynamisches array, baum, hashmap…
- Sockets programmieren
- schönen C code: openBSD / musl?
Projekt Ideen
- simplen key-value store implementieren
- memcached erweitern
- heap implementieren
- Videospiel/Multimedia mit SDL
- Ray Tracing in one Weekend
- competitive programming
- terminal games
- ncurses (Main Tutorial, TLDP Tutorial)
- typing tutor
- calender