IB Computer Science SL

B.1 Computational thinking

Specify a computational problem

Use decomposition, abstraction, success criteria, and algorithm traces.

Examples use Python. The current IB course also permits Java.

Write observable success criteria

Replace 'the system should be good' with a statement someone can test: a booking system must reject an overlapping room reservation. Specify the input, required output, constraints, and what should happen for invalid input.

Decompose the system into smaller jobs, such as reading a request, finding conflicts, and storing a confirmed booking. Abstraction keeps the details needed for a particular decision and leaves out irrelevant ones, such as a user's avatar when checking room availability.

Prove behavior with a trace

Trace each change in state rather than guessing from the first and last line. For overlapping intervals, test a full overlap, partial overlap, no overlap, and a reservation starting exactly when another ends. Decide whether the end time is inclusive before implementing the condition.

A solution can meet its original tests yet fail the client's real need. Use feedback to refine the problem specification, then update both the algorithm and its tests so they describe the same intended behavior.

Check yourself

What makes a success criterion useful for evaluation?Show answer

It describes an observable result under stated conditions, so a test can show whether it was met.

References used to build these lessons

We used these official documents as references when building this course's lessons. They are the sources for the syllabus structure and course requirements.

International Baccalaureate · First assessment 2027

This PDF is the public IB subject brief. The complete subject guide and assessment requirements are available through your school or the IB Programme Resource Centre.