NOTE: This web site is out of date. This is the course web site from a past quarter, Winter 2015. 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://cs193a.stanford.edu/. If you are already at cs193a.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.

Peer Evaluation of Homework

TL;DR really short instructions:

screenshot
1. Download
program
screenshot
2. Run it in
Android Studio
screenshot
3. Fill out
evaluation form
Whose program should I evaluate?

Detailed instructions:

To help distribute the grading load in CS 193A, students will be peer-grading the homework submissions of other students. The general mindset here is, you download and run one other student's program and verify that the student made a reasonable effort on the assignment. Since the course is 1-unit and pass/fail, the intention is that almost everyone should receive credit unless their app is grossly incomplete or missing. But we have no TAs for this course, so your peer grading will still be extremely helpful to the instructor and save lots of time of downloading and running every student's app by one person.

Here are the steps to peer-grade a student's program:

1. Download the student's program

Type your SUNetID (the part of your Stanford email address before @stanford.edu) into the search box above to find out which student you will be peer-evaluating this week. Note that the mapping of students will change with each assignment, so please check your email for each assignment to know whom to evaluate.

Once you know whom you're evaluating, go to the following download site and click the appropriate student's SUNetID. There should be one or more ZIP files present. Click and download the appropriate ZIP files to grab the student's program. (If the student's program is missing or broken, skip below to the Google Form and submit the form to indicate the problem. If you're not sure which file to download, consider looking at the file's date to figure out which one represents HW1, HW2, etc.)

2. Unzip, Load, and Run the program in Android Studio

Extract the contents of the downloaded ZIP file for the student's program. Now run Android Studio. Assuming you're already in the main editor of an existing project, you should click FileImport Project... . Browse to the folder of the student's unZIPped project and click OK.

screenshot

Sometimes at this point you'll see a warning about the SDK location being incorrect and updating a "local.properties" file. This is okay; it just means that the project contained some information specific to the other student's computer and hard drive and file locations and so on. Android Studio should be able to adapt the project to work on your machine and you can just click OK to dismiss the warning.

If everything went as planned, you should now be able to run the other student's app by clicking the usual "play" button icon at the top of Android Studio: icon

If something has gone wrong and you are unable to run the other student's program: Sometimes you need to clear out machine-specific settings that refer to the other student's computer and directories. In Android Studio, in the left-side pane that shows all the directories for their project, right-click the overall app directory and choose Synchronize 'App'. Then in the menu bar at the top of the screen in Android Studio, click BuildClean Project, and then BuildRebuild Project. We suggest either sending an email to the instructor + other student describing in detail what has gone wrong, and/or, posting a message to the course Piazza forum describing the error to ask for help to resolve it. Please try to be specific and quote the direct text of any error messages, as well as mentioning what kind of computer you have (operating system, version, etc.).

Awesome student work: You're only required to look at the one student you've been assigned, but you can optionally look at any other students' submissions if you want. If the student you evaluated wrote a really awesome program, consider making a post on the course Piazza forum telling others to go check it out! Part of the fun of this course is sharing and enjoying all the great work that you students are doing on your projects.

3. Fill out online form to evaluate program

After you've played around with the other student's program a bit, please click the above link to fill out our short online form to tell us about it. Our intention is that this grading process will not take you a huge amount of time; we just want a quick sanity check and confirmation that the other student made a solid attempt at the assignment.

What to look for: When you're evaluating the other student's program, you don't need to look at their code to assess its style. You just need to run the app and play with it briefly to see what it can do. Once again, the goal is to be lenient and to award credit to almost every submission unless it is missing or truly reflects a lack of effort. If you aren't sure whether the program should receive credit, you should generally err on the side of leniency.

If you ever submit an evaluation that says "no, the student should not receive credit", the instructor will look at it personally to make the final decision. That way nobody will be denied credit by an unfairly harsh, biased, or misunderstood evaluation.

Thanks a lot for helping with this aspect of the course. Your peer evaluations make CS 193A possible!

This document and its content are copyright © Marty Stepp, 2015. All rights reserved. Any redistribution, reproduction, transmission, or storage of part or all of the contents in any form is prohibited without the authors' expressed written permission.