CS 166 Course Syllabus