
A computer combines input devices, ram memory, and a cpu brain to execute commands; the cpu’s alu performs arithmetic and logic, while outputs appear on screens.
Explore how symbols encode values in binary and other bases, revealing the detachment between symbol and value. See how base two and hexadecimal notation relate to memory and encoding.
Explore how the number 42 is written in memory using binary, decimal, hexadecimal, and octal notations, then see that four bytes store the same value as a binary configuration.
Binary numbers get very long quickly making it hard for people to deal with. Converting the binary to decimal is a bit of a pain but converting to hex is easy. Each 4 bits of a binary number converts to one hex digit. This makes the numbers easy to convert and easy for people to remember.
Explore how overflow occurs in memory using an eight-bit char, and see binary addition wrap from 255 to zero when space runs out.
Explore how a one-byte overflow yields zero, then learn two's complement encoding of negative numbers by flipping bits and adding one, enabling subtraction via addition in the ALU.
Demonstrate how overflow and underflow occur in unsigned chars and how two's complement enables subtraction, addition, and broader arithmetic using memory and binary patterns.
Master the four pillars of a developer: the terminal and shell with bash, vim as a text editor, a programming language like C or Python, and git for version control.
Explain what the terminal and command line are, compare Unix-like macOS and Linux, and demonstrate using item with bash or fish, changing shell, and basics like ssh to remote servers.
Understand how the file system organizes a computer as a root directory with bin, dev, and users, illustrating gui, terminal, and desktop access.
Explore the command line essentials with the manual, mastering ls, echo, cat, cp, diff, mv, and rm, using wildcards and cd, and preview the path toward vim.
Learn to navigate the file system using pwd, cd, ls, and cat, and distinguish absolute versus relative paths from home to desktop.
Explore vim as a fast, modal text editor for code, with insertion and normal modes, and see how its principles apply to modern IDEs like VS Code and Neovim.
Learn the essential vim commands you’ll use most, from normal and insert modes to navigation with w, b, 0, and $, plus yanking, editing, and searching.
This course provides the perfect foundation for budding programmers, offering a concise yet comprehensive exploration of fundamental principles that are indispensable in the world of computer science.
The journey begins with a super_small dive into computer architecture, just to "see" a RAM, CPU and ALU.
Navigating through the command line is a skill every programmer should master. We have a look into Bash, discovering its efficiency in managing files, executing commands, and streamlining your workflow. This is explained super easily.
Then Vim, a versatile and powerful text editor. Master the art of text manipulation, coding with speed and precision.
One section of the course explains the "coding" idea, namely, how we can encode everything into some binary digits.
Although the course is succinct, it acts as a gateway to a wealth of additional resources. Numerous links guide you to further exploration, providing an expansive roadmap for your continued learning journey. I wanted to keep this course under 2 hours cap. This may have been a limit, but maybe not. Indeed, let me repeat, this course is just a mega "pointer (a C concept)" to other online sources. You can treat this just as a roadmap indeed! So mind the link resources!