IB Computer Science Higher Level

This subject is broken down into 50 topics in 13 modules:

  1. System Fundamentals 7 topics
  2. Computer Organization 5 topics
  3. Networks 3 topics
  4. Computational Thinking, Problem-Solving and Programming 5 topics
  5. Connecting Computational Thinking and Program Design 1 topics
  6. Introduction to Programming 2 topics
  7. Abstract Data Structures 5 topics
  8. Resource Management 2 topics
  9. Control 2 topics
  10. Databases 4 topics
  11. Modelling and Simulation 4 topics
  12. Web Science 6 topics
  13. Object-Oriented Programming 4 topics
Study this subject in the Adapt App →
  • 13
    modules
  • 50
    topics
  • 19,242
    words of revision content
  • 2+
    hours of audio lessons

This page was last modified on 28 September 2024.

A preview of IB Computer Science Higher Level in the Adapt app

Adapt is a revision planning app with full content coverage and unlimited past paper questions for 1,200+ GCSE and A Level subjects.

Study this subject in the Adapt app →

Computer Science

System Fundamentals

Planning and System Instalation

🤓 Study

📖 Quiz

Play audio lesson

Planning and System Instalation

Planning a System

  • Begin with defining the problem. Understand your users' needs and the business's requirements.
  • Create a detailed problem statement. This should unequivocally outline what the new software system is expected to achieve.
  • Generate a requirements specification that provides a clear, comprehensive summary of what the system should do.
  • Create process-modeling diagrams, flowcharts, or wireframes to visually illustrate the proposed system.
  • Plan the system architecture, selecting the appropriate hardware, software, and network infrastructure.
  • Evaluate and acknowledge the legal, ethical, and professional issues related to the new system.
  • Consider risk assessment and disaster recovery planning. This ensures the system preparedness for unexpected crises.
  • Plan for system testing. Testing confirms that the system works as intended and meets all outlined requirements. Include unit, integration, system, and acceptance testing stages.

System Installation

  • Sequencing the installation process ensures a smooth transition from the old system to the new one.
  • Implement the system either through direct changeover (the big bang approach), parallel running, phased implementation, or pilot running.
  • Prepare a data migration plan if there's a need to move information from the old system to the new.
  • Provide user training and support, making sure system users comprehend the functionalities of the new system.
  • Schedule regular system maintenance to keep the system in good working condition. Include preventive, perfective, adaptive, and corrective maintenance.
  • Utilize change control procedures when introducing alterations to the system after installation. This ensures any changes are appropriately managed and documented.
  • Finally, understand the importance of the system retirement process. This is vital when the system becomes obsolete or if it no longer meets the organisation' needs. Plan for data archiving and disposal of hardware components.

Course material for Computer Science, module System Fundamentals, topic Planning and System Instalation

Computer Science

Abstract Data Structures

Linked Lists

🤓 Study

📖 Quiz

Play audio lesson

Linked Lists

Understanding Linked Lists

  • A Linked List is a type of abstract data structure (ADS) that stores elements in a sequential manner.
  • Each element (or node) in a linked list consists of two items: the data and a reference/link to the next node.
  • The start of the list is known as the head. If the list is empty, the head is a null reference.
  • Unlike arrays, linked lists are not stored in continuous blocks of memory. Instead, each element points to the next, forming a chain-like structure.

Types of Linked Lists

  • A Singly Linked List is a type of linked list where each node points to the next node in the sequence. It is called 'singly' because each node has a single link to another node.
  • A Doubly Linked List has nodes with two references - one to the next node and another to the previous node. This allows traversal in both directions.
  • A Circular Linked List is similar to a singly linked list, but the last node in the list points back to the first (head), forming a loop.

Operations on Linked Lists

  • Insertion: Adding a new node to the list. This can be at the beginning (prepending), at the end (appending), or in between two nodes.
  • Deletion: Removing a node from the list, linking any previous node to any next node directly if needed.
  • Traversal: Moving through the list, usually starting at the head and following the references until reaching the end of the list (indicated by a null reference).
  • Searching: Finding if an element exists within the list by traversing the nodes.

Advantages and Disadvantages of Linked Lists

  • Advantages: Linked lists are dynamic and can easily grow or shrink in size as needed. Insertion and deletion operations are generally efficient.
  • Disadvantages: They use more memory than arrays as they need to store the pointers as well as the data. Random access is not allowed - one must start at the head and traverse to reach a particular element.

Complexities of Linked List Operations

  • The time complexity for adding or removing elements from a linked list is O(1), assuming we already know the node on which we are operating.
  • However, search or access operations have a time complexity of O(n), because it may, in the worst case, have to traverse all elements of the list.
  • The space complexity of a linked list is O(n), where n is the number of elements in the list.

Course material for Computer Science, module Abstract Data Structures, topic Linked Lists

Can I trust Adapt’s expertise?

Adapt is already used by over 600,000 students and trusted by over 3,000 schools. Our exam-specific content and assessments are meticulously crafted by expert teachers and examiners.

Find out more about the Adapt app →

Planner

An always up-to-date revision timetable.

A personalised, flexible revision timetable that stays up-to-date automatically.

Content

All the exam resources, in one place.

Over 20,000 topics broken down into manageable lessons with teacher-written, exam-specific lessons.

Assessment

Past-paper questions, with instant feedback.

Unlimited past paper questions with instant examiner feedback on how to improve.

Progress

Track progress, together.

Progress tracking to stay motivated, with real-time updates to the Parent Portal.

Download the app today to start revising for free.