CS106B - Programming Abstractions
- Free
- No certificate
Programming Abstractions is the second course in Stanford's CS106 sequence, taught here by Julie Zelenski and published in full on Stanford Engineering Everywhere. It moves from Java to C++ and covers the more advanced introductory topics: abstraction and its relation to programming, data abstraction and modularity, object-oriented programming, the fundamental data structures (stacks, queues, sets), data-directed design, recursion and recursive data structures such as linked lists, trees and graphs, and an introduction to time and space complexity analysis. SEE provides 27 lectures of about 40 to 52 minutes with transcripts, together with handouts, assignments, exams and the required software.
The page states that the course assumes solid performance in Programming Methodology or a comparable introductory course, including high-school AP courses, and familiarity with good programming style. Access is free with no registration and no updates since the SEE pilot ended; there is no credit, certificate or graded feedback, and the content is licensed CC BY-NC-SA 4.0.
What you’ll learn
- Program in C++ using its basic facilities and standard containers
- Apply data abstraction and modularity to larger programs
- Use fundamental data structures such as stacks, queues, sets, linked lists, trees and graphs
- Write and reason about recursive functions and recursive data structures
- Analyse the time and space complexity of algorithms
Who it’s for
Learners who have finished a first programming course and want data structures, recursion and complexity analysis taught in C++.
Source: Stanford Online (opens in a new tab) · Verified · Report a change
More free Stanford courses
Every Stanford course we have verified, with cost and certificate terms compared.
ProgrammingAll free programming courses
Free and free-to-audit programming courses from every provider, ranked.