Table of Contents
- What the new guide actually changed
- Why removing the client is a trap as well as a freedom
- Where a real client is actually sitting
- Turning a success criterion into a test you can run
- Java or Python, and how to choose
- A timeline that keeps the IA out of the rescue category
- How we teach the IA without touching it
- Frequently asked questions
For years, the first real conversation in an IB Computer Science course went the same way. Find a client. Not a topic, not an idea you like, a person with a problem. Students groaned, went looking, and came back with a swimming coach or an uncle who ran a shop, and the IA had a spine from that day onward.
The guide first taught in 2025 and first assessed in May 2027 removed that requirement. Candidates are now free to choose any topic that interests them, with no obligation to involve a client at all. It is a genuine change, it is being widely and correctly reported, and it is quietly one of the most consequential things a DP1 student can misunderstand.
What the new guide actually changed
- Paper 3 has gone. External assessment is carried by two papers rather than three, so each one now weighs more.
- The options have gone. Databases, object oriented programming and web science are no longer separate choices bolted on to a core; the content has been absorbed into it.
- The course is organised into two themes rather than a list of topics, one about how computing systems work and one about solving problems with computing.
- The language is now Java or Python. Not a preference any more, a decision with consequences that reach into the exam room.
- The IA no longer requires a client. Five criteria, thirty marks, roughly 35 hours of development, submitted with a video of at most five minutes, worth 30 per cent at standard level and 20 per cent at higher level.
Why the IA weighs more at SL than at HL
It looks backwards until you see it as arithmetic. The same piece of work sits against a smaller total at standard level, so it counts for more of the final grade there. A standard level student who treats the IA as the small component has given away almost a third of their grade before the written papers begin.
Why removing the client is a trap as well as a freedom
Look at what the five criteria ask. Criterion A wants a problem specified. Criterion E wants an evaluation of whether it was solved. Those are the same question asked at both ends of the project, and the marks depend on the answer being checkable by somebody other than the author.
A student who invents the problem also invents the standard the solution is measured against, and then marks their own homework in criterion E. Examiners see a lot of these. They read as fluent, confident, and strangely weightless, because nothing in them could have come out wrong. A student who found a real person cannot write that way, because at some point the person said the thing did not work.
The requirement was never really about the client. It was about there being an answer to the question that the student did not control.
, Why we kept the rule after the IB dropped it
Where a real client is actually sitting
The word client makes students imagine a business meeting. It is much smaller than that. What you need is somebody who does a repetitive thing badly with a spreadsheet, a paper list or a group chat, and who will spend twenty minutes telling you why it is annoying.
- Ask, do not propose. Go with a question, not a pitch. What do you do every week that takes longer than it should? Students who arrive with an app idea get politeness. Students who arrive with a question get a problem.
- Write the criteria in their words. Then read them back. If they say yes, that is what I want, criterion A is essentially finished and criterion E has something to test against.
- Agree what you will not build. This is the single most useful sentence in the whole conversation, because 35 hours is not very long and the scope is what kills IAs.
Turning a success criterion into a test you can run
Here is the practical bridge between criterion A and criterion D. Every success criterion the client agreed to should become something the program can be checked against, and the checking should be evidence, not a paragraph claiming it was done.
Suppose the client is a small club secretary and the price list is theirs, not yours: free under twelve, forty for members, sixty for everybody else. That is three criteria, and it is worth writing the awkward fourth case down as well, because the boundary is where the client and the code disagree.
def fee(age, is_member):
"""Entry fee in pounds, from the club secretary's own price list."""
if age < 12:
return 0
if is_member:
return 40
return 60
cases = [
("child, not a member", (8, False), 0),
("adult member", (30, True), 40),
("adult visitor", (30, False), 60),
("on their 12th birthday", (12, True), 40),
]
for name, args, expected in cases:
got = fee(*args)
verdict = "pass" if got == expected else "FAIL"
print("%-24s expected %3d got %3d %s" % (name, expected, got, verdict))
child, not a member expected 0 got 0 pass
adult member expected 40 got 40 pass
adult visitor expected 60 got 60 pass
on their 12th birthday expected 40 got 40 pass
Four lines of output, produced by running the program, and the last one is the interesting one. Twelve is not under twelve, so a member turning twelve pays the member rate. That was not obvious from the client's sentence, and the only way to be sure is to go back and ask. That conversation, written up, is worth more in criterion E than any amount of reflection about what could be improved in future.
What the video is for
Five minutes, maximum, and it exists to show the product running and the testing that was done. The commonest waste is a screen recording of code being scrolled through. Nobody is marking the code from the video. Show somebody using the thing, show it handling the awkward case, and show what happens when it is given something it did not expect.
Java or Python, and how to choose
The new guide settles the language question to Java or Python, and the written papers now come in a version matched to the language a candidate has studied. That makes the choice heavier than it used to be, because it is no longer only an IA decision, it is an exam paper decision.
For most students, choose the one they can debug without help. Python keeps a 35 hour project short enough to finish and to explain, which matters when the IA has to be documented. Java is the better choice for a student who is also sitting AP Computer Science A or a Cambridge A Level, because the same syntax then pays for itself twice. What does not work is deciding in DP2, after a year of writing pseudocode and hoping.
A timeline that keeps the IA out of the rescue category
Every IA rescue we have ever been asked to do had the same cause, and it was never the coding. It was that the student picked a topic in DP2, so there was no time left to discover that the problem was the wrong shape. Find the person in DP1, agree what solved means before the summer, and the second year becomes building and testing rather than reinventing.
How we teach the IA without touching it
There is a line here and it matters. The IA is the student's own work, and the IB takes academic integrity seriously enough that a tutor who supplies code puts a diploma at risk rather than a grade. So we do not write any part of it. What we do is question it: scope it down when it is too big, push back when the success criteria are the student's rather than the client's, and refuse to accept a solution with nothing real behind it.
Our IB Computer Science tuition is live, one to one or in a batch of five to eight students, taught from India to students worldwide. We start the IA conversation in DP1 rather than DP2, which is the single intervention that changes outcomes most. The first class is free, and if the student already has a client, bring what that person actually said.
Frequently asked questions
Yes. Under the guide first assessed in May 2027, candidates are free to explore any topic that interests them and there is no requirement to involve a client. The point of this article is that the marks still reward having one, not that the rule still exists.
Yes, and it is a common and perfectly good choice, provided they have a real problem rather than a manufactured one. A parent who genuinely keeps stock on paper is a better client than a stranger with a polite hypothetical. What does not work is a family member who agrees with everything, because criterion E needs somebody willing to say it did not work.
Around 35 hours of development, which is the figure the guide works to. Students consistently underestimate documentation and testing, so budget those in from the start rather than treating them as write up at the end.
Because the same work sits against a smaller total. It is 30 per cent at standard level and 20 per cent at higher level. Standard level students should treat it as the biggest single component of their grade, because it is.
It is no longer set. External assessment is carried by Paper 1 and Paper 2, which means each of them now carries more weight and there is no third component to recover a bad morning on.
Yes, and sometimes they should. Changing in DP1 costs a few weeks. Changing after the summer of DP1 usually means cutting scope hard rather than starting again, and that is a conversation to have quickly rather than to postpone.
No. It needs to be clear and under five minutes. Unedited screen capture with a calm voice explaining what is happening beats anything with music. What examiners need to see is the product working and the testing being done, not production values.