IB OOP Standards
IB OOP Standards
D.1.2 Distinguish between an object 2 Students must understand the difference in terms of code definitions, memory use
(definition, template or class) and the potential creation of multiple instantiated objects.
and instantiation. Answer:
(Class vs Object)
D.1.3 Construct unified modelling 3 LINK Connecting computational thinking and program design.
language (UML) diagrams to Answer: provide an example:
represent object
designs.
D.1.4 Interpret UML diagrams. 3 LINK Connecting computational thinking and program design.
Answer: interpret your example:
D.1.5 Describe the process of 2 A simple example with 3–5 objects is suggested. Examples related to D.1.1 could be
decomposition into several employers, traffic simulation models, calculators, calendars, media collections.
related objects.
LINK Thinking abstractly.
D.1.6 Describe the relationships 2 The relationships that should be known are dependency(“uses”), aggregation
between objects for a given (“has a”) and inheritance (“is a”).
problem.
LINK Thinking abstractly.
AIM 4 Applying thinking skills critically to decompose scenarios.
D.1.7 Outline the need to reduce 2 Students should understand that dependencies increase maintenance overheads.
dependencies between objects Answer:
in a given problem.
D.1.8 Construct related objects for a 3 In examinations problems will require the students to construct definitions for no
given problem. more than three objects and to explain their relationships to each other and to any
additional classes defined by the examiners.
D.1.9 Explain the need for different 3 The data types will be restricted to integer, real, string and Boolean.
data types to represent data Answer:
items
D.1.1 Describe how data items can be 2 Parameters will be restricted to pass-by-value of one of the four types in D.1.6.
0 passed to and from actions as Actions may return at most one data item.
parameters. Answer:
D.2 Features of OOP (4 hours) Students should be able to describe the features of OOP that distinguish
it from other approaches to computer programming.
D.2.2 Define the term inheritance. 1 A parent object holds common data and actions for a group of related child
objects. Multiple inheritance is not required.
Answer:
D.2.3 Define the term polymorphism. 1 Actions have the same name but different parameter lists and processes.
Answer:
D.2.4 Explain the advantages of 3 For example, the scope of data should be confined to the object in which it is
encapsulation. defined as far as possible in order to limit side effects and dependencies.
Answer:
D.2.5 Explain the advantages of 3 For example, a parent object holds common data and actions, which enhances
inheritance reuse and reduces maintenance overheads.
Answer:
D.2.6 Explain the advantages of 3 For example, an action in a child object may choose to override actions of a
polymorphism. parent object. This allows an external program to use the same action on a
family of objects without knowing the implementation detail.
Answer:
D.2.7 Describe the advantages of libraries 2 For example, sorts and other complex algorithms and processes do not have to
of objects. be “re-invented”.
Answer:
D.2.8 Describe the disadvantages of OOP. 2 For example, increased complexity for small problems; unsuited to particular
classes of problem.
Answer:
D.2.9 Discuss the use of programming 3 As compared to individuals working alone. Examples include speed to
teams. completion, information hiding to reduce module dependencies, expertise in
narrow fields (eg testing, documentation), etc.
D.2.1 Explain the advantages of 3 Advantages include easier debugging and testing, speedier completion, etc.
0 modularity in program Answer:
development.
D.3.2 Define the terms: method, accessor, 1 These are generally related to the object’s actions. See JETS.
mutator, constructor, signature, Answer:
return value.
D.3.3 Define the terms: private, protected, 1 These are generally related to the OOP features described in D.2. See JETS.
public, extends, static. Answer:
D.3.4 Describe the uses of the primitive 2 In examination questions the primitive types will be limited to int, long, double,
data types and the reference class char and Boolean.
string.
MYP Mathematics: forms of numbers.
Answer:
D.3.5 Construct code to implement 3 Students may be asked to trace, explain or construct algorithms using the
assessment statements D.3.1–D.3.4. concepts associated with the terms.
Use a coding bat Example
D.3.6 Construct code examples related to 3 Students may be asked to trace, explain or construct algorithms using simple
selection statements. and compound if … else constructs.
Use a coding bat Example
D.3.7 Construct code examples related to 3 Students may be asked to trace, explain or construct algorithms using for, while
repetition statements. or do … while loops.
Use a coding bat Example
D.3.8 Construct code examples related to 3 Students may be asked to trace, explain or construct algorithms using static
static arrays. arrays.
Use a coding bat Example
D.3.9 Discuss the features of modern 3 For example, use of UNICODE character sets.
programming languages that enable
internationalization. INT When organizations interact, particularly on an international basis, there
may be issues of language differences.
Answer:
D.3.1 Discuss the ethical and moral 3 For example, adequate testing of products to prevent the possibilities of
0 obligations of programmers. commercial or other damage. Acknowledging the work of other
programmers. The main aims of the Open Source movement should be
known.