CS301 Lecture 6-10