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 edited by SCPD, so you will be able to watch the lectures online on the Canvas platform.

Q: Can I audit the course?

A: Yes, if you are a Stanford student. Email the staff mailing list at cs246-win2324-staff@lists.stanford.edu to be added to Canvas.

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 submit my assignment?

A: Assignments (homework and Colabs) will be due at 11:59pm PST on Thursdays.

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). No late periods are allowed for the Colabs.

All students (non-SCPD and SCPD) should submit their assignments electronically via Gradescope. Students can typeset or scan their homework (although we strongly recommend you typeset them).

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 in your submission.

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?

Include all code for a particular question into a single compressed file (i.e., all the .py files), and upload it via Gradescope. Questions that require you to write code will also require a mandatory code upload. Code must be submitted on a separate Gradescope assignment exclusively dedicated to code, e.g., HW1 (Code).

If you wrote the code for your homework assignment on Colab, make sure you download the Python file associated to it by selecting the option "Download .py" from the File menu. Do not submit .ipynb files!

BEWARE: We will check your code using Moss, a system for detecting software plagiarism. We will strictly enforce the Stanford Honor Code.

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 30MB.

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:

  • Re-read relevant sections of papers, the notes, and the text (where applicable);
  • Read carefully the comments we provide on your work and consider their meaning;

And then submit your regrade request via Gradescope. We reserve the right to regrade the entirety of any homework whenever a 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 the attention of the whole teaching staff. 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 have the power to override the original grader.

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:

  • The TA said I left Problem 4 blank, but I have Problem 4 right here, and they just didn't see it.
  • The TA said I was missing a step, but I have the step on line 30 of page 2 of my assignment.
  • The TA said this solution was wrong, and I realize it is not the same as the one in the solution set, but here is a clear and informal explanation of why my alternate solution is correct. I have also attached a statement addressing any concerns the TA may have raised in a comment.

Examples of bad regrade requests include:

  • I think this rubric is unfair.
  • I deserved to get "minor error (-1 points)" instead of "major error (-4 points)."
  • I know I said X, but what I really meant was Y. (We can only grade what's on the page!)
  • Anything that suggests you did not read the solution set before submitting your regrade request.
  • I gave several distinct answers to the problem, and one of them was correct! (Even if another was wrong).
  • If I change one line in my code, I get the correct answer, so please give me more points.
  • I gave a correct answer to a different problem from the one on the problem set.
  • Any request that asserts your solution is correct without giving new information that helps the TA interpret your solution. If your regrade request just says "My solution is correct, please take another look at it," the answer will probably be "I looked at it the first time, and I disagree with you, so you are getting no points back." Regrade requests result from communication failures (either the TA has failed to properly explain to you why your answer is wrong, or you have failed to clearly communicate your solution and why it is correct). So if there is no new information, the TA is unlikely to change their mind.