Updating daily · Still in development
All guides

Revision guide

IB Computer Science

Algorithms, object-oriented programming, and the thinking skills that IB Computer Science actually tests.

IB Computer Science assesses a combination of conceptual understanding and practical problem-solving. Many students come in expecting it to be mostly coding, and are surprised to find that the papers test algorithmic thinking, data structures, system design, and abstract reasoning about how computational systems work — often without writing a single line of code. The students who perform best are those who can reason about what code does without running it, trace algorithms on paper, and explain the trade-offs between different approaches.

The internal assessment (the programming solution) is where code actually matters, but even there the report's design rationale and testing evidence are weighted as heavily as the working program. Start the IA early, because the design phase — identifying requirements, decomposing the problem, planning data structures and algorithms — takes far longer than most students expect.

How you're assessed

Paper 1 (Core — systems, algorithms, abstract data structures)

Extended-response questions covering: system design (hardware, OS, networks), abstract data structures (stacks, queues, linked lists, trees), searching and sorting algorithms, and resource management. Questions routinely ask you to trace an algorithm by hand, adjust pseudocode to meet a changed requirement, or compare two approaches with justified reasoning.

Paper 2 (Object-Oriented Programming)

Design and analysis questions using OOP principles: inheritance, encapsulation, polymorphism, and class relationships. You'll be given a scenario and asked to design a class diagram, write pseudocode methods, or explain how an OOP solution addresses a requirement. Questions at the top mark bands require justification, not just correct answers.

Paper 3 (HL — case study)

The HL paper is based on a published case study released before the exam. Questions apply CS concepts to the specific scenario in the case study. Prepare by reading the case study carefully and mapping every concept it touches to the course — the exam will go several layers deep into whichever systems or algorithms the case study involves.

Internal Assessment (Programming Solution)

A documented software solution to a problem of your choice, accompanied by a written record covering criteria A–E: the scenario, design, development, functionality, and evaluation. Criterion C (development) and D (functionality/testing) together carry the most weight. A working but poorly documented solution scores lower than a partially working but thoroughly designed and tested one.

How to revise

1

Practise algorithm tracing until it's automatic

A common exam question gives you pseudocode and asks for the output given specific inputs. Trace through every algorithm you study (bubble sort, binary search, stack operations, tree traversal) step by step on paper. This builds the mental model that makes Paper 1 questions straightforward.

2

Memorise the IB pseudocode conventions

The IB uses its own pseudocode syntax — assignment with =, loops with loop/end loop, array notation, output with output. Examiners don't accept Java or Python syntax in pseudocode answers. Learn the IB conventions and use them exclusively in exam responses.

3

Understand data structures by application, not definition

Knowing that a stack is LIFO is not enough. Know when a stack is appropriate (expression evaluation, undo history, recursion call stacks) and why LIFO makes it the right choice. Questions ask you to select and justify structures, not just define them.

4

Design your IA class structure before writing code

Draw a class diagram on paper, identify every method and attribute, and trace through your core algorithms before opening an IDE. Students who jump to coding first routinely redesign halfway through and lose weeks. The design documentation in the IA is worth marks directly, not just as context for the code.

Mistakes examiners see every year

Writing code in Java/Python syntax when IB pseudocode is required — always check what the question is asking for.

Tracing algorithms without updating variable values at each step — a single missed assignment cascades into the wrong answer.

For OOP questions: confusing class-level (static) and instance-level attributes, especially in inheritance hierarchies.

Starting the IA too late — the design, development, and testing phases each take significant independent time.

For HL Paper 3: reading the case study for the first time in the exam. The paper rewards students who prepared with the case study, not those who rely on general CS knowledge.

What's in the syllabus

System fundamentals

System life cycle · User requirements · Feasibility · Change management · System installation · Documentation

Computer organization

CPU architecture · Fetch-decode-execute cycle · Primary and secondary memory · Binary representation · Logic gates · Machine instruction cycle

Networks

Network types · Protocols · Packet switching · OSI and TCP/IP · Network security · Cloud computing

Computational thinking

Pseudocode · Trace tables · Searching algorithms · Sorting algorithms · Recursion · Algorithm efficiency

Abstract data structures

Stacks · Queues · Linked lists · Trees · Binary search trees · Hash tables

Databases and OOP

Relational databases · Normalization · SQL · Classes and objects · Inheritance · Encapsulation · Polymorphism

Frequently asked questions

What programming language should I use for the IA?

Any language is accepted. Java, Python, and Processing are the most commonly used. Choose the language you know best, not the one that sounds most impressive — the IA is marked on design and documentation quality as much as code quality.

How hard is the HL extension compared to SL?

HL adds abstract data structures (linked lists, binary trees), a more demanding OOP paper, and the case-study paper. The volume increase is significant, but the thinking skills are the same. Students who are strong at algorithmic reasoning generally handle the HL extension well.

Do I need to know networking in depth?

System components and networking appear in Paper 1, but at a conceptual level: OSI model, protocols, client-server vs peer-to-peer, security principles. You won't be asked to configure a network, but you will be asked to explain how data travels across one and where vulnerabilities arise.

Put this guide into practice

Everything above — topic-filtered practice questions, spaced-repetition flashcards, and a syllabus checklist for Computer Science — is free on Baccly.

Start free