B4 Abstract data types (HL)

For the new IB Diploma Computer Science syllabus to start teaching in August 2025, and for first examinations in May 2027.

Unit and lesson overviews will be gradually published as developed.

Lesson 1: Intro to ADT (HL)

B4.1.1 Explain the properties and purpose of ADTs in programming.

  • The core principles of ADTs, including their purpose in providing a high-level description of data structures and their associated operations

Lesson 2,3,4: Linked lists (HL)

B4.1.2 Evaluate linked lists.

  • Lists must include singly, doubly, circular
  • Sketch of linked lists and implementation of basic operations diagrammatically, such as insertion, deletion, traversal, search
  • The advantages and disadvantages of using linked lists over other data structures like arrays, particularly in terms of memory utilization and performance

B4.1.3 Construct and apply linked lists: singly, doubly and circular.

  • The basic operations on a linked list, such as insertion, deletion, traversal, search

Lesson 5,6,7: Binary search trees (HL)

B4.1.4 Explain the structures and properties of BSTs.

  • How binary search trees (BSTs) are used for data organization
  • Insert, delete, traverse and searching nodes in a BST
  • Sketching a BST as a tree diagram

Lesson 8,9,10: Sets (HL)

B4.1.5 Construct and apply sets as an ADT.

  • The fundamental characteristics of sets, including their unordered nature and the uniqueness of elements
  • Operations: union, intersection and difference
  • Code to check if an element is in a set, to add an element to a set, to remove an element, and to check whether one set is a subset/superset of another set

Lesson 11,12,13: Hashmaps (HL)

B4.1.6 Explain the core principles of ADTs.

  • High-level description of data structures and their associated operations and purpose
  • The underlying mechanics of hash tables, including hashing functions, collision resolution strategies and load factors
  • The underlying mechanics of sets to store and manage data
  • HashMap and HashSet in Java; dict and set in Python

Lesson 14,15,16: Programming scenarios (HL)

Lesson 17,18,19: Exam style questions (HL)

Lesson 20: Assessment (HL)


Copyright © Paul Baumgarten.