Stanford Root

Schedule

Stanford Root

Schedule

CS 106B

Programming Abstractions

UNITS:3-5
GRADING:Letter or Credit/No Credit
LEVEL:Undergrad
GER:WAY-FR

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. Prerequisite: CS 106A or equivalent.

Syllabus for selected term:
View Autumn 2026 Syllabus

Sections

3 Terms
Lecture 1Open
ID: 1806
0 / 999 enrolled
DAYS:Monday, Wednesday, Friday
TIME:12:30 PM – 1:20 PM
LOCATION:Hewlett Teaching Center 200
INSTRUCTOR:
Bailey, Cynthia
units
Discussion 1Open
ID: 1984
0 / 15 enrolled
DAYS:Wednesday
TIME:2:30 PM – 3:20 PM
LOCATION:Thornton 207
units
Discussion 2Open
ID: 1985
0 / 15 enrolled
DAYS:Wednesday
TIME:3:30 PM – 4:20 PM
LOCATION:Departmental Room
units
Discussion 3Open
ID: 1986
0 / 15 enrolled
DAYS:Wednesday
TIME:3:30 PM – 4:20 PM
LOCATION:Lathrop 294
units
Discussion 4Open
ID: 1987
0 / 15 enrolled
DAYS:Wednesday
TIME:4:30 PM – 5:20 PM
LOCATION:20-21B
units
Discussion 5Open
ID: 1988
0 / 15 enrolled
DAYS:Wednesday
TIME:4:30 PM – 5:20 PM
LOCATION:Lathrop 294
units
Discussion 6Open
ID: 1989
0 / 15 enrolled
DAYS:Wednesday
TIME:4:30 PM – 5:20 PM
LOCATION:Thornton 207
units
Discussion 7Open
ID: 2024
0 / 15 enrolled
DAYS:Wednesday
TIME:5:30 PM – 6:20 PM
LOCATION:Thornton 210
units
Discussion 8Open
ID: 2025
0 / 15 enrolled
DAYS:Wednesday
TIME:5:30 PM – 6:20 PM
LOCATION:Lathrop 294
units
Discussion 9Open
ID: 2026
0 / 15 enrolled
DAYS:Wednesday
TIME:5:30 PM – 6:20 PM
LOCATION:Thornton 207
units
Discussion 10Open
ID: 2033
0 / 15 enrolled
DAYS:Wednesday
TIME:6:30 PM – 7:20 PM
LOCATION:Departmental Room
units
Discussion 11Open
ID: 2034
0 / 15 enrolled
DAYS:Wednesday
TIME:6:30 PM – 7:20 PM
LOCATION:Thornton 207
units
Discussion 12Open
ID: 2035
0 / 15 enrolled
DAYS:Thursday
TIME:8:30 AM – 9:20 AM
LOCATION:Departmental Room
units
Discussion 13Open
ID: 2036
0 / 15 enrolled
DAYS:Thursday
TIME:9:30 AM – 10:20 AM
LOCATION:Lathrop 296
units
Discussion 14Open
ID: 2037
0 / 15 enrolled
DAYS:Thursday
TIME:9:30 AM – 10:20 AM
LOCATION:160-322
units
Discussion 15Open
ID: 2038
0 / 15 enrolled
DAYS:Thursday
TIME:10:30 AM – 11:20 AM
LOCATION:Departmental Room
units
Discussion 16Open
ID: 2084
0 / 15 enrolled
DAYS:Friday
TIME:8:30 AM – 9:20 AM
LOCATION:Departmental Room
units
Discussion 17Open
ID: 2085
0 / 15 enrolled
DAYS:Friday
TIME:9:30 AM – 10:20 AM
LOCATION:160-326
units
Discussion 18Open
ID: 2086
0 / 15 enrolled
DAYS:Friday
TIME:9:30 AM – 10:20 AM
LOCATION:Thornton 207
units
Discussion 19Open
ID: 2087
0 / 15 enrolled
DAYS:Friday
TIME:9:30 AM – 10:20 AM
LOCATION:Econ 218
units
Discussion 20Open
ID: 2088
0 / 15 enrolled
DAYS:Friday
TIME:10:30 AM – 11:20 AM
LOCATION:260-011
units
Discussion 21Open
ID: 2089
0 / 15 enrolled
DAYS:Friday
TIME:10:30 AM – 11:20 AM
LOCATION:50-51P
units
Discussion 22Open
ID: 2090
0 / 15 enrolled
DAYS:Friday
TIME:10:30 AM – 11:20 AM
LOCATION:Econ 218
units
Discussion 23Open
ID: 2091
0 / 15 enrolled
DAYS:Friday
TIME:10:30 AM – 11:20 AM
LOCATION:Thornton 210
units
Discussion 24Open
ID: 2092
0 / 15 enrolled
DAYS:Friday
TIME:11:30 AM – 12:20 PM
LOCATION:Econ 218
units
Discussion 25Open
ID: 2093
0 / 15 enrolled
DAYS:Friday
TIME:11:30 AM – 12:20 PM
LOCATION:Departmental Room
units
Discussion 26Open
ID: 2094
0 / 15 enrolled
DAYS:Friday
TIME:11:30 AM – 12:20 PM
LOCATION:160-125
units
Discussion 27Open
ID: 2095
0 / 15 enrolled
DAYS:Friday
TIME:11:30 AM – 12:20 PM
LOCATION:STLC 118
units
Discussion 28Open
ID: 2096
0 / 15 enrolled
DAYS:Friday
TIME:12:30 PM – 1:20 PM
LOCATION:Departmental Room
units
Discussion 29Open
ID: 2097
0 / 15 enrolled
DAYS:Friday
TIME:12:30 PM – 1:20 PM
LOCATION:160-322
units
Discussion 30Open
ID: 2098
0 / 15 enrolled
DAYS:Friday
TIME:12:30 PM – 1:20 PM
LOCATION:Econ 218
units
Discussion 31Open
ID: 2099
0 / 15 enrolled
DAYS:Friday
TIME:12:30 PM – 1:20 PM
LOCATION:Lathrop 294
units
Discussion 32Open
ID: 2100
0 / 15 enrolled
DAYS:Friday
TIME:2:30 PM – 3:20 PM
LOCATION:Lathrop 290
units
Discussion 33Open
ID: 2101
0 / 15 enrolled
DAYS:Friday
TIME:2:30 PM – 3:20 PM
LOCATION:260-007
units
Discussion 34Open
ID: 2102
0 / 15 enrolled
DAYS:Friday
TIME:2:30 PM – 3:20 PM
LOCATION:160-322
units
Discussion 35Open
ID: 2103
0 / 15 enrolled
DAYS:Friday
TIME:2:30 PM – 3:20 PM
LOCATION:160-323
units
Discussion 36Open
ID: 2104
0 / 15 enrolled
DAYS:Friday
TIME:2:30 PM – 3:20 PM
LOCATION:Lathrop 294
units
Discussion 37Open
ID: 2105
0 / 15 enrolled
DAYS:Friday
TIME:2:30 PM – 3:20 PM
LOCATION:Lathrop 292
units
Discussion 38Open
ID: 2106
0 / 15 enrolled
DAYS:Friday
TIME:3:30 PM – 4:20 PM
LOCATION:Departmental Room
units
Discussion 39Open
ID: 2107
0 / 15 enrolled
DAYS:Friday
TIME:3:30 PM – 4:20 PM
LOCATION:Gates100
units
Discussion 40Open
ID: 2108
0 / 15 enrolled
DAYS:Friday
TIME:3:30 PM – 4:20 PM
LOCATION:260-007
units
Discussion 41Open
ID: 2109
0 / 15 enrolled
DAYS:Friday
TIME:3:30 PM – 4:20 PM
LOCATION:Knight Building, Room K18
units

CS 106B: Programming Abstractions

3-5 units · Letter or Credit/No Credit · GER: WAY-FR

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. Prerequisite: 106A or equivalent.

Offered in Autumn 2026, Winter 2027, Spring 2027 at Stanford University.

Autumn 2026 sections

  • Discussion — Thursday 8:30 AM – 9:20 AM — Departmental Room (Undergrad)
  • Discussion — Wednesday 6:30 PM – 7:20 PM — Departmental Room (Undergrad)
  • Discussion — Thursday 10:30 AM – 11:20 AM — Departmental Room (Undergrad)
  • Discussion — Wednesday 3:30 PM – 4:20 PM — Departmental Room (Undergrad)
  • Discussion — Friday 8:30 AM – 9:20 AM — Departmental Room (Undergrad)
  • Discussion — Friday 11:30 AM – 12:20 PM — Departmental Room (Undergrad)
  • Discussion — Friday 12:30 PM – 1:20 PM — Departmental Room (Undergrad)
  • Discussion — Friday 3:30 PM – 4:20 PM — Departmental Room (Undergrad)
  • Discussion — Wednesday 3:30 PM – 4:20 PM — Lathrop 294 (Undergrad)
  • Discussion — Wednesday 2:30 PM – 3:20 PM — Thornton 207 (Undergrad)
  • Discussion — Wednesday 4:30 PM – 5:20 PM — Thornton 207 (Undergrad)
  • Discussion — Wednesday 4:30 PM – 5:20 PM — Lathrop 294 (Undergrad)
  • Discussion — Wednesday 6:30 PM – 7:20 PM — Thornton 207 (Undergrad)
  • Discussion — Thursday 9:30 AM – 10:20 AM — Lathrop 296 (Undergrad)
  • Discussion — Thursday 9:30 AM – 10:20 AM — 160-322 (Undergrad)
  • Discussion — Wednesday 5:30 PM – 6:20 PM — Lathrop 294 (Undergrad)
  • Discussion — Wednesday 5:30 PM – 6:20 PM — Thornton 210 (Undergrad)
  • Discussion — Wednesday 5:30 PM – 6:20 PM — Thornton 207 (Undergrad)
  • Discussion — Friday 3:30 PM – 4:20 PM — 260-007 (Undergrad)
  • Discussion — Friday 3:30 PM – 4:20 PM — Knight Building, Room K18 (Undergrad)
  • Discussion — Friday 2:30 PM – 3:20 PM — Lathrop 294 (Undergrad)
  • Discussion — Friday 2:30 PM – 3:20 PM — Lathrop 292 (Undergrad)
  • Discussion — Friday 3:30 PM – 4:20 PM — Gates100 (Undergrad)
  • Discussion — Friday 2:30 PM – 3:20 PM — Lathrop 290 (Undergrad)
  • Discussion — Friday 2:30 PM – 3:20 PM — 260-007 (Undergrad)
  • Discussion — Friday 2:30 PM – 3:20 PM — 160-322 (Undergrad)
  • Discussion — Friday 2:30 PM – 3:20 PM — 160-323 (Undergrad)
  • Discussion — Friday 12:30 PM – 1:20 PM — 160-322 (Undergrad)
  • Discussion — Friday 12:30 PM – 1:20 PM — Econ 218 (Undergrad)
  • Discussion — Friday 12:30 PM – 1:20 PM — Lathrop 294 (Undergrad)
  • Discussion — Friday 11:30 AM – 12:20 PM — Econ 218 (Undergrad)
  • Discussion — Friday 11:30 AM – 12:20 PM — STLC 118 (Undergrad)
  • Discussion — Friday 11:30 AM – 12:20 PM — 160-125 (Undergrad)
  • Discussion — Friday 10:30 AM – 11:20 AM — 50-51P (Undergrad)
  • Discussion — Friday 10:30 AM – 11:20 AM — 260-011 (Undergrad)
  • Discussion — Friday 10:30 AM – 11:20 AM — Thornton 210 (Undergrad)
  • Discussion — Friday 10:30 AM – 11:20 AM — Econ 218 (Undergrad)
  • Discussion — Friday 9:30 AM – 10:20 AM — 160-326 (Undergrad)
  • Discussion — Friday 9:30 AM – 10:20 AM — Econ 218 (Undergrad)
  • Discussion — Friday 9:30 AM – 10:20 AM — Thornton 207 (Undergrad)
  • Discussion — Wednesday 4:30 PM – 5:20 PM — 20-21B (Undergrad)
  • Lecture — Monday Wednesday Friday 12:30 PM – 1:20 PM — Hewlett Teaching Center 200 — Bailey, Cynthia (Undergrad)

Winter 2027 sections

  • Discussion — Thursday 5:30 PM – 6:20 PM (Undergrad)
  • Discussion — Thursday 4:30 PM – 5:20 PM (Undergrad)
  • Discussion — Thursday 4:30 PM – 5:20 PM (Undergrad)
  • Discussion — Thursday 4:30 PM – 5:20 PM (Undergrad)
  • Discussion — Thursday 4:30 PM – 5:20 PM (Undergrad)
  • Discussion — Thursday 4:30 PM – 5:20 PM (Undergrad)
  • Discussion — Thursday 10:30 AM – 11:20 AM (Undergrad)
  • Discussion — Thursday 10:30 AM – 11:20 AM (Undergrad)
  • Discussion — Thursday 10:30 AM – 11:20 AM (Undergrad)
  • Discussion — Thursday 10:30 AM – 11:20 AM (Undergrad)
  • Discussion — Thursday 9:30 AM – 10:20 AM (Undergrad)
  • Discussion — Thursday 9:30 AM – 10:20 AM (Undergrad)
  • Discussion — Thursday 8:30 AM – 9:20 AM (Undergrad)
  • Discussion — Wednesday 6:30 PM – 7:20 PM (Undergrad)
  • Discussion — Wednesday 6:30 PM – 7:20 PM (Undergrad)
  • Discussion — Wednesday 5:30 PM – 6:20 PM (Undergrad)
  • Discussion — Friday 10:30 AM – 11:20 AM (Undergrad)
  • Discussion — Friday 10:30 AM – 11:20 AM (Undergrad)
  • Discussion — Friday 10:30 AM – 11:20 AM (Undergrad)
  • Discussion — Friday 10:30 AM – 11:20 AM (Undergrad)
  • Discussion — Friday 9:30 AM – 10:20 AM (Undergrad)
  • Discussion — Friday 9:30 AM – 10:20 AM (Undergrad)
  • Discussion — Friday 8:30 AM – 9:20 AM (Undergrad)
  • Discussion — Friday 9:30 AM – 10:20 AM (Undergrad)
  • Discussion — Thursday 7:30 PM – 8:20 PM (Undergrad)
  • Discussion — Thursday 7:30 PM – 8:20 PM (Undergrad)
  • Discussion — Thursday 6:30 PM – 7:20 PM (Undergrad)
  • Discussion — Thursday 7:30 PM – 8:20 PM (Undergrad)
  • Discussion — Thursday 5:30 PM – 6:20 PM (Undergrad)
  • Discussion — Thursday 6:30 PM – 7:20 PM (Undergrad)
  • Discussion — Thursday 5:30 PM – 6:20 PM (Undergrad)
  • Discussion — Thursday 5:30 PM – 6:20 PM (Undergrad)
  • Discussion — Friday 12:30 PM – 1:20 PM (Undergrad)
  • Discussion — Friday 12:30 PM – 1:20 PM (Undergrad)
  • Discussion — Friday 11:30 AM – 12:20 PM (Undergrad)
  • Discussion — Friday 11:30 AM – 12:20 PM (Undergrad)
  • Discussion — Friday 11:30 AM – 12:20 PM (Undergrad)
  • Discussion — Friday 11:30 AM – 12:20 PM (Undergrad)
  • Discussion — Wednesday 4:30 PM – 5:20 PM (Undergrad)
  • Discussion — Wednesday 3:30 PM – 4:20 PM (Undergrad)
  • Discussion — Wednesday 4:30 PM – 5:20 PM (Undergrad)
  • Discussion — Wednesday 4:30 PM – 5:20 PM (Undergrad)
  • Discussion — Wednesday 5:30 PM – 6:20 PM (Undergrad)
  • Discussion — Wednesday 5:30 PM – 6:20 PM (Undergrad)
  • Discussion — Friday 2:30 PM – 3:20 PM (Undergrad)
  • Discussion — Friday 12:30 PM – 1:20 PM (Undergrad)
  • Discussion — Friday 12:30 PM – 1:20 PM (Undergrad)
  • Discussion — Friday 2:30 PM – 3:20 PM (Undergrad)
  • Discussion — Friday 2:30 PM – 3:20 PM (Undergrad)
  • Discussion — Friday 2:30 PM – 3:20 PM (Undergrad)
  • Discussion — Friday 2:30 PM – 3:20 PM (Undergrad)
  • Discussion — Wednesday 3:30 PM – 4:20 PM (Undergrad)
  • Discussion — Wednesday 2:30 PM – 3:20 PM (Undergrad)
  • Discussion — Friday 3:30 PM – 4:20 PM (Undergrad)
  • Discussion — Friday 3:30 PM – 4:20 PM (Undergrad)
  • Discussion — Friday 3:30 PM – 4:20 PM (Undergrad)
  • Discussion — Friday 3:30 PM – 4:20 PM (Undergrad)
  • Discussion — Friday 3:30 PM – 4:20 PM (Undergrad)
  • Discussion — Friday 3:30 PM – 4:20 PM (Undergrad)
  • Discussion — Friday 2:30 PM – 3:20 PM (Undergrad)
  • Lecture — TBA TBA (Undergrad)

Spring 2027 sections

  • Discussion — Friday 3:30 PM – 4:20 PM (Undergrad)
  • Discussion — Friday 3:30 PM – 4:20 PM (Undergrad)
  • Discussion — Friday 2:30 PM – 3:20 PM (Undergrad)
  • Discussion — Friday 2:30 PM – 3:20 PM (Undergrad)
  • Discussion — Friday 3:30 PM – 4:20 PM (Undergrad)
  • Discussion — Friday 3:30 PM – 4:20 PM (Undergrad)
  • Discussion — Friday 3:30 PM – 4:20 PM (Undergrad)
  • Discussion — Friday 3:30 PM – 4:20 PM (Undergrad)
  • Lecture — Monday Wednesday Friday 1:30 PM – 2:20 PM — Szumlanski, Sean (Undergrad)
  • Discussion — Friday 2:30 PM – 3:20 PM (Undergrad)
  • Discussion — Friday 2:30 PM – 3:20 PM (Undergrad)
  • Discussion — Friday 2:30 PM – 3:20 PM (Undergrad)
  • Discussion — Friday 2:30 PM – 3:20 PM (Undergrad)
  • Discussion — Friday 12:30 PM – 1:20 PM (Undergrad)
  • Discussion — Friday 12:30 PM – 1:20 PM (Undergrad)
  • Discussion — Friday 12:30 PM – 1:20 PM (Undergrad)
  • Discussion — Friday 12:30 PM – 1:20 PM (Undergrad)
  • Discussion — Friday 12:30 PM – 1:20 PM (Undergrad)
  • Discussion — Friday 10:30 AM – 11:20 AM (Undergrad)
  • Discussion — Friday 11:30 AM – 12:20 PM (Undergrad)
  • Discussion — Friday 11:30 AM – 12:20 PM (Undergrad)
  • Discussion — Wednesday 3:30 PM – 4:20 PM (Undergrad)
  • Discussion — Wednesday 4:30 PM – 5:20 PM (Undergrad)
  • Discussion — Wednesday 3:30 PM – 4:20 PM (Undergrad)
  • Discussion — Wednesday 2:30 PM – 3:20 PM (Undergrad)
  • Discussion — Wednesday 5:30 PM – 6:20 PM (Undergrad)
  • Discussion — Wednesday 5:30 PM – 6:20 PM (Undergrad)
  • Discussion — Wednesday 4:30 PM – 5:20 PM (Undergrad)
  • Discussion — Wednesday 4:30 PM – 5:20 PM (Undergrad)
  • Discussion — Wednesday 6:30 PM – 7:20 PM (Undergrad)
  • Discussion — Wednesday 6:30 PM – 7:20 PM (Undergrad)
  • Discussion — Wednesday 5:30 PM – 6:20 PM (Undergrad)
  • Discussion — Thursday 8:30 AM – 9:20 AM (Undergrad)
  • Discussion — Thursday 9:30 AM – 10:20 AM (Undergrad)
  • Discussion — Thursday 9:30 AM – 10:20 AM (Undergrad)
  • Discussion — Thursday 10:30 AM – 11:20 AM (Undergrad)
  • Discussion — Thursday 10:30 AM – 11:20 AM (Undergrad)
  • Discussion — Thursday 10:30 AM – 11:20 AM (Undergrad)
  • Discussion — Thursday 4:30 PM – 5:20 PM (Undergrad)
  • Discussion — Thursday 4:30 PM – 5:20 PM (Undergrad)
  • Discussion — Thursday 4:30 PM – 5:20 PM (Undergrad)
  • Discussion — Thursday 4:30 PM – 5:20 PM (Undergrad)
  • Discussion — Thursday 4:30 PM – 5:20 PM (Undergrad)
  • Discussion — Thursday 5:30 PM – 6:20 PM (Undergrad)
  • Discussion — Thursday 5:30 PM – 6:20 PM (Undergrad)
  • Discussion — Thursday 5:30 PM – 6:20 PM (Undergrad)
  • Discussion — Thursday 5:30 PM – 6:20 PM (Undergrad)
  • Discussion — Thursday 6:30 PM – 7:20 PM (Undergrad)
  • Discussion — Thursday 6:30 PM – 7:20 PM (Undergrad)
  • Discussion — Thursday 7:30 PM – 8:20 PM (Undergrad)
  • Discussion — Thursday 6:30 PM – 7:20 PM (Undergrad)
  • Discussion — Friday 8:30 AM – 9:20 AM (Undergrad)
  • Discussion — Thursday 7:30 PM – 8:20 PM (Undergrad)
  • Discussion — Friday 9:30 AM – 10:20 AM (Undergrad)
  • Discussion — Friday 9:30 AM – 10:20 AM (Undergrad)
  • Discussion — Friday 10:30 AM – 11:20 AM (Undergrad)
  • Discussion — Friday 9:30 AM – 10:20 AM (Undergrad)
  • Discussion — Friday 10:30 AM – 11:20 AM (Undergrad)
  • Discussion — Friday 10:30 AM – 11:20 AM (Undergrad)
  • Discussion — Friday 11:30 AM – 12:20 PM (Undergrad)
  • Discussion — Friday 11:30 AM – 12:20 PM (Undergrad)

More CS courses

  • CS 103: Mathematical Foundations of Computing
  • CS 103ACE: Mathematical Problem-solving Strategies
  • CS 104: Introduction to Essential Software Systems and Tools
  • CS 105: Introduction to Computers
  • CS 106A: Programming Methodology
  • CS 106AX: Programming Methodologies in JavaScript and Python (Accelerated)
  • CS 106E: Exploring Computing
  • CS 106EA: Exploring Artificial Intelligence
  • CS 106L: Standard C++ Programming Laboratory
  • CS 106M: Enrichment Adventures in Programming Abstractions
  • CS 106S: Coding for Social Good
  • CS 107: Computer Organization and Systems

All CS courses · All departments