Source: https://www.cmu-webapps.org/static/index/syllabus.pdf