These projects cover essential C programming concepts, data structures, and system-level programming to build your expertise.


1. File Compression Tool (Huffman Coding)

Project 1: File Compression Tool (Huffman Coding)

Concepts: Bit manipulation, file handling, priority queue (min-heap)

Skills: Encoding, decoding, working with binary files


2. Simple Key-Value Store (Database)

Concepts: Hashing, file I/O, serialization, memory management

Skills: Implementing hash table-based key-value pairs, persisting data to disk


3. Multi-threaded Web Server (HTTP 1.0)

Concepts: Sockets, multi-threading (pthread), networking, system calls

Skills: Handling multiple client requests, concurrency control


4. Memory Allocator (Custom malloc and free)

Concepts: Dynamic memory management, linked lists, system calls (sbrk)

Skills: Implementing a basic heap memory allocator