Algorithms and programming constructs