How do I find out my score? Like for the midterm, scores have been released on Gradescope. Log in to Gradescope to see your score.
If you have questions about exactly what points you missed and why, please look over the grade and markings made by the grader, compare it with our solutions, and then contact your section leader if you still have any questions.
The statistics of the exam scores (out of 180, to the nearest whole number) were as follows:
Standard Deviation: 44
We work hard to grade consistently and correctly, but sometimes we make mistakes in grading. If you believe part of your exam was incorrectly graded, please first download the Eclipse project linked to above and run your answer. This is the easiest way to test your code. If, after running your code, you still believe your grade is incorrect, submit a regrade request for the question you believe was graded incorrectly through Gradescope. Regrade requests need to point out the aspect of the problem that was correct, but for which points were taken off. We use a detailed rubric to grade exams, so simply requesting that an incorrect answer "should be worth more points" is not likely to result in additional points.
We reserve the right to re-grade the whole exam to make sure there are no other grading issues present - this may result in a lower total score.
All regrade requests must be submitted by 5:00PM PDT on Tuesday, August 28, 2018.
|Exam Type||Download Links|
|Regular Seating Fri. 12:15-3:15PM||Regular Exam|
|Remote or alternate 3-hour exam||Alternate Exam|
|OAE 150% extra time||OAE 1.5x Exam|
|OAE 200% extra time||OAE 2x Exam|
Note that the BlueBook practice exam includes a file called "instructions".
Section Handouts and CodeStepByStep lecture practice problems (on the schedule page) are also great ways to practice relevant material.
The exam is on your computer but otherwise closed-book and closed-notes. You should bring:
Your laptop and charger
The device you use for two-step authentication
Two double-sided sheets of notes
A power strip / extension cord (optional, but recommended if you have access to one)
If you don't have a working laptop let us know AS SOON AS POSSIBLE and we will get you set up with one.
Like the midterm, the final exam is administered on a digital tool called BlueBook. If you still have BlueBook from the midterm, skip this section. If you have a new laptop, please make sure to download and install BlueBook on your laptop before the exam.
Note: If you're using a Mac and you get an error saying that the Disk Image is from an unidentified developer, don't panic! Simply open up the
Mac-BlueBook-1.0.0.dmg file in your finder, and right click it and select "Open."" The same window will pop up, but this time you'll have a chance to open it anyway. On Windows, if you get a message that says, "Windows protected your PC," you can click on "More info" and then "Run anyway."
The logistics for the final exam are the same as for the midterm exam (except for an updated syntax reference sheet); please see the midterm logistics section for more information.
The final focuses on material taught since the time of the midterm, including the following concepts listed below. However, programming is inherently cumulative in that new topics build upon old ones. So you may be asked to solve problems that involve, though not necessarily focus primarily upon, past topics such as strings, int, double, boolean, random numbers, loops, if/else, parameters, return, expressions, variables, constants, file input with Scanner, and so on. Note that you may be asked to read code (look at a piece of existing code and answer questions about it, such as writing its output) and/or write code (write a piece of code such as a method or short program that solves a given problem).
Pass-by-value vs. pass-by-reference: demonstrate your understanding of objects vs. primitive values (i.e., passing objects, primitives, or arrays as parameters)
GraphicsPrograms: write Java code to implement a graphics program with certain behavior using Stanford's libraries; this may include drawing shapes such as GRect, GOval, etc., animation, and/or handling mouse events. (This topic was covered before the midterm, but Breakout, which gave practice with this, was due after the midterm)
Arrays: interpret/write code that uses a 1D array to solve a problem.
2D Arrays: interpret/write code that uses a 2D array (possibly from the pixels of a graphical image, possibly not) to solve a problem.
Collections: interpret/write code that uses the collections
HashMap to solve a problem.
Objects and Classes: interpret/write a class and/or add behavior to an existing class.
Inheritance: interpret/write a class that extends another class, such as GCanvas.
Interactors: interpret/write a program that uses GUI components (buttons, labels, text fields) and events to produce a given behavior.
The following concepts will NOT be tested on the final:
Karel the Robot
Material from the "Life After CS 106A" lectures
Graphical shapes not used in lecture/section, such as
converting numbers to/from other bases, such as binary or hexadecimal
do loops and the
continue statement (
while loops may be needed, though)
static methods or data (other than
static final constants)
throwing exceptions with the
any Stanford library functionality not explicitly taught in class, section or homeworks
anything else not explicitly covered in lecture, section or homeworks
The recommended exam strategies for the final exam are the same as for the midterm; please see the midterm exam strategies section for more information.