Programming Abstractions

Course Description

Abstraction and its relation to programming. Software engineering principles of data abstraction and modularity. Object-oriented programming, fundamental data structures (such as stacks, queues, sets) and data-directed design. Recursion and recursive data structures (linked lists, trees, graphs). Introduction to time and space complexity analysis. Uses the programming language C++ covering its basic facilities.

Course Details

  • Status - Full: Students interested in this course can join the class waitlist if one is available, or check Axess periodically to see if space opens up.
  • Class Number: 20906
  • 2021 Schedule [Tentative]: MoTuWeTh 2:00PM - 3:00PM PST
  • Discussion Section Required: Course includes a required discussion section. Students sign up on the first day of class. Multiple options will be available.
  • Online Format - Synchronous: This course is taught in real-time, and students are expected to attend virtual sessions at specific times during the week.


CS 106A or equivalent

Group 3GroupGroup 2