CUCSCI3308 independent project