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

NOTE: This is the website for a past offering of the class. To view this quarter's website, please click here .


RESOURCES

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

EXAMS

Midterm
Monday, July 22
7-9PM PST

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


SCPD OFFICE HOURS

Mon 6-8PM PST

Thur 3-5PM PST

Note: SCPD OH will still take place Thurs. Aug. 15.

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.


INSTRUCTORS

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

Sarai Gould Sarai Gould
sarai678@stanford.edu
Gates B02
Mon + Wed 1:30-3:30PM

Laura Cruz-Albrecht Laura Cruz-Albrecht
lcruzalb@stanford.edu
Gates B02
Mon + Wed 1:30-3:30PM

NEW ANNOUNCEMENTS

Final Exams Graded
2019081915

The final exams have been graded, and individual scores have been released via Gradescope. Please see the final exam webpage for more information about exam regrades, statistics and scores. Regrade requests will be accepted until 4:00PM PST on Tuesday (tomorrow), August 20, 2019.

Thank you all for an amazing quarter, and have a great rest of the summer!

Final Exam is ready to download
2019081609

The encrypted final exam is ready to download. Make sure to have both the final exam and bluebook downloaded prior to the test. See the Final exam page for details. All the best!

Assignment 6: NameSurfer
2019080511

NameSurfer

For your sixth and final assignment, you will implement a baby name graphing program that will give you practice with data structures, classes and interactors. See the assignment page for more details. The assignment is due Tuesday, August 13th, at 10AM but make sure to get started early! Additionally, no late submissions (free late days or otherwise) will be accepted on this assignment.

Midterms Graded
2019072911

The midterm exams have been graded, and individual scores have been released via Gradescope, an online course grading website. Please see the midterm webpage for more information about exam regrades, statistics and scores. Regrades will be accepted until 10AM on Monday, August 5, 2019.

Assignment 5: ImageShop
2019072911

ImageShop

For your fifth assignment, you will implement the algorithms for an image editing program. This assignment will give you practice with concepts like 1D arrays, 2D arrays, and image manipulation. See the assignment page for more details. The assignment is due Monday, August 5th, at 10AM.

Midterm is ready to download!
2019072111

The encrypted midterm is ready to download. Make sure to have both the midterm and bluebook download prior to the test. See the Midterm page for details. Reminder that there is no class tomorrow (so you have a little extra time to get ready). All the best!

Assignment 4: ParaKarel
2019071811

ParaKarel

For your fourth assignment, you will implement ParaKarel, a fun console + graphics game inspired by Hangman. This assignment will give you practice with strings and file reading. See the assignment page for more details. The assignment is due Monday, July 29th.

The material covered by this assignment (with the exception of ArrayLists) is also covered by the midterm, so starting this assignment before the midterm can give you extra practice with text processing and graphics. Definitely prioritize preparing for the midterm, though :-)

Midterm
2019071615

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
2019071012

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
2019070311
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
2019070114

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
2019062612
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
2019062516

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?
2019062413

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
2019062300

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
2019062300

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.