Frequently Asked Questions

Q: What are the prerequisites for the course?

A: Students are expected to have good programming skills. Knowledge of Java/Python is especially important since you will be writing lots of Spark code. In addition to programming basic knowledge of probability/statistics and linear algebra is required as well.

Q: I have a time conflict with this course and cannot attend the lectures in person. Is it still possible for me to take it?

A: Yes, it is. This class is recorded and televised by SCPD, so you will be able to watch the lectures online. Browse to the SCPD platform if you are a Stanford student, or check our public mirror.

Q: How do I submit my assignment?

A: Assignments (problem sets and all other reports) will be due at 11:59pm PST on Thursday.

All students will be given two no-questions-asked late periods, but only one late period can be used per-homework. A late-period lasts from the original deadline until the night before the next class (so if an assignment is due on Thursday the late period goes to the next Monday at 11:59pm Pacific time).

All students (non-SCPD and SCPD) should submit their assignments electronically via GradeScope. Students can typeset or scan their homeworks. Simply sign up on the gradescope website and use the course code MNPBKE. Please use your Stanford email and ID number if possible.

Do not put code in your GradeScope submission. Also, please make sure to tag each part correctly on GradeScope so it is easier for us to grade. There will be a small point deduction for each mistagged page and for each question that includes code.

All students also need to upload their code at Put all the code for a single question into a single file and upload it.

SCPD students do not need to include the SCPD routing form nor do they need to submit their homework via SCPD. Just submit through GradeScope.

Q: How do I submit code?

All code used should be submitted via the submission site:

If you upload multiple files for the same question, they will all be kept for evaluation as long as they have different names or file extensions. If you upload a file for a question with the same filename and file extension as a previous submission, it will be overwritten in the submission folder.

You need to put all code for a particular question into a single file and upload the parts together as one file.

We will run your code using Moss, a system for detecting software plagiarism.

If you do not have SUNetID use: <your_legal_lastname>_<your_legal_firstname>

Failure to upload the code will result in a 0 for that particular question.

Q: How do I submit a regrade request?

We take great care to ensure that grading is fair and consistent. Since we will always use the same grading procedure, any grades you receive are unlikely to change significantly. However, if you feel that your work deserves a regrade, please submit a request on GradeScope within one week of receiving your grade.

Before requesting a regrade, please prepare a clear and concise argument for your stance by doing the following:

And then submit your regrade request via GradeScope. We reserve the right to regrade the entirety of any homework for which any regrade is requested.

Q: Who makes the decision for a regrade request?

Every time you submit a regrade request for a problem, an email gets sent to both Professor Leskovec and the TA who graded your problem. Submitting multiple regrade requests on the same problem set will result in multiple emails being sent. All TAs will be able to see your request, but the original grader of the problem will have the final say in determining your grade, because after reading 300 solutions to the same problem, they become the expert in which answers are right and which ones are wrong. (In particularly ambiguous cases, the original grader will usually consult with other TAs before replying to your request, but they will still make the final decision.)

The head TA does not technically have the power to override the original grader. However, they can make strong recommendations to the original grader, if they disagree with their decision.

Q: What actions will be taken after a regrade request?

Regrade requests will only be honored in cases where the TA made a clear error in grading your problem set. Please read the solution set before submitting a regrade request, and try to work out why the TA said your answer was wrong.

If a TA gives back points to someone who submitted a regrade request, the TA must give back points to all people who had a similar deduction, even people who did not submit a regrade request. If a TA violates this policy, you should email the head TA.

If you are not sure whether your regrade request is justified or not, come to office hours and speak to a TA.

Q: What are some good and bad regrade requests?

Examples of good regrade requests include

Examples of bad regrade requests include

Q: Will the recitation sessions be recorded?

A: Yes. The recitation sessions will also be available along with the other recorded lectures.

Q: How do I register for Piazza?

A: Navigate to and register. You should be able to use any email address you like.

Q: How do I scan and create a PDF from a set of handwritten notes?

Many printers and photocopiers have a create PDF feature. You can also use smartphone apps such as the Genius Scan app for iOS and Android to create a PDF. Note that the PDF size should be smaller than 40MB.