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.
- C++ Strings
- Coding Standards
- Scanners, maps, and sets
- Biorhythms and Arrays
- Linked lists
- Huffman coding
- Generalization of trees
- Python basics
- Victoria Kirst Instructor, Computer Science
- Marty Stepp Lecturer, Computer Science
3.0 - 5.0
Students enrolling under the non degree option are required to take the course for 5.0 units.
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.
Excellence in CS106A, or equivalent; or consent of instructor