Advanced Projects
Prerequisites: Level 3 — Advanced
Build these using data structures, concurrency, and systems knowledge from Level 3.
1. Multi-Threaded File Word Counter
Given a folder of text files, spawn one pthread per file to count word
frequencies in parallel (protecting a shared result hash table with a
pthread_mutex_t), then print the combined totals.
2. Minimal HTTP Server
Using raw sockets, accept a connection, read an HTTP request (just enough
to extract the requested path), and respond with a fixed HTML page or a
simple "404 Not Found" for anything else. No framework — just socket,
bind, listen, accept.
3. Persistent Key-Value Store
Rebuild the Level 2 key-value store using a hash table instead of linear search, backed by a binary file for persistence between runs, with a small CMake-based build.