Object orientated programming
Object-orientated programming may not be familiar to students, but offers a different approach to handling complex data structures and crafting methods efficiently. They need to understand the fundamentals of objects and classes, how inheritance works and how data and methods are encapsulated. They will encounter more advanced techniques such as polymorphism, and will design OOP code from first principles using unified modelling language (UML)
Teaching Java and object oriented programming - creating a snake game
This is a very comprehensive package from Sean Cullinane which consists of lessons to teach the basics of object oriented programming. Students will produce a playable snake game as the outcome.
Aggregation and association
Using code examples from C++, this presentation explains aggregation and association in a clear and concise way.
Object oriented programming in Python – defining classes
This resource consists of a pdf document that provides sample constructs in Python that could be used as a template for practical activity.
UML class diagrams
This document explains and illustrates the different types of UML class diagram. It could be used in the classroom as a revision guide for students.
Object oriented programming with Greenfoot
Greenfoot is an object oriented programming language based on Java. This resource uses a skeleton crab game program to teach the principles of Greenfoot programming. Students complete the activities to complete the program.
Abstract classes
This resource is part of the MIT Open Courseware suite. It consists of a document with key facts and exercises to try on the topic of abstract classes, polymorphism and interfaces. Example code is shown in Java although activities could be completed in any OO language.
Object-oriented programming in Python
This is a document in the form of a tutorial that students could work through independently to gain a good understanding of how to write Python in an object-oriented paradigm. There are a number of code examples that students can work through to develop their own programs.