Frequently Asked Questions (FAQ)

At the start of the quarter:

Q: I'm not sure which CS course is right for me. Should I be in CS 106A? 106B? Something else?

A: CS 106A does not assume any prior programming background, so if you haven't programmed before, this is the place for you. If you have programmed before, but it was limited in amount, or a long time ago, or you're rusty, etc., 106A is still a good choice for you. It is possible to jump straight to 106B if you have significant prior programming experience, but you should only do so if you are well versed in all of the following topics:

  • variables
  • parameters
  • loops
  • if/else
  • basic data structure usage: arrays, lists, maps
  • interacting with (using) objects
  • creating new classes of objects
  • testing and debugging a program (using print statements and/or a debugger tool)

It is permitted to skip 106A if you already understand those topics well. If you aren't sure you have enough programming experience, you can email your questions to the instructor or your section leader. 106B is a challenging course, so if you aren't sure, we recommend that you stick with 106A.

Another thing you could do to help you decide is to look at a recent quarter's course web sites for 106A, 106B, and 106X to see if you understand the material in each one.

This quarter we also offer a course informally called "CS 106J", which is an equivalent course to CS 106A but taught in a different programming language called JavaScript. The lectures of the 106J class are at 11:30am rather than 1:30pm. 106J is an alternative experimental course taught during spring quarter only that teaches similar material to 106A but in a different programming language named JavaScript. The 106J course is taught by different instructors named Eric Roberts and Jerry Cain. 106J is being cross-listed as "106A" in part so that it will satisfy the Ways requirement and be more visible to students. Either course will suffice as a prerequisite for the next CS course, 106B. In general we recommend that most students sign up for the standard 106A at 1:30pm, because the standard 106A is more polished / less experimental, will have more help resources available for students, and so on. But if you have a particular interest in the JavaScript programming language or would prefer to try out an experimental alternative to 106A with some new ideas and energy in it, the "106J" variant may be a good choice for you. If you have any further questions about 106J, please contact Eric Roberts <> and Jerry Cain <>.

Other courses you may be interested in include CS 101, a lighter intro to programming in JavaScript, and CS 105, a broader introduction to computing and programming. CS 105 has a bit less focus on coding but explores other areas of our field including data, networks, the web, security, privacy, and others.

Q: Can I audit CS 106A? I just want to sit in and learn about the concepts or about Java programming.

A: In general it's fine if you want to sit in on the lectures. But auditing students are not supposed to consume course resources. So you will not be able to submit assignments or exams for grading, nor will you be able to take the exams, nor go to the section leaders in our lab, the LaIR, for help. Also, if the lecture room is full, we ask that you do not occupy a chair because somebody who is enrolled should be given the first chance to sit in that seat. You should definitely email the instructor if you plan to audit the course, because he needs to keep a list of all auditing students.

Q: Are the 106A lectures going to be video recorded?

A: Sorry, no. This decision is out of the hands of the instructor. Video recording is only done for courses that are broadcast to online students through SCPD, which is not happening this particular quarter.

Q: I would like to take CS 106A, but I have a time conflict with some/all of the lectures. Can I still take it?

A: Possibly, with certain constraints. Here are the things you might miss and the potential issues and consequences of missing them:

  • Lectures: No graded material (quizzes, exams, etc.) ever happens during lectures, so it is possible to miss them and still do well in the class. But it is up to you to make up for the material you missed. The lectures will not be recorded on video, so you will miss out on what is discussed in class, but you can look at the slides and programs that we write in lecture because they will be posted on the class web site. The instructor is not willing to conduct a "make-up lecture" by meeting 1-on-1 in office hours to re-explain 100% of the lecture content you missed; that would be an inefficent use of time and resources. If you miss lectures, you should be able to learn that material largely on your own.
  • Exams: We have a midterm exam and a final exam that occur at particular dates and times, and we do not grant make-up exams based on schedule conflicts due to taking multiple classes at the same time. In other words, if you have chosen to sign up for another class whose exam takes place at the same time as our exam, you will need to get the other instructor to give you a make-up exam and you will need to take our exam at the regularly scheduled time.
  • Sections: Weekly attendance and participation in your discussion section is part of your course grade. If you have a conflict with all of the section times and are not able to attend your section, you forfeit the section participation portion of your grade. Instructor is not willing to make special exceptions to enable you to make up these points if you do not attend sections.

Our official advice is that we don't recommend signing up for this course if you have a conflict; we think it's definitely harder to do well in the course without being able to attend the lectures. But if you are able to arrange makeups as needed for your exams, and you feel that you can teach yourself the necessary lecture material, we will let you make your own decision. Please contact the instructor if you need a signature or other official permission to resolve your schedule conflict.

Q: I have added the class late, during the 2nd or 3rd week of the quarter (or I am considering doing so). Is this okay? How can I find out what I missed? Can I have extra time to complete the first assignment(s) that I may have missed, or be excused from turning them in?

A: You are allowed to add the class until the end of week 3. But we won't give you any special treatment; anything you didn't turn in, you get a 0 on. Depending on how far into the quarter it is, you might still be able to submit Homework 1 and/or 2 in time, or use some of your "free late days" to submit them late without penalty. But we won't grant any special extensions for you or excuse you from submitting any homework assignments. If you're adding the course late, please read over our Course Information handout and make sure you understand the policies of the course. Also you will need to sign up for a discussion section, or if none are open from that link, email the section leader coordinators at cs198.

Q: I need some advice about CS courses or the curriculum! Can I come to see you about it?

A: Please feel free to come see the instructor during office hours. If you want to ask about the Stanford CS curriculum or courses in general, you may want to look at the Stanford CS Contact page, which lists the contact info for the advisors who can help you.

During the quarter:

Q: I want to change my section. How do I do this?

A: If it's still early in the quarter, you can try to switch your section by logging in to the web site and using the Section Swap option. If that does not work (due to a full section, etc.), please email the Head TA using the contact information on that web site.

Q: I need help with my homework! What should I do?

A: There are lots of resources available to help you. For example:

  • Go see the section leaders on duty in the LaIR.
  • Go to the instructor's office hours, if possible. (See Staff/SLs page for office hours.)
  • Check the course message forum; you can ask your question online on the forum, or your question may have already been asked by another student and answered.
  • Look at the in-class lecture examples and slides.
  • Look at this week's section handout problems and their solutions.
  • Read the relevant chapters and sections of the course textbook.
  • Try solving some smaller problems first to understand the relevant concepts, such as the ones at the ends of the textbook chapters or lecture slides.
  • Start early! It is harder to get help the day assignments are due, because of the high volume of questions.
  • Don't panic. You may need to use your late days, but you can still turn in assignments after the due date with minimal penalty.

Q: The LaIR and other resources are not enough! I need more help, such as a personal tutor. Can I get this kind of help?

A: Our SLs do not provide 1-on-1 tutoring, but the LaIR schedule page has a nice list of possible help and tutoring options available to you.

Q: I have a scheduling conflict and need to miss a lecture or section on a particular day. Is this okay? How can I find out what I missed?

A: Lecture attendance is optional, so you may miss a lecture without penalty (so long as no exam takes place on that day). To find out what you missed, look at the Lectures page of the course web site. All slides and program code from lecture will be posted there.

You do get points for section participation and working on the problems each week. If you have to miss one individual week's section, you may attend another section (list of section times), email your SL to tell them which different section time/location you are attending, and they will contact the other SL to verify your attendance. If you miss a week of section entirely, there is no way to make this up, but we usually require slightly less than 100% attendance to get full credit. So it is fine to miss one section week during the quarter.

Q: I cannot make the final exam because I have a job / internship / flight that takes me away from Stanford earlier than the final exam date. Is this okay? How can I make up the final exam? Or can my internship proctor the exam remotely?

A: No, we do not grant make-up exams for jobs/internships, nor to help accommodate your travel plans. We also do not allow remotely proctored exams by employers. The only reasons students are given make-up exams are when they have valid university conflicts (such as due to student athletics), or when students require OAE/disability accommodations. We also do not grant make-up final exams to students who have conflicting final exams; it is each student's responsibility not to sign up for classes with conflicting final exam times.

Q: I got a low score on a homework assignment and/or exam, and I'm worried about doing poorly in the course. How much impact will my past low score(s) have on my grade? What can I do?

A: You can compute for yourself the impact of your past scores on your grade. The grading weights are listed on the course syllabus.

If you want to raise your grade, the best way is to do well on future assignments and exams. We generally do not offer much extra credit nor any way to directly make up or replace low scores on past assignments or exams.

If you don't think you will be able to raise your grade enough, you may need to consider dropping the course or switching to a Credit / No Credit (CR/NC) option. See Stanford's Grades and Grading web page for more information about grades.

Q: I'm trying to figure out what my grade is. What does a Check-plus equal in terms of grades? What is a Check? A Check-minus?

A: They don't correspond to anything in particular. At the end of the quarter they are fit to a curve based on how many students got each mark. Historically a Check-plus is usually an "A", a Check is roughly a "B", and a Check-minus is in the "C" or "C-" area. But this is a very rough estimate and we do not promise any particular mapping.

Q: When is the last date to drop the course? When is the last date to switch to Credit / No Credit?

A: This information can be found at the Stanford Academic Calendar for this year.

Q: I have had a traumatic incident in my life this quarter (death in the family, accident, emotional hardship, etc.) that has made it very difficult or impossible to do well in this course. What should I do?

A: The best response depends on the nature of the situation. If you need counseling or psychological help, please consider visiting Counseling and Psychological Services (CAPS) for a consultation. Depending on the situation's effect on you, you may also want to go meet with someone in the Office of Accessible Education (OAE) to talk to them about your situation. If you present them with proper documentation of the issue and they agree that you need accommodations, they will give you a document that you can show to me. If

Q: I would like to take the final exam early so that I can leave to go to a {job, internship, summer vacation, holiday, wedding, etc.}. May I?

A: No. We do not grant early exams ever for any reason. In particular we do not give early exams to accommodate people who have internships or jobs that begin before finals week is over. We also do not allow your work/internship/etc. to remotely proctor your exam for you. It is your responsibility to be present for our exams at their posted times. If you have a conflict that requires you to leave town before the posted final exam date, you will be unable to take the final exam and therefore unable to pass the course this quarter. You could either rearrange your work plans or take the course in a different quarter that is more amenable to your schedule if possible. This course is offered all 4 quarters every academic year and is sometimes offered via SCPD for remote learning, so there are many options.

After grades are released:

Q: I don't like my grade. Why is it so low?

A: See the Course Info handout for information about how grades are calculated. Grade cut-points are sometimes shifted downward from the promised ranges on the syllabus, so it could be worse.

Q: I checked the web site, and my overall grade is (grade1). I wish my grade was (grade2). Will you please change my grade to (grade2)? What can I do to raise my grade up from a (grade1) to a (grade2)?

A: I'm sorry; your grade is determined by the points you did / didn't earn. Unless we made some kind of mathematical or clerical mistake, your grade is what it is. There's not any more work for you to do to change it now after the quarter's over.

Q: I know of another student who got only a slightly higher percentage than I did, and they get a higher grade than mine! Please raise my grade.

A: We're sorry; the cut-off points between grades have to go somewhere. Each grade range has a highest and lowest student. Sometimes that student ends up being you. We do not choose cut-off points with a goal of including or excluding any particular student; it's just the way the numbers worked out in this particular case.

Q: I would like you to re-grade my final exam, my last several homeworks, my midterm, etc. in the hopes of raising my grade. How do I go about doing that?

A: You can only ask for a re-evaluation of a homework assignment within 1 week of your IG for that assignment. So it is too late to ask for regrading on homework assignments after the quarter is over. We do re-grade final exams, but you should do this only if you genuinely think something specific was mis-graded. If you submit for a regrade saying things like, "I am asking for a regrade because I really need an A," or, "I just want to see if I can get any more points back," you are not likely to be considered very seriously. Recall that regrades have the capability to lower your score if any missed deductions are discovered.

Q: Can you please go over exactly how my grade was computed?

A: Your grade is a weighted average of your homework, exams, and participation. The Course Information handout shows the weightings for the various sections.

Q: What exactly were the cut points between each grade? What minimum percentage was needed for an A, A-, B+, B, B-, ..., etc.?

A: We start with the typical cutoffs like 90 = A-, 80 = B-, and so on. The cutoff between a minus grade and a non-minus grade, such as B- to B, is somewhere around 3 points higher, such as 83 for a B, 93 for an A; but this changes from quarter to quarter. We sometimes shift the cut points slightly to make sure that enough students get high grades. Keep in mind that the cut points were chosen mostly to ensure a certain grade distribution.

Q: I believe my section leader was an overly harsh grader and that this caused me to get lower scores on all of my assignments that students in an easier section. This is not fair! I think I should get a higher grade to account for this.

A: It is not likely that you had the "mean" section leader. We work hard to maintain consistent grading. Our grades are carefully standardized, verified by automated scripts, and audited by the head TA and others. Besides, if you were not satisfied with your assignment scores, you should have submitted this within 1 week of your IG as described on the course info sheet. We are not willing to alter your assignment grades at the end of the quarter based on a perceived unfairness of homework grading earlier in the quarter.

Q: (After mid-quarter grades are poste) Should I drop the class?

A: That is always a very personal decision, and I think it usually depends more on a variety of factors outside this course than factors inside this course. Mathematically it is almost always possible to recover from a midterm score, no matter how low. So it comes down to whether you will have the bandwidth to really ramp up effort in this class. I have seen really dramatic turnarounds post-midterm when students were able to do that. I would only consider dropping if you anticipate that you won't have the bandwidth to spare to really make an investment in turnaround. This most often happens when there are other classes that need similar turnarond investment and you can't do it in all of them, or when there are other challenges going on.

Q: (After mid-quarter grades are poste) Should I switch to Credit / No-Credit (CR/NC)?

A: See above question about dropping because some of the same thoughts apply here. If you switch your grading basis, you will get "CR" (pass) if you earn a C- or better in the course, or "NC" (fail) if you get D+ or below. Statistically around ~88-90% of the class gets a C- or better, so almost every student should be able to earn a CR mark. While switching to CR/NC can relieve grading pressure, in my experience it sometimes leads the student to relax too much, skip an assignment, not study for the final, etc., which can push the student down below the C- threshold. Really it depends on you and your unique situation, inside and outside of this class; what other hard classes are you taking? How much time do you have to work on CS 106 for the rest of the quarter? Do you see evidence of a possible upward trend in your skills and performance? We will leave this for you to decide; one reason we post approximate grade information during the quarter is to give you a sense of where you stand to help you make a decision like this.

Q: Why didn't I get the grade I wanted? I turned in most/all of the homework, I took both exams, and I showed up to class most of the time. Shouldn't that be enough?

A: Passing the course is based on getting an overall percentage above some threshold that is set each quarter, generally in the high 50s or around 60. If you do not attain that percentage, you do not pass the course, even if you did come to class and did submit the assignments. Our grades are not given solely based on attendance, participation, or turning in every assignment.

Q: Can I just count my final double if I improve on the final? Can I do extra credit or other extra things to compensate for my midterm grade or a low homework grade?

A: No, the course work is what it is. The points allocation and other policies in the course information sheet are like a contract, and that is how we will grade. There is almost always something you can do on our assignments for extra credit, but keep in mind that this gives only a very small amount of extra credit.

Q: (After mid-quarter grades are poste) What are some specific things I can do to improve my grade between now and the end of the quarter? How likely is it that I can improve my grade?

A: Many students do improve their grade as the quarter goes on. You are constantly improving your skills throughout the quarter, and for many people things start to "click" toward the end of the quarter. The biggest things you can do to improve your performance on future homework assignments are to start early and to read the spec carefully to understand the requirements and the style constraints. The biggest thing you can do to improve your future exam scores is to do lots and lots of practice problems. Practice makes perfect!

Q: Can I meet with you in person to discuss my grade? This is very important.

A: We prefer to try to minimize in-person meetings about grades. Frankly most of them amount to the student trying to ask what their "options" are (when this information is all already posted and available to the student) or attempts by the student to try to change their situation through various plea bargaining. We do not renegotiate course expectations or grading basis at in-person meetings. We will not raise your grade out of sympathy. We will not modify the weight of various exams or assignments for you. We will not give you some kind of extra-credit work to make up for points that you missed. We will not drop your lowest homework score or exam score. We will not change the midterm weight or final exam grade weight for you because you happened to do poorly on that exam. Your grade is determined by the numbers alone based on the weights and rules defined in the course information sheet.

As stated earlier, if something is wrong with your grade, we'll make sure it gets fixed. Grades can be changed after submission if necessary, even in the following quarter. But we do not come in to campus during the between-quarter break to meet with students who are upset about their grades. We will have to resolve the matter by email or by a meeting during the next quarter.

Thanks to Cynthia Lee's CS 106A/B/X web pages for some of the verbiage used here.

This document and its content are copyright © Marty Stepp, 2016. 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.