127.0.0.1 KS5 Learning Resources IB Computer Science Revision

IB Computer Science Revision

Please use this page as a way to gain a brief overview of the entire IB Computer Science programme.

Table of Contents

Looking for standard or higher-level content? Check here: Standard | Higher

This revision guide covers all the core concepts from IB Computer Science Standard Level Topics 1 to 4. Each section provides a concise summary with added detail to help reinforce your understanding and prepare you for the exam.


Standard Level

Topic 1: System Fundamentals

1.1 System Design Basics

A system is a set of components—hardware, software, people, data, and procedures—that work together to achieve a common goal. The system life cycle describes the stages involved in creating and maintaining a system:

  • Analysis: Gathering requirements, understanding the current system, and identifying problems.
  • Design: Planning the new system’s structure, user interface, data flow, and security features.
  • Implementation: Building or configuring the system, including coding and installing hardware/software.
  • Testing: Ensuring the system works as intended, finding and fixing errors.
  • Installation: Deploying the system for users.
  • Maintenance: Ongoing support, bug fixes, and updates.
  • Evaluation: Assessing if the system meets objectives and stakeholders’ needs.

Stakeholders include anyone affected by the system, such as end-users, managers, IT staff, and clients. A feasibility study checks if a project is practical and worthwhile, considering technical, economic, legal, and operational factors.

1.2 System Installation and Changeover

When introducing a new system, organisations must choose a changeover method:

  • Direct: Immediate switch; fast but risky if issues arise.
  • Parallel: Both old and new systems run together; safer but resource-intensive.
  • Phased: Gradual replacement in stages; allows testing and adjustment.
  • Pilot: New system trialled in one area before full rollout; minimises risk.

Data migration is crucial during changeover, involving transferring data from the old system to the new one. This process must ensure data integrity, compatibility, and security.

1.3 User and System Documentation

User documentation provides instructions, FAQs, and troubleshooting guides to help users operate the system effectively. Technical documentation is aimed at IT professionals and includes system architecture, source code, database schemas, and maintenance procedures.

Good documentation:

  • Reduces user errors and support requests.
  • Helps new staff learn the system.
  • Supports future updates and troubleshooting.

1.4 System Backup and Recovery

Backup involves regularly copying data to secure locations (external drives, cloud storage) to prevent data loss from hardware failure, software errors, or disasters. Recovery procedures outline how to restore lost or corrupted data and resume normal operations quickly, minimising downtime and data loss.


Topic 2: Computer Organisation

2.1 Hardware and Software

Hardware refers to the physical components of a computer system, such as the CPU, RAM, storage devices, motherboard, and peripherals (keyboard, mouse, monitor). Software includes operating systems, applications, and utilities that instruct hardware to perform tasks.

2.2 The Central Processing Unit (CPU)

The CPU is the brain of the computer, executing instructions and processing data. Its main components are:

  • Arithmetic Logic Unit (ALU): Performs mathematical and logical operations.
  • Control Unit (CU): Manages the execution of instructions, directing data flow.
  • Registers: Small, fast memory locations for temporary data storage during processing.

The fetch-decode-execute cycle describes how the CPU processes instructions: fetching from memory, decoding to understand the command, and executing the operation.

2.3 Primary and Secondary Memory

  • Primary memory (RAM): Volatile, fast storage for data and programmes currently in use. Data is lost when power is off.
  • Secondary memory: Non-volatile storage for long-term data retention, such as hard drives, SSDs, and optical discs. Slower but persistent.

ROM (Read-Only Memory) is another type of primary memory, storing firmware and instructions needed to start the computer.

2.4 Input, Output, and Storage Devices

  • Input devices: Allow users to enter data (keyboard, mouse, scanner, microphone).
  • Output devices: Present information to users (monitor, printer, speakers).
  • Storage devices: Hold data and software (HDD, SSD, USB flash drive, CD/DVD).

Each device plays a role in how users interact with and utilise the computer system.

Topic 3: Networks

3.1 Types of Networks

  • LAN (Local Area Network): Connects devices in a limited area, such as a home, school, or office. Offers high speed and low cost.
  • WAN (Wide Area Network): Spans large geographical areas, connecting multiple LANs (e.g., the internet). Usually slower and more expensive.
  • PAN (Personal Area Network): Very short-range network for personal devices, often using Bluetooth or infrared.

3.2 Network Hardware

Key hardware components include:

  • Router: Directs data between networks, often connects LANs to the internet.
  • Switch: Connects devices within a LAN, forwarding data only to the intended recipient.
  • Modem: Converts digital signals for transmission over telephone or cable lines.
  • Network Interface Card (NIC): Enables devices to connect to a network, either wired or wireless.

3.3 Network Topologies

  • Bus: All devices share a single communication line; simple but prone to collisions.
  • Star: Devices connect to a central hub; easy to manage but dependent on the hub.
  • Ring: Devices form a closed loop; data travels in one direction, reducing collisions.
  • Mesh: Every device connects directly to others; highly reliable but expensive and complex.

3.4 Data Transmission

  • Packet switching: Breaks data into small packets sent independently across the network, improving efficiency and reliability.
  • Protocols: Set rules for communication (e.g., TCP/IP for internet, HTTP for web, FTP for file transfer).
  • Bandwidth: Measures the amount of data transmitted per second; higher bandwidth means faster data transfer.

3.5 Security and Privacy

  • Encryption: Scrambles data so only authorised users can read it, protecting confidentiality.
  • Firewall: Filters incoming and outgoing traffic to block unauthorised access.
  • Authentication: Confirms user identity using passwords, biometrics, or two-factor methods.

Security measures are essential to protect data and maintain trust in networked systems.


Topic 4: Computational Thinking, Problem-Solving, and Programming

4.1 Computational Thinking

A set of problem-solving skills used in computer science:

  • Decomposition: Breaking complex problems into smaller, manageable parts.
  • Pattern Recognition: Identifying similarities, trends, or repeated elements in problems.
  • Abstraction: Focusing on essential details while ignoring irrelevant information.
  • Algorithm Design: Creating clear, step-by-step instructions to solve problems.

These skills are foundational for designing effective algorithms and writing efficient code.

4.2 Problem-Solving Techniques

  • Pseudocode: Writing algorithms using structured but plain language, making logic easy to follow.
  • Flowcharts: Visual representations of processes, using symbols to show steps, decisions, and flow of control.

Both tools help plan and communicate solutions before coding.

4.3 Programming Concepts

  • Variables: Named storage locations for data values, which can change during programme execution.
  • Data Types: Define the kind of data (integer, real/float, Boolean, character, string) a variable can hold.
  • Operators: Perform operations on data:
    • Arithmetic: +, -, *, /
    • Relational: ==, !=, <, >
    • Logical: AND, OR, NOT
  • Input/Output: Methods for receiving data from users (input) and displaying information (output).

Understanding these basics is crucial for writing clear and correct code.

4.4 Control Structures

  • Sequence: Instructions executed one after another in order.
  • Selection: Making decisions using IF, ELSE, or SWITCH statements.
  • Iteration: Repeating actions using loops (FOR, WHILE, REPEAT UNTIL).

Control structures allow for complex, flexible programme logic.

4.5 Arrays

  • Array: An ordered collection of elements of the same data type, accessed by index.
  • Indexing: The position of an element in the array; usually starts at 0 or 1 depending on the language.
  • Arrays are useful for storing lists, tables, or sequences of data efficiently.

4.6 Testing and Debugging

  • Testing: Systematically checking that a programme works as intended. Types include unit (individual parts), integration (combined parts), and system (whole programme) testing.
  • Debugging: The process of finding and correcting errors.
    • Syntax errors: Mistakes in code structure.
    • Logic errors: Flaws in the algorithm cause incorrect results.
    • Runtime errors: Problems that occur during execution, such as dividing by zero.

Effective testing and debugging ensure reliable, high-quality software.


Revision Tips

  • Practise past paper questions to get familiar with exam formats and question styles.
  • Create mind maps or diagrams for each topic to visualise connections and processes.
  • Use flashcards for key terms, definitions, and important concepts.
  • Work through programming exercises to reinforce logic, syntax, and problem-solving skills.
  • Explain concepts to someone else—teaching helps reinforce your own understanding.
  • Review regularly rather than cramming, and focus on areas where you feel least confident.

Higher Level

Topic 5: Abstract Data Structures

5.1 Recursive Thinking

Recursion occurs when a function calls itself to solve smaller instances of a problem.

  • Base case: Simplest scenario where the function returns a value without recursion.
  • Recursive case: Breaks the problem into subproblems, calling itself with modified parameters.
  • Example: Calculating factorials:
def factorial(n): 
if n == 0: # Base case
return 1
else: # Recursive case
return n * factorial(n-1)

5.2 Two-Dimensional Arrays

A grid of elements accessed via row and column indices.

  • Applications: Game boards (chess), spreadsheets, image processing (pixel grids).
  • Algorithms:
    • Traversing rows and columns.
    • Searching for specific values (e.g., finding a maximum in a matrix).

5.3 Stacks and Queues

  • Stack: Last-In-First-Out (LIFO) structure.
    • Operationspush() (add to top), pop() (remove from top).
    • Applications: Undo/redo features, backtracking algorithms, parsing expressions.
  • Queue: First-In-First-Out (FIFO) structure.
    • Operationsenqueue() (add to rear), dequeue() (remove from front).
    • Applications: Print spooling, task scheduling, breadth-first search.

5.4 Linked Lists

  • Structure: Nodes containing data and a pointer to the next node.
    • Single-linked: Nodes point forward only.
    • Double-linked: Nodes point forward and backward.
    • Circular: Last node points back to the first.
  • Advantages: Dynamic size, efficient insertions/deletions.

5.5 Trees

  • Binary Tree: Each node has ≤ 2 children.
    • Traversal:
      • Inorder: Left → Root → Right (returns sorted order in binary search trees).
      • Preorder: Root → Left → Right (used to copy trees).
      • Postorder: Left → Right → Root (used in expression evaluation).
    • Applications: File systems, databases, decision trees.
  • Binary Search Tree (BST): Ordered tree where left-child < parent < right-child.

5.6 Static vs Dynamic Data Structures

StaticDynamic
Fixed size (e.g., arrays).Flexible size (e.g., linked lists).
Memory allocated at compile time.Memory allocated at runtime.
Faster access but less flexible.Slower access but efficient for frequent changes.

Topic 6: Resource Management

6.1 System Resources

Key resources managed by the operating system (OS):

  • Primary Memory (RAM): Stores active processes.
  • Secondary Storage: Long-term data (HDD, SSD).
  • CPU: Executes instructions via scheduling.
  • Bandwidth: Network data transfer capacity.

6.2 OS Management Techniques

  • Scheduling:
    • Round Robin: Allocates CPU time in fixed intervals.
    • Shortest Job First (SJF): Prioritizes quickest tasks.
    • Multi-level Feedback Queues: Balances priority and fairness.
  • Virtual Memory: Uses disk space to extend RAM, allowing larger applications.
  • Paging: Divides memory into fixed-size blocks to manage allocation.
  • Interrupts: Signals (e.g., from hardware) that pause CPU execution for urgent tasks.

6.3 Dedicated Operating Systems

  • Purpose-built: Designed for specific devices (e.g., ATMs, smartwatches).
  • Advantages: Optimised performance, reduced bloat, enhanced security.

6.4 Hardware Abstraction

The OS hides hardware complexity by providing:

  • APIs: Standard interfaces for applications to interact with hardware.
  • Device Drivers: Software to control peripherals (printers, scanners).

Topic 7: Control Systems

7.1 Sensors and Microprocessors

  • Sensors: Convert physical properties (temperature, light) into electrical signals.
    • Examples: Thermistors (temperature), photoresistors (light), accelerometers (motion).
  • Microprocessors: Process sensor input and trigger outputs (e.g., turning on a fan if temperature rises).

7.2 Feedback Loops

  • Closed-loop systems: Use feedback to self-adjust (e.g., thermostat).
  • Open-loop systems: No feedback (e.g., traffic light timer).

7.3 Centralised vs Distributed Systems

CentralisedDistributed
Single control unit.Multiple independent nodes.
Single point of failure.Fault-tolerant and scalable.
Example: Early home automations.Example: Blockchain networks.

7.4 Autonomous Agents

  • Definition: Systems that operate independently using sensors and rules (e.g., self-driving cars).
  • Ethical Considerations: Job displacement, privacy concerns, decision-making in critical scenarios.

Glossary of Key Terms

TermDefinition
RecursionA function calling itself to solve smaller instances of a problem.
Binary Search TreeA tree where left-child < parent < right-child for efficient searching.
Virtual MemoryUsing disk space to simulate additional RAM.
SchedulingAllocating CPU time to processes to optimise performance.
Autonomous AgentA system that operates independently using sensors and predefined rules.
Feedback LoopA process where outputs are monitored and used to adjust system behavior.

Revision Strategies for HL

  1. Code Traces: Practise tracing recursive algorithms and tree traversals.
  2. Compare & Contrast: Use tables to differentiate centralised vs distributed systems or static vs dynamic structures.
  3. Case Studies: Link concepts to real-world examples (e.g., how GPS uses scheduling algorithms).
  4. Diagram Practice: Sketch binary trees, linked lists, and control system flowcharts.
  5. Past Papers: Focus on HL-specific questions about ADS and resource management.

Paid Resources

Standard Level

Requires “IBDP” or “FULL ACCESS” subscription

Restricted

You must be logged in with a premium account to view this content. Click here to visit our shop.

  Forbidden Icon

Higher Level

Restricted

You must be logged in with a premium account to view this content. Click here to visit our shop.

  Forbidden Icon

Revision Flashcards

quizlet logo

Slides for each topic Systems in Organisations, Computer Organisation, Networks, Computational Thinking, Abstract Data Structures, Resource Management.**

**Credit goes to the author for these resources. I do not take ownership of anything in these links.