Introduction
One of the first questions IB Computer Science students ask is: “What programming language do I need for the exams?” Since different schools teach different languages, there’s often confusion. The IB provides flexibility, but students must choose one language for consistency throughout their preparation.
This guide explains which programming languages are used in IB Computer Science, how the exams handle coding, and how you should prepare.
Programming Languages Allowed in IB Computer Science
As of the latest syllabus (2025 onward):
- Students can use Java or Python in Paper 1.
- Pseudocode is also accepted and often used in exam questions.
👉 The IB doesn’t force all schools to use the same language. Instead, schools choose whether to teach Java or Python, and students are expected to stick with that language throughout the course.
How Programming Appears in Exams
Paper 1
- Core problem-solving paper.
- You’ll read, trace, and write code or pseudocode.
- Questions may be written in Java-style or Python-style pseudocode, depending on your chosen language.
Paper 2
- Theory and applied contexts.
- Doesn’t require writing full programs, but you may need to explain or outline coding logic.
Internal Assessment (IA)
- Your IA computational solution can be written in any programming language, but most students use Java or Python since these are taught in class.
Java vs Python in IB Computer Science
Java
- More structured, with strong focus on object-oriented programming (OOP).
- Slightly steeper learning curve.
- Still widely used in IB schools.
Python
- Easier syntax, more beginner-friendly.
- Increasingly popular in IB schools.
- Strongly relevant for data science and AI careers.
👉 Both are equally valid for exams — choose the one your school teaches or the one you feel most comfortable with.
Pseudocode in Exams
Even if you’re studying Java or Python, exams often use pseudocode to test logic. Examiners don’t expect perfect syntax — they want to see logical structure and problem-solving ability.
Example:
FOR i ← 1 TO n
IF array[i] > max THEN
max ← array[i]
ENDIF
ENDFOR
OUTPUT max
👉 This shows why focusing on clear pseudocode logic is just as important as mastering syntax.
Frequently Asked Questions
1. Do I need to know both Java and Python?
No. Stick to one. The IB exams are designed so you only need the language your school teaches.
2. Can I write pseudocode instead of real code in exams?
Yes, as long as the pseudocode is logical and follows IB conventions.
3. Which language is easier for IB Computer Science?
Python is easier for beginners, but Java is better for mastering object-oriented programming. Both can score equally well.
4. Will universities prefer Java or Python from IB?
Universities don’t mind. They’ll reteach coding from the ground up. What matters is that you’ve built strong logical problem-solving skills.
5. Can I use another language for the IA?
Yes, technically. But using Java or Python makes it easier since they align with what’s taught in class and assessed in exams.
Conclusion
IB Computer Science allows students to use Java or Python in exams, with a strong emphasis on pseudocode and logical problem-solving. You don’t need to master both — focus on the language your school teaches and practice consistently.
Success in IB Computer Science isn’t about syntax perfection but about clear logic, algorithms, and structured thinking.
For targeted practice, explore IB Computer Science Notes and our guide on How to Get a 7 in IB Computer Science.