Gain valuable exposure to advanced computer programming and abstraction techniques. Become knowledgeable about the many implementation methods used to build complicated, dynamic data structures. Harness powerful tools for understanding how the representation and efficiency of data can influence how effectively we can store it.
Limited enrollment for summer quarter. Due to limited space in this course, interested students should enroll as early as possible.
- Chris Gregg Lecturer, Computer Science
- Principles of data abstraction and modularity
- Object-oriented programming, fundamental data structures and data-directed design
- Recursion and recursive data structures (linked lists, trees, graphs)
- Programming language C++ basics
- Introduction to time and space complexity analysis
3.0 - 5.0
Students enrolling under the non degree option are required to take the course for 5.0 units.
Programming Methodology (Stanford Course: CS106A) or equivalent