CS 106A: Programming Methodology
Summer 2019
Monday, Tuesday, Wednesday, Thursday 10:30AM-11:20AM PST in Bishop Auditorium


Course Schedule
Style Guide
icon Piazza
icon Eclipse
icon Stanford Java Docs
Pair Programming
Course Staff
Blank Karel Project
Blank Java Project
Lecture Videos
LaIR Help Hours


Monday, July 22

Saturday, August 17
8:30AM-11:30AM PST


Mon 6-8PM PST

Thur 3-5PM PST

Sign up here.

SCPD students can sign up for help at the times above (free QueueStatus account required).

Note: SCPD office hours are only for SCPD students.


cs106a-sum1819-staff@lists.stanford.edu Please use this staff email to reach both instructors.

Sarai Gould Sarai Gould
Gates B02
Mon + Wed 1:30-3:30PM

Laura Cruz-Albrecht Laura Cruz-Albrecht
Gates B02
Mon + Wed 1:30-3:30PM



The midterm is coming up Monday, July 22 7-9PM PST in Bishop Auditorium, and a recorded review session will be held on Friday, July 19 10:30-11:50AM PST in Gates B01. For detailed information, including material to study, exam policies, and practice material, please see the midterm info webpage, linked to in the sidebar at left.

In particular, be sure to download Bluebook, and set up two-factor authentication with passcodes (which you will need to submit your exam).

The midterm will be on your computer, so email both instructors ASAP if you will need to borrow a laptop.

Assignment 3: Breakout


For your third assignment, you will implement the classic arcade game Breakout! This assignment will give you practice with concepts like graphics programs, events, animation and instance variables. See the assignment page for more details. This assignment may optionally be completed in pairs, and is due Thursday, July 18th at 10AM.

Assignment 2: Fun with Java

For your second assignment, you will write a series of Java console programs. These programs will give you practice with concepts like variables, methods, control flow, and more. See the assignment page for more details. The assignment is due Wednesday, July 10th at 10AM, so make sure to get started early.

Additionally, there is a new Debugging handout available! This is a great resource to check out, especially as you begin working on Assignment 2.

July 4 Holiday

As a reminder, because of the July 4 holiday, we will not have lecture Thursday. Additionally, Thursday sections are cancelled. If you are in a Thursday section, please try to attend either a Wednesday section (times/locations under "Section" tab -> "View All Sections") OR the Friday (July 5) section at 11:30AM in Skilling Auditorium taking place this week due to the Holiday.

Additionally, due to the Holiday there will be no LaIR helper hours Wednesday, July 3.

Week 1 Updates
Assignment 1: Karel the Robot
Karel the Robot

For your first assignment, you will write a series of Karel the Robot programs. See the assignment page for more details. The assignment is due Wednesday, July 3rd at 10AM, but make sure to get started early. Though Karel is a fun, simple robot, some of the questions can be tricky!

Section Assignments + Late Section Signups

Regular section signups have concluded, and we have finalized section assignments. You can find your assigned section here. Please check your section assignment immediately, as sections begin today.

If you missed regular section signups, you may sign up using the late signup form in the "Section" dropdown at the top. Any SCPD students who missed the opportunity to sign up for a grader should do so also via the "Section" dropdown at the top. If you would like to request a section swap, you may also do so via that form.

Other Important Logistics
  • Please email both instructors as soon as possible if you have academic accommodations from the OAE.
  • If you have an academic conflict with the midterm exam (which is on July 22 from 7-9 PM), please fill out this form in addition to sending both instructors an email by July 8th.
  • Be sure to check out the Honor Code handout as well as the course communication handout.
  • As a reminder, regular LaIR hours will begin today, held 7-11 PM in Tresidder Student Union.
Download Eclipse

In CS106A we use a free "development environment" called iconEclipse to write our programs. It is the most popular development environment for the Java language. Download Eclipse by following these instructions. Note that it is important that you follow all of the setup instructions after installing.

If you run into any issues while installing or using Eclipse, please see the bottom of the Eclipse install instructions for common troubleshooting steps. Also feel free to stop by LaIR hours or instructor office hours for assistance.

Also, as a reminder, regular LaIR hours will begin this Wednesday, 6/26.

Who are you?

We have a very simple google form for you to fill out so that we have a chance to get to know you a little. It should only take a few minutes. Though we call it "assignment 0" it is not for a grade.

Section Signups Open Until 5:00PM Tuesday 6/25

Section signups are open from 5:00PM Sunday 6/23 until 5:00PM Tuesday 6/25. 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 served. As such, you may modify your preferences any time up until the Tuesday 5:00PM deadline. We will notify you of your section assignment by Wednesday morning, 6/26. Sections start this week!

Note: Remote SCPD students (if you are an SCPD student but able to attend a section on campus, you may disregard this message) should not sign up for a section; instead, register through the SCPD signup link in the "Section" tab.


Welcome to CS 106A! We are looking forward to a fun quarter. Class starts Monday, June 24th at 10:30AM in Bishop Auditorium. Please see the "Handouts" dropdown above for the General Information handout, as well as the Honor Code handout. SCPD students should also read the SCPD Information handout.