Educate in CS

For students, teachers, and self-learners.

Whether you're just starting out or brushing up on a tricky topic, you're in the right place. Free notes, worked examples, and interactive exercises — from how hardware works to writing your first sorting algorithm. Currently aligned with IB CS (2027). Code examples use Java.

COMMUNICATION APPLICATIONS OPERATING SYSTEMS PROGRAMMING HARDWARE 10110 01001 INFORMATION 01001100 10101 11010 01001110
108
topic pages
5
quiz formats
Free
forever, no signup

The big picture

Every computer does the same four things

It takes input, runs a process, produces output, and saves to storage. You type on a keyboard (input), the CPU runs instructions (process), the screen shows results (output), and files are saved to disk (storage). Every topic on this site zooms into one part of this cycle.

INPUT PROCESS CPU OUTPUT > sort([5,2,8,1]) [1, 2, 5, 8] STORAGE 01001100 11010010

Topics

Pick where you'd like to start

Each topic has notes, worked examples, interactive exercises, and a teacher guide. Organised by the six layers of the IB CS 2027 syllabus, plus cross-cutting topics.

What you'll find on each page

Five ways to practise

✓ Adjacent elements
First and last

Multiple choice

Pick the right answer; see why each option is or isn't correct.

i   j   arr[j]
0   0   5
0   1   _

Trace tables

Step through code line-by-line; fill in variable values; check each row.

for (int i = 0;
     i < n;
     i__) {

Code completion

Fill the blanks in a method or loop until the code works.

for (int i = 0; i <=
   arr.length; i++)
  sum += arr[i];

Spot the bug

Find the broken line; pick the fix that makes the test pass.

x = 5
x *= 2
print(x)
10

Predict output

Read the code, write what it prints, hit check.

And on every content page

More than just quizzes

  • Key Conceptsclear explanations with precise terminology
  • Worked Examplesstep-by-step solutions
  • Practice ExercisesCore, Extension, and Challenge levels
  • Glossary Tooltipshover over highlighted terms for a quick definition
  • Connectionsprerequisites and related topics to explore next
  • GitHub Classroomprogramming pages include assignments with automated tests

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

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