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.

InformationNumber 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.

HardwareCPU ArchitecturePrimary MemorySecondary StorageGPULogic GatesCompressionCloud ComputingTranslation


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 SystemsOS FundamentalsSchedulingPolling & InterruptsMultitaskingControl 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.

NetworksNetwork FundamentalsProtocolsArchitectureData TransmissionSecurityEncryption


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.

ProgrammingVariables & TypesStringsExceptionsDebuggingSelectionIteration1D Arrays2D 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.

AlgorithmsSearchingSortingBig-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.


Back to top

© EduCS.me — A resource hub for IB Computer Science

This site uses Just the Docs, a documentation theme for Jekyll.