EduCS.me
Whether you’re just starting out or brushing up on a tricky topic, you’re in the right place. This site has free notes, worked examples, and interactive exercises covering core computer science – from how hardware works to writing your first sorting algorithm. Currently aligned with IB CS (2027). Code examples use Java.
The Big Picture
Every computer does the same four things:
INPUT → PROCESS → OUTPUT
↕
STORAGE
You type on a keyboard (input). The CPU runs instructions (process). The screen shows results (output). Files are saved to disk (storage). Every topic on this site zooms into one part of this cycle.
How is data represented?
Before a computer can do anything, data must become binary – patterns of 0s and 1s. Numbers, text, images, audio, and video are all encoded this way.
Information – Number Systems (binary, hex, decimal conversions) – Representing Data (how text, images, audio, and video are stored in binary)
What does the processing?
The CPU fetches an instruction from memory, decodes it, and executes it – billions of times per second. Cache keeps frequently used data close. Logic gates are the building blocks underneath it all.
Hardware – CPU Architecture – Primary Memory – Secondary Storage – GPU – Logic Gates – Compression – Cloud Computing – Translation
Who keeps it all running?
Dozens of programs compete for CPU time, memory, and devices. The operating system juggles them – scheduling who runs next, swapping pages in and out of memory, and responding to interrupts when hardware needs attention.
Operating Systems – OS Fundamentals – Scheduling – Polling & Interrupts – Multitasking – Control Systems
How do computers talk to each other?
Data is split into packets, each routed independently across the network, then reassembled at the destination. Protocols make sure every device speaks the same language. Encryption keeps the conversation private.
Networks – Network Fundamentals – Protocols – Architecture – Data Transmission – Security – Encryption
How do humans tell computers what to do?
You write instructions in a programming language. Variables store data. Loops repeat work. Arrays organise collections. Methods break big problems into smaller ones.
Programming – Variables & Types – Strings – Exceptions – Debugging – Selection – Iteration – 1D Arrays – 2D Arrays
How do we solve problems well?
Two algorithms can solve the same problem, but one might finish in milliseconds while the other takes hours. Searching, sorting, and Big-O notation give you the tools to choose wisely.
Algorithms – Searching – Sorting – Big-O Notation
What you’ll find on each page
- Key Concepts – clear explanations with precise terminology
- Worked Examples – step-by-step solutions
- Interactive Quizzes – MCQs, trace tables, code completion, bug spotting, and output prediction with instant feedback
- Practice Exercises – Core, Extension, and Challenge levels
- GitHub Classroom – programming pages include assignments with automated tests
Advanced sections can be toggled on or off depending on your level.