Skip to content
AgileLogics
Advanced 5 min read

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.