Please note that there will be a new Computer Science curriculum in effect from August 2025. This will not be made available to us, by the IB, until the end of February 2025. Therefore, some of the content below will not be accurate, and will be updated once we have knowledge of the new syllabus.
Philosophy - Why should I study Computer Science?
The DP computer science course requires an understanding of the fundamental concepts of computing systems and the ability to apply the computational thinking process to solve problems in the real world. The course also requires students to develop skills in algorithmic thinking and computer programming.
DP computer science is engaging, accessible, inspiring and rigorous, and has the following characteristics. The course:
draws on a wide spectrum of knowledge of computer systems
develops skills in algorithmic thinking and computer programming
is underpinned by the computational thinking process
enables and empowers innovation, exploration and the acquisition of further knowledge
includes the study of machine learning
raises ethical issues.
Computational thinking involves the ability to:
specify problems in terms of their computational context and determine success criteria
decompose complex real-world problems into more manageable problems
abstract problems and generalize them to enable algorithmic thinking and to develop solutions
test and evaluate solutions for improvements.
During the course, students will develop a computational solution. This will develop their ability to identify a problem or unanswered question, and design, develop and evaluate a proposed solution.
The course enables students to:
develop conceptual understanding that allows connections to be made between different areas of the subject, and to other DP subjects
acquire and apply a body of knowledge, methods, tools and techniques that characterize computer science
analyse and evaluate solutions developed through computational thinking in a range of contexts
approach unfamiliar situations with creativity and resilience
use computational thinking to design and implement solutions to local and global problems
develop an appreciation of the possibilities and limitations of computer science
evaluate the impact of emerging technologies in computer science
communicate and collaborate effectively
develop awareness of the environmental, economic, cultural and social impact of computer science, its applications and ethical implications.
Course Content - What will I be studying?
The new Computer Science course has been split into two themes:
Theme A: Concepts of Computer Science
Theme B: Computational Thinking and Problem Solving
Theme A will look at how computer systems operate. The four main topics to be explored include:
Computer Fundamentals: which focuses on computer hardware and operation, data representation and computer logic, operating systems and control systems and for HL students, translation.
Networks: focuses on looking the architecture of networks, data transmission and network security.
Databases: Which focus on the fundamentals of databases, design, programming of databases, and for HL students, alternative databases and data warehouses.
Machine Learning: Which focuses on the fundamentals of machine learning, and ethical considerations of the use of machine learning, and for HL students data processing and machine learning approaches.
Theme B: the focus will be on the practical skills of computer science, including problem solving and algorithmic development. Students will learn either Python or Java (TBD, once more detailed information is available). The topics within Theme B include
Computational Thinking: approaches to computational thinking
Programming: focusing on programming fundamentals, data structures, programming constructs, algorithms and file processing.
Object Oriented Programming (OOP): focusing on the fundamentals of OOP for a single class, and for HL students for multiple classes.
Abstract Data Types (ADTs) (HL Only): focusing on the fundamentals of ADTs
In addition to the two themes, students in both SL and HL will explore concepts of computer science in the context of a Case Study. The purpose of the Case Study in computer science is to study current or emerging technologies. The Case Study will change each year, and will be released 12 months prior to the exam session.
In addition, the Internal Assessment involves the development of a computational solution with supporting documentation. The product created will be of the student's choosing, and the process for development will follow the system development lifecycle. The Internal Assessment is an opportunity for students to showcase their learning in this course by applying techniques learned througout the course.
Lessons in Computer Science are largely project centric with students spending most of their time creating algorithmic solutions to problems using the tools with which they are provided. Students also spend time practicing writing in order to prepare for their IB examination which is a written paper. Students in both SL and HL will have two exam papers, Paper 1 and Paper 2. More information about these can be found in the next section.
Students also take part in the Group 4 Collaborative Science Project in Grade 11, alongside the other Group 4 students where they combine their programming skills with scientific concepts.
Assessment - How will I be assessed?
Prerequisites - What do I need to know before choosing Computer Science?
Although there is no prerequisite requirement, it is highly recommended for students who wish to study Computer Science at HL to have some prior programming experience in Java, Python or equivalent, preferably learned as part of a course. This prior knowledge is advantageous for any student wishing to study Computer Science SL, but students without experience can still be successful.
What will allow me to be successful?
For students who are new to programming, you have to be willing to commit the time to learning this skill. It helps if you enjoy it.
For students who are not new to programming, you should the willingness to tackle more challenging programming problems than just the normal course work.
Take notes by hand! Annotating a section of code is much easier by hand, and will help when you are studying (for written exams).
What can I do with Computer Science in the future?
Computer Science is one of those subjects which can open a number of different career paths, such as in Cyber security, Computer Networking, Telecommunication, Bio-Technology, Biometrics, E-commerce, Database Management, Mobile Computing, Internet Technology and many more. Every industry requires employees with technical expertise, therefore studying Computer Science opens the doors to working in many industries.