| Section | What you gonna Learn | Projects |
|---|---|---|
| 01 Basics | basics like variables, printing text, taking input, and doing simple math. | BMI Calculator, Temp Converter |
| 02 Control Flow | making decisions using if statements and loops. | Leap Year Checker, Pattern Printing |
| 03 Number Logic | Algorithms for handling integers and digits. | Armstrong Numbers, Binary ↔ Decimal |
| 04 Arrays | Working with lists of data, handling indexes, and checking memory bounds. | Reversing Arrays, Finding Min/Max |
| 05 Searching & Sorting | computer science algorithms for finding and organizing data efficiently. | Bubble Sort, Binary Search |
| 06 Pointers & Memory | Understanding memory addresses and how to manually allocate memory without crashing. | Custom atoi, Sparse Matrix |
| 07 Mini Projects | Combining all the previous topics to build actual functional games. | Tic-Tac-Toe, Number Guesser |
I used a Makefile to keep things simple. No need to type gcc manually for every program.
-
Clone the Repo:
git clone https://github.com/TheTimelessRecall/C-Odyssey.git cd C-Odyssey -
Compile everything:
make
This creates a
bin/folder with all your executables inside. -
Run a program:
./bin/tic_tac_toe
(Or whatever program you want to run)
-
Clean up:
make clean
- CS50x (Harvard): The gold standard. It is free, difficult, and covers the computer science concepts
- Jacob Sorber: A computer science professor who explains exactly what happens in memory
- Fork it.
- Create your feature branch (
git checkout -b feature/AmazingFeature). - Format your code using the included
.clang-format. - Commit and Push.
- Open a Pull Request.

