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.
- 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