
Explore how computers represent numbers and text—from integers and floating point to utf-8 characters—using binary, decimal, hexadecimal, boolean logic, and gates.
Explore how decimal numbers map to binary using bits, bytes, and nibble, and learn two methods to convert between decimal and binary (eight-bit ranges) with practical examples.
Explore what hexadecimal numbers are and how to convert between decimal, binary, and hex, using digits 0 to 9 and A to F, and why hex aids memory addresses.
Explore converting between binary, hexadecimal, and decimal, using nibble grouping and examples like F0 and 240. See how A, B, and C map to decimal values and to binary digits.
Explore msb and lsb as the most and least significant bits in binary numbers, and compare big endian notation with little endian internally used by computers.
Learn modular arithmetic using the modulo operator, illustrated by 11 mod 2 and 17 mod 4, showing remainders and integer division. Results always fall between 0 and m-1.
Explore how decimal addition carries into binary addition, showing how to add binary digits with carries, understand modulo two results and integer overflow with fixed bit widths.
Demonstrates representing positive and negative integers in binary using a leftmost sign bit, then introduces one's complement and two's complement methods with three-bit examples and notes on overflow.
Explore boolean logic by mapping true and false to 1 and 0, and combining a and b with and, or, xor, and negation, using truth tables.
Explore boolean logic with implications, negation, and equivalence, using truth tables to compare expressions like A and B, or and, showing how these concepts relate to CPU addition.
Explore how logical gates such as not, and, or, xor form the building blocks of CPU logic, including gate symbols, negation circles, and NAND/NOR representations.
Learn how to construct an xor gate from and, or, and not gates using truth tables and circuit diagrams, with A and B as inputs.
Explore how half adders use xor for the sum and carry out, then extend to full adders with carry in, deriving sum and carry formulas for binary addition.
Explore how a carry ripple adder adds two four-bit numbers using one half adder and three full adders, with an overflow indicator.
Explore bit shifting, including left and right shifts, and the difference between logical and arithmetic right shifts, illustrated with four-bit numbers, two's complement, and bit masks.
Master bit masks using bitwise operations to check and set bits with shifts and the end operator. A four-bit bitmap encodes alive, moving, attacking, and taking damage for compact memory.
Learn how computers store data as bits and pick signed or unsigned integer types 8, 16, 32, and 64 bit to fit ages or seconds while saving memory.
Explore how floating point numbers are represented in the 32-bit IEEE 754 format, with sign, exponent, and Manchester bits, and why exact decimal values cannot be perfectly represented.
Examine why floating point numbers cannot be stored exactly and compare them using is close with absolute or relative tolerance to avoid equality checks.
Explore how the ascii table represents letters and symbols with one byte per character. Understand 128 values, capital versus lowercase, and why utf-8 encoding follows in the next video.
Explore how UTF-8 encoding uses variable-length code points, remains ASCII compatible for English text, and encodes letters, symbols, and emojis across 1–4 bytes.
Explore the fundamentals of sets, including elements, membership, order independence, and uniqueness, then apply union, intersection, difference, subset relations, and set-building notation in computer science.
Explore number sets from natural numbers to complex numbers, highlighting unsigned integers, regular integers, floating point values, rational numbers, real numbers, and the subset relationships with all and exists quantifiers.
Explore open, half-open, and closed intervals, and how lower and upper bounds determine inclusion. Use set notation to express value ranges with brackets.
Explore inequalities, magnitude, and comparison operators, and learn solving rules: add or subtract on both sides, multiply or divide by positives, reverse signs on negatives, determine intervals and unions.
Explore the sum and product notations, including sigma and pi, with upper and lower limits and an index variable, and notice how constants factor and sums split.
Explore the field concept as a set closed under addition and multiplication with identities, inverses, associativity, commutativity, and distributivity, showing why natural numbers are not a field.
Explore functions as mappings from a domain to a codomain, where every input maps to exactly one output, and learn function notation, graphs, and examples like x squared.
Explore how an algorithm converts input into output through deterministic steps and how data structures organize data, illustrated by a max in a list algorithm and a queue example.
Learn how graphs use vertices and edges, distinguishing undirected from directed graphs. See a weighted shortest-path example with A, B, and C to illustrate minimizing travel distance.
Explore a greedy path algorithm that picks the lowest-cost neighbor on a directed weighted graph, contrasted with Dijkstra's algorithm that finds the optimal path.
Explore the tree data structure, a directed graph of nodes and edges with a root and leaves. Learn key properties like height, depth, no cycles, and one parent per node.
This lecture explains binary search trees, where each node has a key and left and right children; left keys are smaller and right keys larger, guiding a root-based search.
Explore LIFO and FIFO data structures by comparing stacks and queues, highlighting push and pop operations, front and back elements, and how these simple, fast structures relate to CPU design.
Trace the history of computer science from Ada Lovelace and Babbage to the Turing machine, then outline the rise of transistors and high-level languages.
Explore six levels of abstraction in modern computer architecture, from high-level languages to assembly, and see how the CPU executes fetch-decode-execute cycles.
Explore how machine code executes on a cpu by stepping through memory, registers, and arithmetic logic unit operations, including load, store, and add, with the program counter advancing.
Explore what a programming language is, including syntax, variables, strings, conditionals, loops, and libraries, and compare low-level versus high-level, compiled versus interpreted, and static versus dynamic typing.
Explore essential tools for programmers, including Windows Subsystem for Linux (WSL) for Windows users. Learn to use the Unix terminal, terminal commands, and install Visual Studio Code, Git, and GitHub.
Install WSL2 on Windows by running a PowerShell command and installing Ubuntu from the Microsoft Store. Learn how this Linux subsystem enables a fast, hardware-tied Linux terminal on Windows.
Explore the Linux terminal and navigate the file system using cd, ls, and path concepts. Learn to run commands as root with sudo, view permissions, and understand command line options.
Explore essential Unix terminal commands for file and directory management, editing, viewing, and searching, including clear, touch, cat, nano, make directory, rm -rf, cp, mv, ls, top, which, and grep.
Explore line endings across Linux, Mac OS, and Windows, and how hex dump tools reveal line feed, carriage return endings; learn file permissions and absolute versus relative paths.
Explore what a package manager is and how it uses commands like sudo apt get install, brew, and Winget to install and update tools across Ubuntu, macOS, and Windows.
Explore how VS Code turns a text editor into an IDE with extensions, IntelliSense, and installing compilers and debuggers on your own; enjoy cross-platform, open-source, free use and built-in Git.
Install git with platform-specific methods, from Linux apt-get, macOS brew, to Windows winget or the official download, and learn how Git and GitHub enable version control and team collaboration.
Explore the Visual Studio Code user interface, set up Python projects, and run code, while learning git workflow and pushing to GitHub.
Learn how variables act as memory lookups, and compare naming conventions like snake_case, camelCase, and PascalCase; understand typed values, Python's dynamic typing, and interpreter execution.
Explore how to perform arithmetic operations in Python, using variables and the right-hand side executed before the left-hand side assignment, with examples of addition, subtraction, multiplication, division, and modulo.
Explore how conditional logic drives programs using if, else, and elif statements in Python, including inputs, casting, and checking divisibility with modulo.
Learn about loops in Python by building a guessing game that reads input, compares to a target number in the 0 to 100 range, and uses for, while, and break.
Explore how functions in Python encapsulate game logic, call different inputs, and manage outputs, with notes on the standard library and main function.
Create a local git repository with git init, add, and commit. Publish it to GitHub by pushing changes using either the terminal or the Visual Studio Code GUI.
Launch your computer science career with the knowledge from this course. Share recommendations via direct message or course review to help adapt future topics to your needs.
Course Description:
You are about to start your computer science studies and want to prepare yourself?
Then you should enroll in this course.
In more than 6 hours I will teach you the most important basics, which will be discussed in the first months of your studies.
This course is especially for people who have no experience in computer science.
We will start with the 0's and 1's in a computer and then work our way step by step.
At the end you will have understood how a CPU gets the task to add numbers from a computer program and how the CPU executes this task.
In addition to the theory, the most important software tools will also be introduced. (like the Unix shell).
This course consists of the following topics:
Binary Numbers
Hexa-Decimal Numbers
MSB, LSB and Endianess
Binary Addition and Subtraction
One's and Two's Complement
Boolean logic and truth tables
Logical Gates
Bit Shifting and Masks
Integer
Floating Point Numbers
ASCII Characters
UTF-8 Encoding
Mathematics Basics
What is an algorithm?
What is a graph?
What is a tree?
LIFO and FIFO
Computer Architecture 101
Computer programs 101
Linux and the Unix Shell
Git, Github and VSCode
Features of a modern programming language
Enroll now and we'll get started together to deep dive into the world of computer science.
See you in class!