Topic 2 - Algorithms and programming constructs