Course objectives list
Lectures
Labs
1. week: Not Too Short Introduction to OOP
- Set up the environment for working in the course.
- To master AlienBreed game rules.
- To understand objects and classes by playing the AlienBreed game.
- To get familiar with class diagram .
- TO get familiar with data encapsulation .
2. week: Red Alert: Reactor Overheat!
- Learn to create your own classes, their constructors and methods.
- Learn to overload implementation of a method for various types of parameters.
- Learn to represent the state of an object by instance variables (encapsulation of data).
- Learn to manage visibility of instance variables and methods.
- Learn to create object instances from classes.
3. week: Powering Devices
- Learning to use keyword
this
in your code. - Learning to create parametrized constructors.
- Understanding usage of reference as a method parameter.
4. week: And... Action!
- Inheritance
- Overriding methods
- Polymorphism
- Using keyword super.
- Using method references.
5. week: Let's Have an Agreement
- Interfaces
- Polymorphism
- Refactoring
6. week: I knew you'd come (Ripley)
- Use static method
main()
for starting the application - Learn to create and use your own enumeration type
- Get familiar with design pattern Observer (listener, callback)
8. week: Usable Items
- Use marker interface for distinguishing subgroup of objects
- Practice generic programming
- Learn to use design pattern Iterator
- Learn to raise and handle exceptions
10. week: Intricate Devices of Life and Death
- Precvičiť si použitie návrhového vzoru Observer .
- Implementovať vlastné funkcionálne rozhranie.
- Využiť kompozíciu namiesto dedenia ("Composition over inheritance").
- Využiť návrhový vzor Dekorátor na kompozíciu správania aktérov.
Assignments
7. week: Problemset 1: Training
- Testing your knowledge of basic principles of object-oriented programming.
11. week: Problemset 2: Project Ellen
- Implementovať vlastný herný level.
- Implementovať vlastných aktérov.
- Navrhnúť a implementovať vlastnú funkcionalitu objektovo orientovaným spôsobom.
- Identifikovať a použiť návrhové vzory vo vlastnom riešení.