Template Method

Create an abstract class that implements a procedure using abstract methods. These abstract methods must be implemented in derived classes to actually perform each step of the procedure.
Strategy

Have the class that uses the algorithm contain a reference to an interface (or abstract class) that has a method specifying a specific algorithm. Each implementation of the interface (or derived class) implements the algorithm as appropriate.
Solver

Review the Template Method and Strategy Patterns in the context of a simple problem.
XTend

Xtend is a good representative of a language exhibiting more modern approach to typing. We review it here and discuss its main features.
Lambda Solver

Explore the same problem in Xtend. In particular, review how the Xtend 'lambdas' mechanism can simplify the solution significantly.
Lab-02

Review the Java variants of the template method and strategy patterns. Reoode these in Xtend. Reimplement Strategy using Lambdas in Xtend