Source: https://www.sjsu.edu/cs/docs/pdfs/CS_122_Syllabus_Sec01_Fall2021_Lee.pdf