lecture notes for cse 3302 728907