Assignment 3 for CSC309H1 Programming on the Web