CS106B: Programming Abstractions
Note: This web site is out of date. This is the course web site from a past quarter, Fall 2016. If you are a current student taking the course, this is not your class web site, and you should visit the current class web site instead at http://cs106b.stanford.edu/. If you are already at cs106b.stanford.edu, the web page may not be updated yet for the new quarter. Please be advised that courses change with each new quarter and instructor. Any information on this out-of-date page may not apply to you this quarter.
Fall 2016
Monday, Wednesday, Friday 12:30 to 1:20pm in Hewlett 200

RESOURCES

Course Overview
Submitter
icon Piazza
Lecture Videos
icon QT Creator
icon Stanford C++ Lib
Blank Project
Help Hours
Socrative

ASSIGNMENTS


EXAMS

Midterm
Thursday, Nov 3rd
7-9pm

Final
Monday, Dec 12th
8:30-11:30am


STAFF

Co-Lecturer: Chris Gregg
cgregg@stanford.edu
Gates 191
Tue 11-12pm,
Thur 4-5pm

Co-Lecturer: Chris Piech
piech@cs.stanford.edu
Gates 193
Mon 3:30-4:30pm,
Wed 1:30-2:30pm

Head TA Anton Apostolatos
antonaf@stanford.edu
Huang Basement
Wed 2:30-4:30pm


ANNOUNCEMENTS

Final Review Video
2016120920

The slides can be found here

Practice Finals
2016120723

We posted practice finals. The solutions to the first practice final are up, and the solutions to the second practice final will be posted on Friday.

Assignment 7 (Trailblazer) YEAH Hours Video
2016120218

Search Demo
2016113012

We put together a demo of all the search algorithms (to be updated as we learn more). Check it out:

Assignment 7 YEAH Hours
2016113008

Come one, come all! This Friday December 2nd, 3:30pm-4:30pm in Bishop Auditorium we'll be holding the last YEAH hours of the quarter. A reminder that you may not use a late day for Trailblazer, so we definitely recommend you start early!

Assignment 6 (Huffman Encoding) YEAH Hours Video
2016111808

Assignment 6 YEAH Hours
2016111612

The YEAH hours for Huffman Encoding will be this Thursday, November 17 8-9pm at 320-105! Huffman encoding is an awesome algorithm, but it definitely can be tricky, so I envision these YEAH hours to be particularly useful. We will try to film, as usual. See you there!

Assignment 5 (PQueue) YEAH Hours Video
2016111100

Assignment 5 YEAH Hours
2016110912

We'll be holding PQueue YEAH hours this Thursday November 10, 8-9pm at 320-105 (note that this is a different room than usual). Even though the assignment was released on Monday, we won't be going over Binary Heaps (a large part of the PQueue assignment concerns heaps) until Wednesday, which is why we're holding YEAH hours slightly later this time around. We will once more try to record the session.

Midterm solutions
2016110911

Midterm exams have been handed back electronically via gradescope. To help you get a big picture of how you are doing we published the class distribution, and midterm solutions. Good work! We were impressed.

Midterm Review Slides and Video
2016103022

Midterm review slides

Midterm Resources
2016102812

Update: we posted the second practice midterm and solutions to the first.

We made a midterm info page (and will continue to update it) with practice midterms, reference sheets and tips for taking exams by hand. The first practice midterm is up.

Midterm
2016102520

The midterm will be on Thursday November 3rd 7:00-9:00pm. We suggest you arrive a few minutes early, so that we can start on time. We will be located in two different rooms. You will go to a room depending on the first letter of your last name, as follows:

Last name starts with A-R: Cemex Auditorium (GSB)

Last name starts with S-Z: Braun Auditorium (Mudd Chemistry Building)

If you're in Braun, there's construction all around, so you may have a harder-than-usual time getting there. Plan accordingly and arrive early!

Midterm Review Session
2016102520

We will be holding a Midterm Review Session Sunday October 30th at 7:00-8:30pm in Bishop Auditorium. We'll be going over the various topics for the midterm, working out problems for each of them, and discussing strategies for studying and for taking the written exam. You won't want to miss it!

Assignment 4 (Boggle) YEAH Hours Video
2016102519

Assignment 4 YEAH Hours
2016102323

YEAH Hours for the fourth assignment, Boggle, will be Monday, October 24th 7-8pm in 420-041. This is among the most involved assignments in this class, so it's definitely a session you won't want to miss!

We will be recording the session.

Assignment 3 (Meta Academy) YEAH Hours Video
2016101807

Assignment 3 YEAH Hours
2016101716

Excited to get a head start on the third assignment? YEAH hours for Homework 3: Meta Academy will be this Monday October 17 at 7:00pm-8:00pm in 420-041. The YEAH hour will be recorded, for those who can't make it. See you there!

Added Texts to Serafini
2016101211

A student astutely pointed out that we didn't have a particularly diverse set of texts for the Serafini homework assignment. We have rectified this by adding the following texts:

To install the texts so you can use them in your program:

  1. Unzip the otherTexts.zip file.
  2. Close Qt Creator and delete the .user.pro file, and the build directory (probably in the same directory where your project directory is)
  3. Copy the .txt files into the Ngrams/res folder
  4. Re-open your project and re-configure it in Qt Creator
Let us know if you can't figure it out!

Assignment 2 YEAH Hours Video
2016100722

Scatter blurriness -- we will accept two solutions
2016100612

There have been a number of posts asking about why our Scatter example output is less blurry than yours. It turns out that in our solution, we interpreted "radius" to just be to the right and down on the image (not left/up, as well), which is contrary to our responses on Piazza and in office hours / LaIR.

So, we will accept solutions that meet either criteria. In other words, if you interpreted the scatter radius to be to the left/right and up/down distance away from the original pixel, that's fine. Or, if you interpreted the scatter radius to just be to one side and one vertical direction, we will accept that, too.

To reiterate: if your solution for Scatter is coming out much more blurry than our solution, that is probably fine, and we will accept it if you have a reasonable interpretation of the problem.

We're very sorry for the confusion, and thanks to everyone who posted a question about it!

Please respond in this thread in Piazza if you have further questions or concerns.

Assignment 2 YEAH Hours
2016100513

Excited to get a head start on the second assignment? YEAH hours for Homework 2: ADTs will be this Friday October 7 at 4:00pm-5:00pm in 420-041. The YEAH hour will be recorded, though we will have a secret surprise to those who come to the session. See you there!

YEAH Fauxtoshop Introduction Video
2016092907

See the video below for Anton's introduction to the Fauxtoshop assignment.

How to Create a Blank Project Video
2016092815

See below for a short instructional video on how to create a blank project from a copy of another project.

Assignment 1: Fauxtoshop
2016092808

Fauxtoshop, the first assignment, is out! It is due next Friday (Oct 7th) at noon. Get started early and come to YEAH hours (which will be recorded) Wednesday September 28 at 7:00pm-8:00pm in 420-041.

Qt Special Help Hour
2016092718

We'll be holding special Qt help session hours in the LaIR (second floor of the Old Union) 8-9pm Thursday September 29. Please come only if you've tried installing Qt Creator and have problems that are not addressed in the FAQ or the troubleshooting guide!

Online Video Access
2016092711

CS106B will be recorded this quarter, and will be available at 7:00pm same day of class lecture. Lectures are not downloadable, but are streamable throughout the Fall '16 quarter. These recordings are for on-campus students only - CS106B is not an SCPD course this quarter. The link to access these videos is:

http://mvideox.stanford.edu/course/826

Assignment 1 YEAH Hours
2016092710

Every CS106B assignment will have YEAH (Your Early Assignment Help) hours. In these one-hour sessions we will delve into the homework collectively and try to tackle any questions or immediate issues we have with the write-up or what the assignment requires. These are super useful, and can cut many hours of head scratching for you when dealing with the assignments in this course.

The first YEAH hour will be this Wednesday September 28 at 7:00pm-8:00pm in 420-041. See you there!

Assignment 0: Name Hash
2016092614

This is a very simple assignment that demonstrates that you have successfully installed Qt Creator on your computer and can run a short test program. Your only submission requirement is to put the result of the program (you will see what this means when you run it!) into a Google Form, located here:

https://goo.gl/CBp1Jz

This assignment is not meant to be stressful – we just want you to get Qt Creator going early so you don’t get realistically stressed out for the first real assignment.

Sign Up for Piazza
2016091800

This quarter CS106B is using Piazza to facilitate questions. Go to piazza.com/stanford/fall2016/cs106b/home to sign up. You can ask course related questions and see answers to other student questions. For personal questions please feel free to email Anton or either Chris.

Welcome
2016091800

Welcome to CS106B! We are looking forward to a fun quarter. Class starts Monday Sept 26th at 12:30am in Hewlett 200.