
IBDP Computer Science SL
This AccelaStudy domain covers the complete IB Diploma Programme Computer Science Standard Level syllabus, preparing students for all three assessment components: Paper 1 (core topics), Paper 2 (option topic), and the Internal Assessment software solution.The course is organized around seven core topics and one option topic. Core topics begin with System Fundamentals, where students learn how organizations plan, install, and evaluate IT systems, and how the system development life cycle guides software projects from requirements gathering through evaluation. Computer Organization covers the von Neumann architecture, the fetch-decode-execute cycle, data representation in binary and hexadecimal, and the role of operating systems in managing hardware. Networks introduces LAN, WAN, and internet infrastructure, the OSI model, packet switching, and the security threats and countermeasures that protect networked systems.The largest and most heavily weighted topic is Computational Thinking, Problem-Solving and Programming, where students develop fluency in IB pseudocode, trace algorithms using trace tables, implement the four standard algorithms (sequential search, binary search, bubble sort, selection sort), and write programs using variables, control structures, subprograms, recursion, file I/O, and arrays. Abstract Data Structures extends this foundation to stacks, queues, linked lists, and binary trees, with emphasis on constructing and tracing operations in pseudocode. Resource Management and Control complete the core, addressing CPU scheduling, virtual memory, and the design of feedback-driven control systems.The option topic covered in this domain is Object-Oriented Programming, where students master classes, objects, encapsulation, inheritance, polymorphism, and UML class diagrams, and apply these concepts to design and implement multi-class solutions.Throughout all topics, social and ethical issues — including the digital divide, AI ethics, privacy, intellectual property, and the impact of automation — are integrated as a required dimension of every unit.The Internal Assessment strand guides students through identifying a real client problem, designing a software solution, implementing and testing it, and writing a reflective evaluation report. AccelaStudy's adaptive engine targets each student's individual gaps, using spaced repetition, contrastive question pairs, and pseudocode construction exercises to build the deep procedural fluency required for exam success.
Who Should Take This
This course is designed for IB Diploma students taking Computer Science at Standard Level who want structured, adaptive preparation for their Paper 1, Paper 2, and Internal Assessment. It is ideal for students who are new to programming or who have some coding experience but need to master IB pseudocode conventions, trace table technique, and the specific algorithms and data structures tested in the exam. Students planning to study computing, software engineering, information systems, or any STEM field at university will find the rigorous problem-solving and algorithmic thinking skills developed here directly applicable. The course is also suitable for students who chose CS SL as a complement to other Group 4 sciences and want a reliable, self-paced resource to keep pace with classroom instruction.
What's Covered
1Systems in organizations: planning and system installation, user focus, system backup, software deployment. System design basics: components of a computer system, system life cycle, software development methodologies.
2Computer architecture: CPU, memory hierarchy, fetch-decode-execute cycle. Data representation: binary, hexadecimal, two's complement, text, images, sound encoding. Operating systems and software translation.
3Network fundamentals: hardware, topologies, protocols, OSI model, packet switching, IP addressing, DNS. Network security: threats, encryption, firewalls, authentication, social and ethical implications.
4Computational thinking: abstraction, decomposition, pattern recognition, algorithm design. Standard algorithms: searching and sorting. Programming: pseudocode, data types, control structures, subprograms, recursion, file I/O, arrays, collections, testing.
5Stacks, queues, linked lists, binary trees: structure, operations, traversals, and implementation in pseudocode. Static vs dynamic data structures.
6System resources: CPU scheduling, memory management, virtual memory, paging, and the role of the operating system in resource allocation.
7Control systems: sensors, actuators, feedback loops, open-loop vs closed-loop, analogue-to-digital conversion, embedded systems, and social/ethical implications of autonomous systems.
8OOP concepts: classes, objects, encapsulation, inheritance, polymorphism, UML class diagrams, arrays of objects, abstract classes, interfaces. Social and ethical issues in software development.
What's Included in AccelaStudy® AI
Course Outline
1Topic 1: System Fundamentals 2 topics
Systems in Organizations
- Identify the context for which a new system is planned, including the relevant stakeholders, current system limitations, and the role of a systems analyst in gathering and documenting user requirements.
- Describe the social and ethical issues that arise from the introduction of new IT systems into organizations, including impacts on employment, privacy, and digital equity.
- Explain the different methods of obtaining requirements from stakeholders, including interviews, questionnaires, observation, and document analysis, and distinguish their relative advantages and limitations.
- Discuss the effects of changing from a legacy system to a new system, comparing changeover strategies (direct, parallel, pilot, phased) and evaluating their suitability for different organizational contexts.
System Design Basics
- Outline the components of a system life cycle (planning, analysis, design, implementation, evaluation, maintenance) and describe the purpose of each phase in producing a reliable software solution.
- Explain the differences between iterative and waterfall development models, and suggest which model is more appropriate given specific project constraints such as changing requirements or fixed deadlines.
- Construct a data flow diagram (DFD) and a system flow chart to represent the movement of data and processes within a proposed system, using correct IB notation for processes, data stores, and external entities.
2Topic 2: Computer Organization 3 topics
Computer Architecture
- Describe the von Neumann architecture, identifying the roles of the CPU (ALU, CU, registers), primary memory (RAM, ROM, cache), and the system bus in executing the fetch-decode-execute cycle.
- Explain how the fetch-decode-execute cycle operates step by step, including the role of the program counter, memory address register, memory data register, and instruction register in each stage.
- Identify the factors that affect the performance of a CPU, including clock speed, number of cores, cache size, and word length, and explain how each factor influences processing speed.
Data Representation
- Convert numbers between binary, denary, and hexadecimal representations, and explain why hexadecimal is used as a shorthand for binary in computing contexts such as memory addresses and colour codes.
- Describe how integers are represented using two's complement notation, and calculate the range of values representable with a given number of bits, including the representation of negative numbers.
- Explain how text, images, and sound are encoded as binary data, including ASCII, Unicode, bitmap pixel representation, sampling rate, and bit depth, and discuss the trade-offs between file size and quality.
Operating Systems and Software
- Outline the role of an operating system in managing hardware resources, including process scheduling, memory management, file management, and providing a user interface.
- Distinguish between system software and application software, and explain the role of compilers, interpreters, and assemblers in translating high-level and low-level programming languages into machine code.
3Topic 3: Networks 2 topics
Network Fundamentals
- Identify the hardware components required to build a network, including routers, switches, access points, network interface cards, and transmission media, and describe the function of each component.
- Describe the characteristics of LAN, WAN, WLAN, and the internet, and distinguish between client-server and peer-to-peer network architectures in terms of cost, security, and scalability.
- Explain the purpose of network protocols and the layered OSI model, describing the function of each layer and how encapsulation and decapsulation occur as data travels through the stack.
- Describe how packet switching works, including the role of IP addresses, MAC addresses, DNS, and routing protocols in ensuring data packets reach their intended destination across the internet.
Network Security
- Identify common network security threats, including malware, phishing, denial-of-service attacks, man-in-the-middle attacks, and SQL injection, and describe how each exploits system vulnerabilities.
- Explain countermeasures used to protect networks and data, including firewalls, encryption (symmetric and asymmetric), VPNs, authentication protocols, and software updates, evaluating their effectiveness.
- Discuss the social and ethical implications of network surveillance, data collection by corporations and governments, and the tension between privacy rights and national security in a connected world.
4Topic 4: Computational Thinking, Problem-Solving and Programming 4 topics
Computational Thinking Concepts
- Describe the four pillars of computational thinking — abstraction, decomposition, pattern recognition, and algorithm design — and explain how each contributes to solving complex computational problems.
- Apply abstraction to identify the essential features of a problem while hiding irrelevant detail, and demonstrate how this process leads to the creation of appropriate data models and algorithmic solutions.
- Construct algorithms using IB pseudocode conventions to solve problems involving sequence, selection (IF/ELSE), and iteration (FOR, WHILE, LOOP), ensuring correct syntax and logical flow.
Standard Algorithms
- Trace the sequential search and binary search algorithms on a given dataset using a trace table, and compare their efficiency in terms of number of comparisons required for best, worst, and average cases.
- Trace the bubble sort and selection sort algorithms on a given array using a trace table, showing each pass and swap, and explain why binary search requires a sorted array as a precondition.
- Evaluate the relative efficiency of sequential search, binary search, bubble sort, and selection sort, justifying which algorithm is most appropriate given constraints such as data size and whether the data is sorted.
Programming Concepts
- Identify and use the fundamental programming constructs — variables, constants, data types (integer, real, Boolean, string, char), assignment, arithmetic operators, and input/output — in IB pseudocode and a chosen language.
- Construct and trace subprograms (procedures and functions) with parameters and return values, explaining how parameter passing and local versus global scope affect program modularity and maintainability.
- Explain the concept of recursion, trace a recursive algorithm (such as factorial or Fibonacci) using a call stack diagram, and compare the recursive and iterative approaches for the same problem.
- Construct algorithms that read from and write to text files, explaining the need for file handling in persistent data storage and demonstrating correct open, read, write, and close operations in pseudocode.
- Discuss the importance of good programming practice, including meaningful identifier names, commenting, indentation, modular design, and testing strategies (white-box, black-box, dry run), and evaluate their impact on code quality.
Arrays and Collections
- Construct algorithms that declare, populate, traverse, and manipulate one-dimensional and two-dimensional arrays in IB pseudocode, applying them to problems such as storing student grades or game boards.
- Explain the difference between static and dynamic data structures, and describe how collections (lists) differ from arrays in terms of size flexibility, access methods, and typical use cases.
5Topic 5: Abstract Data Structures 3 topics
Stacks and Queues
- Describe the stack data structure, its LIFO behaviour, and its operations (push, pop, peek, isEmpty), and identify real-world applications such as undo functionality, expression evaluation, and call stacks.
- Describe the queue data structure, its FIFO behaviour, and its operations (enqueue, dequeue, isEmpty), and identify real-world applications such as print spooling, CPU scheduling, and breadth-first traversal.
- Construct pseudocode algorithms that implement stack and queue operations using arrays, including boundary condition checks for overflow and underflow, and trace their execution on given input sequences.
Linked Lists
- Describe the structure of a singly linked list, including nodes containing data and pointer fields, the role of the head pointer, and how null pointers mark the end of the list.
- Construct and trace algorithms for linked list operations — insertion at head, insertion at tail, deletion of a node, and traversal — using pointer manipulation in IB pseudocode with appropriate diagrams.
- Compare linked lists and arrays as data structures, evaluating their relative advantages and disadvantages in terms of insertion and deletion efficiency, memory usage, and random access capability.
Binary Trees
- Describe the binary tree data structure, defining key terminology including root, node, leaf, parent, child, left subtree, right subtree, and height, and draw a binary search tree from a given sequence of values.
- Construct and trace pre-order, in-order, and post-order tree traversal algorithms in IB pseudocode, and explain the practical application of each traversal order (e.g. in-order for sorted output).
6Topic 6: Resource Management 1 topic
System Resources
- Identify the resources that must be managed by an operating system, including the CPU, primary memory, secondary storage, and peripheral devices, and describe the consequences of poor resource management.
- Explain the concept of virtual memory, describing how the OS uses secondary storage to extend apparent RAM capacity through paging, and discuss the performance implications of excessive page swapping (thrashing).
- Describe common CPU scheduling algorithms including first-come-first-served, shortest job first, and round-robin, and evaluate their suitability for different computing environments such as batch processing and interactive systems.
7Topic 7: Control 1 topic
Control Systems
- Describe the components of a control system, including sensors, actuators, microprocessors, and feedback loops, and explain how open-loop and closed-loop control systems differ in their response to environmental changes.
- Explain how analogue signals from sensors are converted to digital data via analogue-to-digital converters (ADC), and describe the role of sampling frequency and resolution in determining the accuracy of the digital representation.
- Discuss the social and ethical implications of autonomous control systems, including embedded systems in vehicles, medical devices, and smart homes, evaluating issues of reliability, safety, accountability, and human oversight.
8Option D: Object-Oriented Programming (OOP) 2 topics
OOP Fundamentals
- Define the core concepts of object-oriented programming — objects, classes, attributes, methods, instantiation, and encapsulation — and explain how OOP models real-world entities as software objects.
- Construct a class definition in IB pseudocode and a chosen programming language, including a constructor, private attributes, and public accessor/mutator methods, demonstrating correct encapsulation principles.
- Explain inheritance in OOP, construct a class hierarchy with a superclass and subclass, and demonstrate how method overriding enables polymorphic behaviour in a program.
- Draw a UML class diagram for a given problem domain, showing classes, attributes, methods, and relationships (association, inheritance, aggregation), and explain how the diagram guides the implementation of an OOP solution.
- Evaluate the advantages of OOP over procedural programming, including reusability through inheritance, maintainability through encapsulation, and extensibility through polymorphism, in the context of large-scale software development.
OOP in Practice
- Construct algorithms that create and manipulate arrays of objects, demonstrating how collections of objects can be iterated, searched, and sorted using methods defined in the class.
- Explain the concept of an abstract class and an interface, describing how they enforce a contract for subclasses and promote consistent design across a software system.
- Discuss the social and ethical issues related to software development, including intellectual property, open-source licensing, software reliability, and the responsibilities of programmers toward end users and society.
9Internal Assessment: Software Solution 1 topic
IA Planning and Design
- Identify a genuine client and a real problem suitable for a software solution, documenting the client's current situation, specific success criteria, and the rationale for choosing a computational approach.
- Construct a detailed design for the IA solution, including data structures, algorithm designs in pseudocode or flowcharts, user interface mockups, and a test plan with specific test cases and expected outcomes.
- Evaluate the developed solution against the original success criteria using evidence from testing, identifying limitations of the product and recommending specific improvements that could be made in future iterations.
10Social and Ethical Issues in Computing (Integrated Strand) 2 topics
Digital Divide and Accessibility
- Discuss the causes and consequences of the digital divide at local, national, and global levels, evaluating the role of governments, NGOs, and technology companies in reducing inequitable access to computing resources.
- Explain the importance of accessibility in software and hardware design, describing features such as screen readers, closed captions, and alternative input devices, and evaluate how universal design principles benefit all users.
Artificial Intelligence and Emerging Technologies
- Describe the key characteristics of artificial intelligence, including machine learning, natural language processing, and computer vision, and identify current applications in areas such as healthcare, finance, and autonomous systems.
- Discuss the ethical implications of artificial intelligence, including algorithmic bias, loss of employment, autonomous decision-making, data privacy, and the challenge of ensuring AI systems are transparent and accountable.
- Evaluate the impact of cloud computing, the Internet of Things (IoT), and big data on individuals and society, considering benefits such as efficiency and connectivity alongside risks including data sovereignty and surveillance.
Scope
Included Topics
- All five core SL syllabus topics: System fundamentals, Computer organization, Networks, Computational thinking, problem-solving and programming, Abstract data structures (SL treatment), Resource management, and Control
- Option topics (one studied): Databases, Modelling and simulation, Web science, Object-oriented programming (OOP) — SL depth for each
- Internal Assessment: solution to a client-identified problem using an appropriate programming language, producing a product and a 2,000-word report covering planning, design, development, and evaluation
- Four assessment objectives (AO1 knowledge, AO2 application/analysis, AO3 synthesis/evaluation, AO4 use of appropriate skills) and the IB command terms taxonomy
- Pseudocode and trace table conventions as specified in the IB CS guide
- Computational thinking concepts: abstraction, decomposition, pattern recognition, algorithm design, and evaluation of algorithms
- Standard algorithms: sequential search, binary search, bubble sort, selection sort, and their analysis
- Data structures: arrays, records, stacks, queues, linked lists, binary trees (SL level)
- Programming concepts: variables, data types, control structures, subprograms, recursion, file I/O, and object-oriented concepts (classes, objects, inheritance, polymorphism) at SL depth
- Network fundamentals: protocols, OSI model, packet switching, security threats and countermeasures
- Social and ethical issues of computing integrated across all topics
Not Covered
- HL-only extension topics: additional abstract data structures (graphs, hash tables), advanced algorithm analysis (Big-O formal proofs), further system fundamentals content marked HL only
- HL Paper 3 case study component
- Advanced database normalization beyond 3NF
- Compiler and interpreter design theory beyond conceptual overview
- Formal language theory, automata, and computability
- Vendor-specific IDE or language syntax beyond the IB pseudocode standard and one chosen implementation language
Official Exam Page
Learn more at International Baccalaureate