lecture notes for cs 4040 1477546