CMSCI 356 Notes