The official IB Computer Science update says the redesigned course was first taught from August 2025 and is first assessed in May 2027. The IA remains a computational solution to a chosen real-world problem, with added emphasis on computational thinking and algorithmic problem-solving. This page does not claim that the example checklist below is the official markscheme or a substitute for the session-specific subject guide.
A concrete fictional solution: lending equipment at school
Imagine a client who lends cameras, tripods and microphones to a school media club. The client currently uses a notebook, which sometimes results in two students being told the same camera is available. The hypothetical proposed solution is a small reservation system. The real user problem is preventing incompatible simultaneous reservations, not "making a professional-looking dashboard."
The client needs three capabilities: check item availability for requested dates; reserve an item for an eligible borrower; and cancel a reservation while keeping an auditable history. Additional design choices, such as email reminders, should not displace testing of these essential behaviours.
A completed acceptance-test table
| Test | Initial state and input | Expected behaviour | Why it matters |
|---|---|---|---|
| T01: normal reservation | Camera A free; student X requests 12–14 November | Reservation saved; dates and borrower associated with Camera A | Happy path |
| T02: overlapping request | Camera A already reserved 12–14 November; student Y requests 13 November | Request rejected with reason; original reservation unchanged | Prevents double booking |
| T03: adjacent dates | Camera A reserved until 14 November; another starts 15 November | Accepted if policy defines 14th as final occupied day | Tests date-boundary policy |
| T04: invalid interval | Requested end date before start date | Input rejected; no record written | Checks validation |
| T05: unauthorized cancellation | Student Y attempts to cancel student X's reservation | Operation denied unless the real client-approved role permits it | Access control |
| T06: repeat submission | User clicks reserve twice during a slow network response | Only one reservation created | Checks idempotency/race issues |
| T07: concurrent request | Two eligible users request the last free camera at the same instant | At most one conflicting reservation committed | Database integrity, not just UI validation |
This table is original teaching material. All item names, dates and client requirements are simulated. Expected outcomes are not actual test results. Your real documentation must add the executed result, test environment, evidence (such as database state, logs and screenshots), and how any failure was corrected.
The overlooked race condition
Suppose the program first runs checkAvailability() and then separately inserts a new reservation. Two concurrent requests can both pass the check before either insert finishes. A nice alert box on the front end does not fix this problem.
The solution needs a server-side atomic constraint or transaction strategy suited to its data model. For example, the reservation write can be rechecked within a transaction or guarded by an appropriate database constraint before commit. The exact algorithm depends on the storage system and whether dates are inclusive. A credible evaluation explains that design decision, demonstrates the negative test, and states what remains untested.
Link your tests back to the client problem
A checklist labelled "button works" gives no reason to believe the reservation tool is useful. Each row should cite a real client-validated requirement and a measured result. Ask the client which failure would be most damaging, then prioritize that scenario. If the client actually values accountability more than convenience, cancellation history may deserve testing as thoroughly as date overlap.
Do not present synthetic screenshots or hand-entered PASS labels as evidence of executed software. Include reproducible test inputs and expected outcomes, then record actual observations separately. If you did not test concurrency, state NOT TESTED and explain the risk.
Source and assessment-session caveat
- Official IB Computer Science updates, first assessment May 2027, computational-thinking and IA changes: https://www-prod.ibo.org/university-admission/latest-curriculum-updates/computer-science-updates/
- The 2026 previous-syllabus examiner instructions describe a computational-solution zip submission; they must not be assumed to specify every 2027 requirement: https://ibpublishing.ibo.org/exinst/apps/exinst/index.html?chapter=3&doc=EX_instructions_2026_e&part=11
This is an original software-testing tutorial with a fictional client, not an assessed real IA or an automatic-mark guarantee. Student work and implementation must be genuinely their own. ibacalao.com offers separate draft-review tools.
Continue with related guides
Check your assessment session against the linked official IB sources. Read our editorial policy and sourcing method.
