Education For All

Text size
  • Increase font size
  • Default font size
  • Decrease font size

Programming Abstractions

Course Summary

This course is based on CS106B Programming Abstractions made available by Stanford University: Stanford Engineering Everywhere under the Creative Commons Attribution 3.0 license.
This course covers such advanced programming topics as recursion, algorithmic analysis, and data abstraction using the C++ programming language, which is similar to both C and Java. Programming Abstractions assumes that you already have familiarity with good programming style and software engineering issues (at the level of Programming Methodology), and that you can use this understanding as a foundation on which to tackle new topics in programming and data abstraction. The lecturer for this course is Julie Zelenski.

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

Reading Material

1. Programming Abstractions in C
Eric S. Roberts, Programming Abstractions in C: A Second Course in Computer Science, Publisher: Addison Wesley, August 1997, ISBN-13: 9780201545418

Course Material

Not available.

Other Resources

Not available.


Not available.

Discussion Forum

For discussion on this topic, please go to the relevant forum for Programming Abstractions. Click the button below to open the forum page in a new window.




Chinese (Simplified) French German Italian Japanese Korean Portuguese Russian Spanish
More educational resources: