We've slightly updated the readings on the syllabus. Please have a look at that.
Also, assignment 6 has been posted. For assignment 6, you'll need a bit of extra material that we won't be able to get to in section. Please refer to the "Functions as Parameters" handout for this material.
In addition to the one posted on the right, here are a couple others:
We've updated the course information handout to resolve an ambiguity in the maximum number of late days that can be used on any given assignment. Please review the revised late policy and let us know if you have any questions.
Can't get enough CS106B? Well we've got the solution for you: another exam to practice on! Spcifically, this is the midterm given out last quarter in 106B. Material coverage and format should be very similar, but as always, we can't promise a 100% matchup.
Find the midterm here and the solutions here.
As an extra bonus, we've posted a sample reference sheet, similar to what you'll get on the exam. Have a look to make sure you know what we're going to provide. See the handouts on the right.
If you're in search of additional practice materials for the exam, feel free to check out the materials at http://cs106x.stanford.edu. Note that the pacing may be a bit different, so the exact content coverage might not match exactly. But you should still be able to practice on most of the problems.
We've made a small change to the assignment schedule for the later half of the class. If you have some dependency on knowing the exact schedule for things, please check the updated syllabus.
(We sent this out via email as well. If you didn't get the email, let us know so we can add you to the mailing list.)
We've updated the handout to reflect the fact that you won't have your section leader's email address before the due date, so the deadline for the introductory email has changed.
We've also posted all of the starter files. If you downloaded the starter files yesterday, especially if you are running Mac OS X, you might want to redownload them. (If you're not having any problems, you can probably just keep using what you have.)
A few OS specific notes:
For Windows users, make sure you're running the most recent version of Java. (Head to www.java.com to download it.) If you're having any issues with the console not showing up, this should fix it.
For Mac OS users, using the starter files for your particular version of OS X should work fine. If you're still having problems with Xcode, you might want to check out the "Instructions to Fix Xcode" handout under the Resources section of the website.
(For Linux users, we're sort of assuming you know what you're doing...)
If you have any problems with the assignment, let us know.
Welcome to CS106B! We've got an exciting quarter ahead of us and you're in for a real programming treat. Over the next ten weeks, we'll be exploring the fundamental techniques necessary to reason about, model, and solve big, important problems. It's going to be a lot of fun, and I hope that you're able to join us!
In the meantime, feel free to check out the course information handout and syllabus to learn more about what this class is all about, the prerequisites, and the course policies. If you have any questions in the meantime, feel free to email me at adgress@cs.stanford.edu with questions.
See you soon!
00: Course Information
01: Syllabus
02: Course Placement
03L: Running C++ On Linux
03M: Running C++ On Mac
03W: Running C++ On Windows
04: Honor Code
06M: Debugging with Xcode
06W: Debugging with Visual Studio
07: Submitting Assignments
08: Study Skills
09: Practice Midterm
10: Practice Midterm Solutions
11: Example Midterm Reference Sheet
12: Midterm
13: Midterm Reference Sheet
14: Midterm Solutions
15: Practice Final
16: Practice Final Solutions
17: Functions as Parameters
18: Functions as Parameters Solutions
19: Midterm 2
20: Midterm 2 Reference Sheet
21: Midterm 2 Solutions
Section Handout 1
(solutions)
Section Handout 2
(solutions)
Section Handout 3
(solutions)
Section Handout 4
(solutions)
Section Handout 5
(solutions)
Section Handout 6
(solutions)
Assignment 2: Fun with Collections
Aubrey (Gates 160)
Mon: 12 PM - 1 PM
Tue: 12 PM - 1 PM
Wed: 12 PM - 1 PM
Thu: 12 PM - 1 PM
Michael (Gates 160)
Tue: 3 PM - 5 PM
Wed: 3 PM - 5 PM
Course Reader PDF
Tresidder LaIR Office Hours
C and C++ Standard Library Docs
Stanford C++ Library Docs
Good Programming Style 1
Good Programming Style 2
Submitter
Lecture Videos
QuestionHut
Blank Windows Project
Blank Mac Project
Instructions to Fix Xcode
00: Introduction
Slides
01: C++ Functions
Slides
Code
02: Strings and Streams
Slides
Code
03: Collections I
Slides
Code
04: Collections II
Slides
Code
05: Collections III
Slides
Code
06: Collections IV
Slides
Code
07: Thinking Recursively
Slides
Code
08: Thinking Recursively II
Slides
Code
09: Thinking Recursively III
Slides
Code
10: Thinking Recursively IV
Slides
Code
11: Algorithmic Analysis and Sorting
Slides
Code
12: Algorithmic Analysis and Sorting II
Slides
13: Algorithmic Analysis and Sorting III
Slides
14: Designing Abstractions
Slides
Code
15: Implementing Abstractions
Slides
Code
16: Implementing Abstractions II
Slides
Code
17: Linked Lists
Slides
Code
18: Linked Lists II
Slides
Code
19: Hashing
Slides
Code
20: Binary Search Trees
Slides
Code
21: Tries
Slides
Code
22: Graphs
Slides
Code
23: Shortest Paths
Slides
24: Minimum Spanning Trees
Slides
25: Review Sessions
Slides
26: Limits of What Computers Can Do
Slides
27: Machine Learning
Slides
Code
28: Where to Go from Here
Slides