https://sites.google.com/a/ucsc.edu/luca/classes/cmps-276---software-engineering/cmps-276---software-engineering-spring-2016