course materials for ucr's cs100 "sofware construction" course