ADVANCED PROGRAMMING ASSIGNMENT PROJECT 1