Tower defense (OOP4Fun Book)

A. Greenfoot environment

2h 30min
  • TS A.1 Introduction to Greenfoot: Exploring Game Development with Creativity

Topic learning outcomes: The ability of creating own programs with the use of OOP (100%)

1. Class definition

3h 50min
  • TS 1.1. Exploring Classes and Objects through Game Development with Greenfoot
  • TS 1.2. Creating Classes and Objects through Game Development with Greenfoot

Topic learning outcomes: Understanding the basic principles of object-oriented programming (60%), Understanding the syntax of the Java programming language (20%), The ability of creating own programs with the use of OOP (20%)

2. Algorithm

3h 15min
  • TS 2.1. Introduction to Algorithms and Algorithmic Thinking
  • TS 2.2. Greenfoot Adventures: Unraveling Java Method Invocation, Documentation, and Application Control

Topic learning outcomes: Understanding the basics of algorithmisation (60%), Understanding the syntax of the Java programming language (10%), Analysing program execution based on the source code (20%), The ability of creating own programs with the use of OOP (10%)

3. Branching

3h 35min
  • TS 3.1. Exploring Branching through Game Development with Greenfoot – Incomplete code branching 
  • TS 3.2. Exploring Branching through Game Development with Greenfoot 

Topic learning outcomes: Understanding the basic principles of object-oriented programming (10%), Understanding the basics of algorithmisation (60%), Understanding the syntax of the Java programming language (10%), Analysing program execution based on the source code (10%), The ability of creating own programs with the use of OOP (10%)

4. Variables and expressions

6h 20min
  • TS 4.1. Introduction to Variables and Data Types in the Greenfoot Environment
  • TS 4.2. Introduction to Operators and Expressions in the Greenfoot Environment
  • TS 4.3. Introduction to Constructors in the Greenfoot Environment
  • TS 4.4. Introduction to Attributes in the Greenfoot Environment
  • TS 4.5. Introduction to Constructor Overloading in the Greenfoot Environment

Topic learning outcomes: Understanding the basic principles of object-oriented programming (40%), Understanding the basics of algorithmisation (30%), Understanding the syntax of the Java programming language (20%), The ability of creating own programs with the use of OOP (10%)

5. Association

6h 25min
  • TS 5.1. Greenfoot Objects on a Mission: Exploring Methods and Associations
  • TS 5.2. Greenfoot Objects on a Mission: Exploring Associations and Advanced Method Calls
  • TS 5.3. Greenfoot Objects on a Mission: Towers, Bullets, and Strategic Interactions
  • TS 5.4. Greenfoot Objects on a Mission: Bullets, Enemies, and Game Dynamics

Topic learning outcomes: Understanding the basic principles of object-oriented programming (30%), Understanding the basics of algorithmisation (30%), Understanding the syntax of the Java programming language (10%), The ability of creating own programs with the use of OOP (30%)

6. Inheritance

5h 55min
  • Introduction to Inheritance in the Greenfoot Environment
  • Inheritance Concepts in the Greenfoot Environment (Part I)
  • Inheritance Concepts in the Greenfoot Environment (Part II)
  • Inheritance Concepts in the Greenfoot Environment (Part III)

Topic learning outcomes: Understanding the basic principles of object-oriented programming (40%), Understanding the basics of algorithmisation (20%), Understanding the syntax of the Java programming language (10%), The ability of creating own programs with the use of OOP (30%)

7. Encapsulation

3h 40min
  • TS 7.1. Exploring Encapsulation through Game Development with Greenfoot (Part I)
  • TS 7.2. Exploring Encapsulation through Game Development with Greenfoot (Part II)

Topic learning outcomes: Understanding the basic principles of object-oriented programming (50%), Understanding the basics of algorithmisation (10%), Understanding the syntax of the Java programming language (20%), The ability of creating own programs with the use of OOP (20%)