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