Frequently Asked Questions (FAQ)

At the start of the quarter:

Q: I haven't taken CS 106A before. Should I be in CS 106B?

A: CS 106B assumes basic programming experience in Java, C, C++, or a similar language. We expect you to be familiar with concepts such as:

  • variables
  • parameters
  • loops
  • if/else
  • arrays
  • 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 don't have very much past experience and haven't taken 106A, you may want to consider taking that course first.

If you've taken AP CS in high school and did well in it, 106B is generally a good choice. If you are largely self-taught (such as online courses and tutorials), unless you have extensive experience, 106A may be a better fit.

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.

Q: I have some past programming experience. Should I take CS 106X or 106B?

A: CS106B and X are somewhat similar, though X is an accelerated version of the course. 106X covers the same material as 106B, but at a faster pace and at a deeper level. Less time is spent on the basics of each given topic and more time on interesting applications and challenging problems. The assignments and exams are generally harder and require more work than those in 106B. The group of students in X also has a different mindset than in B, since it is a concentrated group of high-achieving students.

Throughout the quarter, X assignments are characterized by greater difficulty in number and complexity of required features, and require more independent design decision-making. Although B and X cover the same topics, B often treats them on a more practical/coding level, where X treats them with a more design-oriented, mathematical, or theoretical flavor. For example, where B lectures might cover several examples of declaring functions, X lectures might rush or skip the basic examples and move on to exploring why C++'s function declarations enable its compiler to be more efficient. Topics we treat with more math and theory in X include algorithm performance analysis and graph structures.

If you want a challenge and want to be among a cohort of high-powered students with significant experience, X is a good choice. If you are simply interested in adding coding to your skillset, but not majoring in CS, B might be a more efficient path to your goal. If you are at all unsure, B is probably the best fit for you.

Q: If I choose a particular course, such as CS 106B or X, but later decide it was wrong for me, what can I do? Am I stuck?

A: If you discover that you've chosen the wrong 106 course (such as deciding that B/X was too hard, or that A was too easy/redundant for you, etc.), we can sometimes switch you to another course if it is early in the quarter. Typically your scores for any assignments you completed are transferred over to the new course. You will need to contact both instructors (of the course you're in, and the one you want to switch into) to ask them if this will be possible in your case.

Q: Can I audit CS 106B? I just want to sit in and learn about the concepts or about C++ 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 106B lectures going to be video recorded?

A: Yes. Video recording is done for courses that are broadcast to online students through SCPD, which is happening this particular quarter. It is not possible to participate in voting exercises in lecture if you do not attend in person, though.

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

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

  • Lectures: Lecture participation counts for part of your course grade, but if you must miss lecture or choose not to attend, you can opt out of this part of the grade. See course information handout for details.
  • 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. The 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 106B 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: It's fine 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 cs198.stanford.edu web site and using the Section Swap option. If that does not work (due to a full section, etc.), please email the section leader coordinators 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: There is no way to make up for a missed lecture participation, but you do not need to attend 100% of lectures to receive full credit for that part of the course grade. 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. But you don't need to attend every section to get the full points, so it is fine to miss a few 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: 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: You should probably 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 problem 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.

At the end of the quarter:

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: You don't understand... I need to get a (grade2) because (reason), even though the points I got in the course only add up to (grade1). Will you please change my grade to (grade2)?

A: See previous question.

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 info sheet 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: 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 meet with you in person to discuss my grade? This is very important.

A: Yes, you can meet with us if you like. But not until next quarter, when we're back in our offices. Until then, we can only communicate with you by email. 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.

And, please understand, there is no "bargaining" to be done here. We are not going to raise your grade because of begging or sympathy. Your grade is determined by the numbers alone.

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.