CS 106X: Programming Abstractions (Accelerated)
Autumn 2018
Monday, Wednesday, Friday 12:30PM-1:20PM PST in 300-300

RESOURCES

icon Qt Creator
Course Staff
Textbook
icon Piazza Forum
Pair Programming
LaIR Help Hours
icon Stanford Library Docs
CppRef
C++.com
Blank C++ Project

EXAMS

Midterm
Thursday, November 1
7-9PM

Final
Monday, December 10
8:30-11:30AM PST


STAFF

Nick Troccoli Lecturer: Nick Troccoli
troccoli@stanford.edu
Gates 193
M/W/F 1:30-2:30PM

Zachary Birnholz Head TA: Zachary Birnholz
zacharyb@stanford.edu
Gates B02
Tues. 2:30-4:30PM


[UPDATED] Assignment 3: Recursion
201810132301

Plasma Fractal

For your third assignment, you will write a series of programs that will give you practice solving recursive problems in both console and graphics programs. In particular, you'll be drawing a series of awesome recursive graphics (fractals), generating random writing via grammatical rules, and calculating the wait on poor souls at the bottom of human pyramids. See the assignment page for more details.

As part of Assignment 3 we ask that you document one bug you encounter and how you solved it, so we highly recommend reading handout 6 if you have not already to provide a sense of how to approach debugging.

The assignment is due Friday October 19 at 11AM, but make sure to get started early!


UPDATED: we have updated the provided output for the recursive tree and Mandelbrot fractals to correct their resolution (for easier comparison) and, for Mandelbrot, to correct and label them with their Complex number ranges. Please see the assignment page for more information.

Zach's Tues. 10/9 Office Hours Rescheduled to Thurs. 10/11 2:30-4:30PM
201810081601

Zach is rescheduling his normal planned Tuesday 10/9 office hours to Thurs. 10/11 instead from 2:30-4:30PM due to a one-time conflict. Please feel free to stop by his office hours in Gates B02!

Assignment 2: ADTs
201810051201

For your second assignment, you will write a series of programs that will give you practice using a variety of different ADTs. Word Ladder is a program that finds connections between different words in the dictionary. Random Writer is a program that generates new random text from a provided source file. Maze Generator is a program that generates solvable random mazes of any size. See the assignment page for more details.

As part of Assignment 2 we ask that you document one bug you encounter and how you solved it, so we highly recommend reading handout 6 if you have not already to provide a sense of how to approach debugging.

The assignment is due Friday October 12 at 11AM, but make sure to get started early!

Nick's Fri. 10/5 Office Hours Rescheduled to Thurs. 10/4 2-3PM
201810031701

Nick is rescheduling his normal planned Friday 10/5 office hours to tomorrow (Thurs. 10/4) instead from 2-3PM due to a one-time conflict. Please feel free to stop by his office in Gates 193!

Section Assignments + Late Section Signups
201810021745

Regular section signups have concluded, and we have finalized section assignments. See the course website, under the "Section" dropdown, for more information.

If you missed regular section signups, you may sign up using the late signup form in the "Section" dropdown at the top.

If you would like to swap into a different section, you may also do that using the "Section" dropdown at the top. Section swaps will close in a week, on Tuesday, Oct. 9 @ 5PM.

If you are trying to swap into a section to be with a preferred partner, but are unable to do so due to capacity restrictions, we can attempt to place you and your preferred partner in a different section. Please contact the Head TA, Zachary Birnholz.

Assignment 1: Game of Life
201809281701

Game of Life

For your first assignment, you will write a program that simulates Conway's Game of Life. The Game of Life simulates cell life over generations by following a simple set of rules. This program will give you practice with concepts like file reading, streams, strings, Grids, and decomposition. See the assignment page for more details.

We have also posted Handout 6, which provides tips and tricks for debugging your programs. As part of Assignment 1 we ask that you document one bug you encounter and how you solved it, so we highly recommend reading this handout to provide a sense of how to approach debugging.

The assignment is due Friday October 5 at 11AM, but make sure to get started early!

Section Signups Open Until 5PM Sunday 9/30
201809280901

Section signups are now open! Click on the "Section" dropdown at the top and select "Sign up for section" to submit your preferences. As a reminder, signups are not first come first serve. As such, you may modify your preferences any time up until the deadline. We will notify you of your section assignment by early next week. Sections start next week!

Lecture Feedback
201809261230

As mentioned in lecture today, as a small portion of your section participation grade we are asking each student to provide brief feedback on 2 assigned lectures throughout the quarter. The feedback should only take a few minutes, and will be used to understand how the course is going, and to help make it better. To see which lectures you have been assigned, please see the lectures dropdown at the top of the page. For each lecture you are assigned, please fill out the Google Form linked to from the lectures dropdown after the lecture has concluded. You will also receive an email the morning of each lecture you are assigned, as a reminder. Of course, you are welcome to provide feedback on other lectures in addition to the ones to which you are assigned. We greatly appreciate any feedback you have to improve the course!

Qt Creator Troubleshooting Session
201809241232

If you run into any issues installing Qt Creator, we will be holding a troubleshooting session from 7-9PM on Wednesday 9/26 in the LaIR. The LaIR is on the first floor of Tresidder, in the food court/eating area. Please feel free to stop by!

Discussion Sections
201809241231

Section sign-ups open at 5pm on Thursday, Sept. 27 and end at 5pm on Sunday, Sept. 30. Please make sure to sign-up for a section, as they are required for the class. Once signups open, the signup link will be visible in the section dropdown up top. Signups are not first-come-first-serve. Sections will start week 2.

Assignment 0: Hello, World
201809241230

For your "zeroth" assignment, we have some todos to get you started during your first week in CS 106X. These include things like setting up Qt Creator and signing up for Piazza. See the assignment page for more details.

Welcome!
201809241001

Welcome to CS 106X! We are looking forward to a fun quarter. Class starts Monday, September 24th at 12:30PM in 300-300. See the "Handouts" dropdown above for handouts that outline the course policies.