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)
Links and Resources
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.
Using code examples from C++, this presentation explains aggregation and association in a clear and concise way.
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.
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.