Assignment #4 for course CS3513 on University College Cork (Ireland)