chinhtcao/cs300-assignment-2 archive