Logout

Home

D—Object-oriented programming

START  of  STAGE  E

D.1 Objects as a programming concept (6 hours)

The paradigm of object-oriented programming should be introduced through discussion and example.

Extra resource: Java, Java, Java by Ralph Morelli & Ralph Walde. (CC BY 4.0)
A great college level open source license textbook to aid you.


Extra Code Examples for "Read Before Write" and Tracing

IntelliJ Project

May 2014 - Genus and Species Project

November 2014 - Rolling Stock & Trains Project

May 2015 - Library Bookloans Project

November 2015 - Health Clinic Project

May 2016 - Hotels Project

November 2016 - Train Routes Project


D.1.1
Outline the general nature of an object.

D.1.2 Distinguish between an object (definition, template or class) and instantiation. ......:

And so here is a good time for the second spiral of an OOP template class.

         Additional Coding Notes: OOP Template Class Part 1

         Additional Coding Notes: OOP - Objects

         Additional Coding Notes: OOP - Template Class Part 2

         Additional Coding Notes: OOP - Much More Info, in fact maybe more than you need...


D.1.3
Construct unified modelling language (UML) diagrams to represent object designs.

D.1.4 Interpret UML diagrams.

D.1.5 Describe the process of decomposition into several related objects. ......:

A multi-class project, such as Pond, or other examples from D.1.5 notes.


D.1.6
Describe the relationships between objects for a given problem.

D.1.7 Outline the need to reduce dependencies between objects in a given problem.

D.1.8 Construct related objects for a given problem. ......:

Another multi-class project, this time with sorting and searching added in too.


D.1.9
Explain the need for different data types to represent data items.

D.1.10 Describe how data items can be passed to and from actions as parameters.



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.1
Define the term encapsulation.

D.2.2 Define the term inheritance.

D.2.3 Define the term polymorphism.

Looking back on all projects in D.1
And a new project with inheritance and overloaded constructors.
         Netbeans/IntelliJ Projects To Look at: Bank project for Theory and Terms
         SuperHero Game project especially for Inheritance

D.2.4 Explain the advantages of encapsulation.

D.2.5 Explain the advantages of inheritance.

D.2.6 Explain the advantages of polymorphism.

D.2.7 Describe the advantages of libraries of objects.

GUI Introduced - and note, not until here!!!!!! ...or thereabouts

D.2.8 Describe the disadvantages of OOP.

D.2.9 Discuss the use of programming teams.

D.2.10 Explain the advantages of modularity in program development.

Advanced GUI poject (but no tables yet.)



D.3 Program development (20 hours)


D.3.1
Define the terms: class, identifier, primitive, instance variable, parameter variable, local variable.

D.3.2 Define the terms: method, accessor, mutator, constructor, signature, return value.

D.3.3 Define the terms: private, protected, public, extends, static.

D.3.4 Describe the uses of the primitive data types and the reference class string.

D.3.5 Construct code to implement assessment statements D.3.1–D.3.4.

A to-be GUI project, starting with new template class which will include all of the above.


**** For the following, D.3.6 to D.3.10 assume construction of these pieces within OOP.****

D.3.6
Construct code examples related to selection statements.

Taking this GUI project and adding some functionality to it - inputting data, conditional on radio buttons, for example.


D.3.7
Construct code examples related to repetition statements.

GUI table introduced in this project, and for loops used.


D.3.8
Construct code examples related to static arrays.

Arrays of objects... if this is not too big a step.


D.3.9
Discuss the features of modern programming languages that enable internationalization.

D.3.10 Discuss the ethical and moral obligations of programmers.

Now the stage-by-stage GUI Search and Sort of Array of Objects project (made in 2014.) Insta-GUI-OOP-Sort-and-Search project.

 

***OOP Extension***

***OOP (& Topic 5) Recursion***

 

END  of  STAGE  E

go to Stage F (In Topic 5, HL Programming Extension)