Advanced Programming Techniques - Assignment 1