Notes only from Jarrett's 447 class. https://jarrettbillingsley.github.io/teaching/classes/2201/cs0447/