C

C is the language underneath almost everything: operating systems, language runtimes, databases, embedded devices. Learning it means learning how a computer actually runs your code: how source becomes machine instructions, how numbers are laid out as bits, what a pointer is, where memory comes from and who gives it back. This track starts from zero (what a program is) and builds up through types, control flow, functions and the call stack, arrays, pointers, the heap, structs, files, multi-file builds, debugging with gdb and valgrind, data structures, bit manipulation and POSIX systems programming, ending with practical projects.