CS 106B:
Programming Abstractions, Winter 2018

NOTE: This web site is out of date.
This is the course web site from a past quarter, Winter 2018.
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 http://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.

ERROR: This site requires JavaScript in order to function properly.
You seem to be using a web browser that does not support JavaScript, or you may have a JavaScript blocker such as NoScript installed in your browser.
In order to use this course web site, you must enable JavaScript in your browser for this site.

SCPD Information

Here are some links and information that are specific to SCPD students in CS 106B this quarter:

SCPD Midterm

Because SCPD students often take exams on a different date than in-person Stanford students, we sometimes give them a different exam.
Here is the exam, key, and Qt Creator code for the SCPD version of this quarter's midterm exam:

SCPD Office Hours

Some of our section leaders are offering online SCPD-only office hours each week.
The SL will be available for live video chat using Google Hangouts.
If you are an SCPD student, you should have received information by email regarding how to connect and chat with the section leaders.
The SLs are available on the following days and times:

Jeffrey: Thursdays, 1:45 - 2:45 PM

Shreya: Wednesdays, 9:15 - 10:15 AM

SCPD Exam Proctoring

All SCPD students should fill out the following CS 106B SCPD Google form to give us information about your exam time and proctor.
(On-campus Stanford students who are not enrolled through SCPD should not fill out this form; it is for SCPD students only.)

SCPD Course Policies

A few of our course policies are modified to suit SCPD students:

Lecture participation:
Due to the asynchronous nature of SCPD, SCPD students will not be graded on lecture participation.
Those points will be redistributed evenly into the other categories of points for the course (homework, midterm, final exam).

Section participation:
Due to the asynchronous nature of SCPD, SCPD students will not be graded on section participation.
Those points will be redistributed evenly into the other categories of points for the course (homework, midterm, final exam).

Homework in Pairs:
SCPD students are not eligible to work in pairs on their assignments.
All homework must be completed individually.
SCPD students are permitted to use their late days on any assignment (up to 2 per assignment, as per the course info handout), unlike other students who must work in pairs to fully utilize late days.

We know that some of you would like to work with a partner, and we're sorry for denying you that option.
But most SCPD students are not Stanford-local, and we don't want to introduce complex dependencies by allowing pairs with students who are not physically available or necessarily even Stanford students.
And it's time-consuming to invest the time to evaluate every SCPD student to figure out whether they are local enough or committed enough / available enough to be a reasonable partner for another student, so the simpler thing is to have a consistent policy for all SCPD students.
The pair stuff is new, so for now we have to implement it in a way that has a manageable complexity and cost.

Interactive Grading:
SCPD students don't participate in interactive grading.
You still get feedback about their program from their SL in the form of comments marked on their program in our Paperless system.
If you have additional questions about your homework grading, you can ask your SL, and if that does not resolve them, you can contact the head TA.

Section:
If you live locally near Stanford, you may email a section leader and ask for permission to attend their section.
You will be automatically enrolled in the SCPD section, which is carried by video.
(Go to the same page as the SCPD lecture videos and look for the one each week labeled, "problem session" or "section".)
Your enrollment will not be moved to a different section, but again, you are welcome to email a section leader to request permission to attend.
Even if you do attend, you will not be graded on section attendance/participation.

Getting Help:
Many of our class resources are available to you.
You can post on the course Piazza board, as well as emailing your section leader and/or the Head TA, if you have questions about the class, homework, etc.
We will also hold SCPD-only online office hours weekly (time TBA) using Google Hangouts.
You can connect with us there to ask questions and get help on homework.

Exams:
If you live locally near Stanford, you are welcome to come to our regular exam in person.
Otherwise, SCPD students must take their exams with an SCPD-approved proctor.
The SCPD office should be working with you to identify an appropriate proctor for your exam.
Generally students use a professional service or have their supervisor at work get approved to do it, but the SCPD office can give you more guidance there.

Please feel free to contact us if you have any other questions about taking this course via SCPD.
As always, the best way to contact us is to email your section leader first (if you've been assigned to a section), then the Head TA, and lastly the instructor.

Please take steps to ensure that your work is not easily copied by others.

If this is an assignment that allows pairs, the same rules apply to each team.
For example, do not look at assignment solutions that do not belong to your team, and do not give your solution to anyone outside of your team.

Remember that we run similarity-detection software over all solutions,
including this quarter and past quarters, as well as any solutions we find on the web.