This repository is a learning guide for low-level programming concepts, with an emphasis on C and the underlying computer systems that make code work.
- A theory-driven curriculum for beginners and intermediate learners.
- A collection of lessons explaining how code, memory, pointers, data, and system calls work at a low level.
- A reference for developers who want to understand C programming without relying on high-level libraries.
- Fundamental computer concepts and how programs are built.
- Data representation in binary, characters, strings, arrays, and types.
- Pointer operations, pointer arithmetic, and pointer-related pitfalls.
- Function definitions, arguments, return values, and execution flow.
- Memory management: stack, heap, allocation, reallocation, and freeing memory.
- OS interaction through system calls, file descriptors, and standard I/O using low-level interfaces.
- Core math and algorithm topics, including arithmetic, Fibonacci, primes, square root, N-Queens, and bitwise operations.
theory/- main content folder.theory/01-fundamentals/- basic computer, compilation, and toolchain concepts.theory/02-data/- data types, characters, strings, and arrays.theory/03-pointers/- pointer usage, pointer arithmetic, and behavior.theory/04-functions/- functions, parameters, return values, and function pointers.theory/05-memory-management/- malloc, calloc, realloc, free, and memory layout.theory/06-systems/- system headers, file descriptors, standard I/O, and system calls.theory/07-math/- algorithms, arithmetic, and bitwise programming examples.
- Start in
theory/README.mdto see the category overview. - Open a numbered topic folder like
theory/01-fundamentals/. - Read the
LESSON.mdfile for detailed theory. - Use
CHEATSHEET.mdfor quick reference. - Review
EXAMPLE.mdfor practical examples and code snippets.
- All C examples are designed to use low-level I/O and system-level behavior, avoiding
stdio.handprintf()where possible. - This repo is for learning how C programs behave at a lower layer, including memory and OS interactions.