Collection of university C projects, each in its own directory.
| Directory | What it is |
|---|---|
malloc/ |
Custom dynamic memory allocator with driver-based benchmarking and grading scripts. |
shell21/ |
Small Unix-like shell implementation with jobs, lexer/parser logic, and automated tests. |
slowomania/ |
SDL2 typing game focused on typing speed and score tracking. |
tictactoe/ |
Terminal Tic-Tac-Toe game against an AI using Minimax. |
This repository is intentionally split into independent projects. Build, run, and test commands are executed inside each project directory.
- C compiler (GCC or Clang)
- GNU Make (required for
malloc/andshell21/) - Python 3 (used by grading/testing scripts)
Project-specific dependencies:
shell21/:readlinedevelopment package- Debian/Ubuntu:
sudo apt install libreadline-dev - Fedora:
sudo dnf install readline-devel
- Debian/Ubuntu:
slowomania/: SDL2, SDL2_image, SDL2_ttf (+ runtime assets in folder)
Build:
cd malloc
makeRun driver:
./mdriverRun grading script:
make gradeClean build files:
make cleanBuild:
cd shell21
makeRun shell:
./shellRun tests:
make testNotes:
- Test script runs multiple randomized checks (
sh-tests.py). - Build includes AddressSanitizer flags in current
Makefile.
This project ships SDL runtime DLLs/assets in slowomania/.
There is no Makefile in this directory right now.
Typical build on Windows with MinGW (adjust include/lib paths to your SDL setup):
gcc main.c -o slowomania -lSDL2 -lSDL2_image -lSDL2_ttfThen run from inside slowomania/ so assets like words.txt, best.txt, and images are found.
Build:
cd tictactoe
gcc main.c tic.c -o tictactoeRun:
./tictactoemalloc/andshell21/are Unix/Linux-oriented by default.tictactoe/usessystem("cls")in code, so it is currently Windows-console oriented.slowomania/is currently easiest to run on Windows because SDL DLLs are already included.
If clang-format is installed:
malloc/:make formatshell21/:make format
This repository contains coursework-style implementations. Use responsibly and follow your institution's collaboration/cheating policy.