This course is an intensive version of CS106B for students with a strong programming background interested in a rigorous treatment of the topics at an accelerated pace. It includes additional advanced material and more challenging projects.
CS106X teaches advanced programming and abstraction techniques, worrying first about C++ language mechanics and eventually focusing on topics such as recursion, C++ lists and maps, and the implementation techniques used to build complicated, dynamic data structures.
More about Programming Abstractions (CS106B)
Excellence in CS106A, or equivalent; or consent of instructor
To receive a passing grade, you must complete satisfactory work in all areas. If you do not pass the final exam, you will not pass this class regardless of your performance on the assignments. Assignments are graded on a bucket system, because we want to deemphasize the grade and have you focus more on the assignment and our feedback.