Option D (OOP)

Click on the Topic code (e.g. D.1.1) to download the class slideshow on that topic:
Option D Revision Guide – a VERY useful revision guide for topic D1-4 (with GREAT thanks to C. Ghali)

D1 – Objects as a programming concept (HL & SL)


Point Description PDF More
D.1.1 Outline the general nature of an object D.1.1 Video
D.1.2 Distinguish between an object (definition, template or class) and instantiation D.1.2 Video
D.1.3 Construct UML diagrams to represent object designs D.1.3 UML maker
D.1.4 Interpret UML diagrams D.1.4 Video
D.1.5. Describe the process of decomposition into several related objects D.1.5
D.1.6. Describe the relationships between objects for a given problem D.1.6
D.1.7 Outline the need to reduce dependencies between objects in a given problem D.1.7
D.1.8 Construct related objects for a given problem D.1.8
D.1.9 Explain the need for different data types to represent data items D.1.9
D.1.10 Describe how data items can be passed to and from actions as parameters D.1.10

D2 – Features of OOP (HL & SL)

Point Description PDF More
D.2.1 Define the term: encapsulation  D.2.1
D.2.2 Define the term: inheritance  D.2.2
D.2.3 Define the term: polymorphism  D.2.3
D.2.4 Explain the advantages of encapsulation  D.2.4
D.2.5 Explain the advantages of inheritance  D.2.5
D.2.6 Explain the advantages of polymorphism  D.2.6
D.2.7 Describe the advantages of libraries of objects  D.2.7
D.2.8 Describe the disadvantages of OOP  D.2.8
D.2.9 Discuss the use of programming teams  D.2.9
D.2.10 Explain the advantages of modularity in program development D.2.10

D3 – Program development (HL & SL)

Point Description PDF More
D.3.1 Define the terms: class, identifier, primitive, instance variable, parameter variable, local variable D.3.1
D.3.2 Define the terms: method, accessor, mutator, constructor, signature, return value D.3.2
D.3.3 Define the terms: private, protected, public, extends, static D.3.3
D.3.4 Describe the uses of the primitive data types and the reference class string D.3.4
D.3.5 Construct code to implement assessment statements D.3.5
D.3.6 Construct code examples related to selection statements D.3.6
D.3.7 Construct code examples related to repetition statements D.3.7
D.3.8 Construct code examples related to static arrays D.3.8
D.3.9 Discuss the features of modern programming languages that enable internationalisation D.3.9
D.3.10 Discuss the ethical and moral obligations of programmers D.3.10

D4 – Advanced program development (HL only)

Point Description PDF More
D.4.1 Define the term recursion D.4.1  Video
D.4.2 Describe the application of recursive algorithms  D.4.2  Video
D.4.3 Construct algorithms that use recursion See Topic
5.1.1 – 5.1.3
D.4.4 Trace recursive algorithms
D.4.5 Define the term object reference Oracle Tutorial
D.4.6 Construct algorithms that use reference mechanisms
D.4.7 Identify the features of the abstract data type (ADT) list See Topic
5.1.11 – 5.1.13
D.4.8 Describe applications of lists
D.4.9 Construct algorithms using a static implementation of a list
D.4.10 Construct list algorithms using object references See Oracle Tutorial &
JETS – Java rules
section on lists
D.4.11 Construct algorithms using the standard library collections included in JETS – Java rules
D.4.12 Trace algorithms using the implementations described in assessment statements D.4.9–D.4.11.
D.4.13 Explain the advantages of using library collections
D.4.14 Outline the features of ADT’s stack, queue and binary tree
D.4.15 Explain the importance of style and naming conventions in code

Option D Revision Guide – a VERY useful revision guide for topic D1-4 (with GREAT thanks to C. Ghali)