Programming and Algorithms