Announcements
March 15th, 2015
- The review session for the final exam will be held on March 15 from 3:00 to 5:00pm in Hewlett 200. The winners of the Basic Contest will be announced at the beginning of the review session, after which we’ll conduct the random grand prize drawing.
March 5th, 2015
- The YEAH hours for the Basic assignment will be held on Thursday, March 6, from 7:00 to 9:00 in Lathrop 282.
March 4th, 2015
- I have a conflicting meeting and will be unable to make my usual “office hours” in Bytes after today’s class.
- The Women in Computer Science (WiCS) organization is holding the second of its informal dinners for this quarter tonight from 6:00-8:00pm in the Gates Fifth Floor Lounge. All are invited.
February 24th, 2015
- I’m at a meeting in Chicago and will be unable to make my office hours this Tuesday.
February 18th, 2015
- The YEAH session for the Priority Queue assignment will be held this evening from 7:00-9:00P.M. in the Braun Lecture Hall in the Chemistry building.
February 11th, 2015
- The YNQSEAH (Your Not-Quite-So-Early Assignment Help) session for the Boggle assignment will be held this evening from 7:30-9:30P.M. (note the later starting time) in Annenberg Auditorium.
- Also, I will be unable to hold my regular Wednesday afternoon coffee hour this week. Coffee hour will be back next Wednesday.
February 9th, 2015
- If you are looking for old handouts to bring into the exam, you can find all previous handouts in the handout hangout in the lobby near Gates 187.
February 8th, 2015
- The review session for the midterm will be held in Bishop Auditorium at 7:00P.M.
February 6th, 2015
-
There is a small error in question 1 of the second practice exam
(Handout #30) as it was distributed today.
The first line in the function
puzzle
should contain an asterisk before the variable namelist
, as follows:int *list = new int[n];
The web version of the handout has been corrected.
February 5th, 2015
- YEAH Hours for Assignment #4 (Boggle) are happening this evening, February 5, at 7:00P.M. in 420-041. We’re also planning to hold a second YNQSEAH (Your Not-Quite-So-Early Assignment Help) session next Wednesday evening.
February 4th, 2015
- As announced in class today, I’ve increased everyone’s initial late-day account to three days from the original two.
January 28th, 2015
- YEAH Hours for Assignment #3 are happening this evening, January 28, at 7:00P.M. in Braun Auditorium in the Chemistry Building.
January 22nd, 2015
- YEAH (Your Early Assignment Help) Hours are happening this evening, January 22, at 7:00P.M. in Hewlett B-201 (next door to the regular classroom).
January 19th, 2015
- Following a 25-year tradition, I have organized a showing for the Monday holiday of Dr. Martin Luther King, Jr.’s “I Have a Dream” address to the 1963 March on Washington for Jobs and Freedom. The showing will be held at 2:15P.M. on Monday, January 19, in Gates B-12. It’s entirely optional, but the film is well worth seeing, especially in this time of heightened concern about the continuing effects of racism in the United States.
January 12th, 2015
- Missed Section Signups? Have no fear, late signups will open at 5:00P.M. on Tuesday here.
January 8th, 2015
- Sign Up for Section! Section Signups open today at 5:00P.M. and close Sunday at 5:00 P.M. . You can sign up for sections here.
January 5th, 2015
- Welcome to CS 106B. CS 106B (Programming Abstractions) meets today at 2:15P.M. in Hewlett 200.
- Tresidder LaIR Office Hours
- C and C++ Standard Library Docs
- Good Programming Style (Arizona)
- Course Reader PDF
- Qt Creator
- Stanford C++ Libraries
- Lecture Videos
- Submitter
Assignments
- Blank Project
- Assignment 1: Simple C++
- Assignment 2: Using ADTs
- Assignment 3: Recursion
- Assignment 4: Boggle
- Assignment 5: PQueue
- Assignment 6: Basic
Contests
Handouts
- 01 Course Placement
- 02 Course Information
- 03 Honor Code
- 04 Functions in C++
- 05 Assignment #1
- 06 Strings and Streams
- 07 Submitting Assignments
- 08 Collection Classes #1
- 09 Section #1 (Simple C++)
- 09A Solutions to Section #1
- 10 Collection Classes #2
- 11 Designing Classes
- 12 Assignment #2
- 13 Random Writer Contest
- 14 Recursive Strategies
- 15 Section #2 (ADTs)
- 15A Solutions to Section #2
- 16 Recursive Backtracking
- 17 Backtracking and Games
- 18 Assignment #3
- 19 Section #3 (Recursion)
- 19A Solutions to Section #3
- 20 Sorting and Efficiency
- 21 Memory and C++
- 22 Dynamic Allocation
- 23 Section #4 (Memory Diagrams)
- 23A Solutions to Section #4
- 24 Problem Set #1
- 24A Answers to Problem Set #1
- 25 Editor Buffers
- 26 Practice Midterm #1
- 26A Answers to Practice Midterm #1
- 26J Julie’s Exam Strategies
- 27 Assignment #4
- 28 Recursion Contest
- 29 Linked Lists
- 30 Practice Midterm #2
- 24 Problem Set #1 (Answers)
- 30 Answers to Practice Midterm #2
- 31 Template Structures
- 32 Section #5 (Editor Buffers)
- 32a Solutions to Section #5
- 33 Implementing Queues
- 34 Maps and Hashing
- 35 Assignment #5
- 36 Answers to the Midterm Exam
- 37 Trees
- 38 Section #6 (Trees and Heaps)
- 38 Solutions to Section #6
- 39 Sets
- 40 Graphs
- 41 Section #7 (Graphs)
- 41A Solutions to Section #7
- 42 Graph Algorithms
- 43 Inheritance
- 44 Assignment #6
- 45 Basic Contest
- 46 Expression Trees
- 47 Section #8 (Expressions)
- 47A Solutions to Section #8
- 48 Problem Set 2
- 48 Answers to Problem Set 2
- 49 Parsing Strategies
- 50 Practice Final 1
- 50A Practice Final 1 Solutions
- 51 The STL and Const
- 52 Practice Final 2
- 52A Practice Final 2 Solutions
- 53 More Algorithms
- 54 Functions as Data
- 55 Looking Ahead
Lectures
- 01 Introduction
- 02 Functions in C++
- 03 Strings and Streams
- 04 Collection Classes #1
- 05 Collection Classes #2
- 06 Designing Classes
- 07 Recursive Strategies
- 08 Recursive Backtracking
- 09 Backtracking and Games
- 10 Sorting and Efficiency
- 11 Memory and C++
- 12 Dynamic Allocation
- 13 Editor Buffers
- 14 Linked Lists
- 15 Template Structures
- 16 Implementing Queues
- 17 Maps and Hashing
- 18 Trees
- 19 Sets
- 20 Graphs
- 21 Graph Algorithms
- 22 Inheritance
- 23 Expression Trees
- 24 Parsing Strategies
Staff Information
- Professor: Eric Roberts
- Email: eroberts@cs.stanford.edu
- Office: Gates 202
- Phone: 650-723-3642
- Drop-in Hours: Tue 9:30-11:30am
- Head TA: Kevin Miller
- Email: kmiller4@cs.stanford.edu
- Office: Gates 160
- Phone: 714-768-4954
- Office Hours: Wed 1:00-2:00 PM, Thurs 1:00-4:00 PM