cs160 software project