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 106X is very challenging. If you have not had significant programming experience or have trouble learning lots of programming concepts quickly, another CS course is probably a better fit for you. CS 106X is essentially a much harder CS 106B with more homework, harder exams, and a less forgiving grading curve. You should take it only if you want to be substantially challenged and would be bored in the regular CS 106B.

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

  • variables
  • loops
  • if/else
  • reading data from the user or from files
  • storing data in arrays and lists
  • writing functions/methods
  • parameters and return
  • value vs reference semantics
  • interacting with (using) objects
  • creating new classes of objects
  • testing and debugging a program (using print statements and/or a debugger tool)

If you have not learned any of the above topics, we highly recommend considering a different course.

It is permitted to skip 106A and go straight into 106B/X 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. This is a very 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. If you've had multiple CS courses in which you performed well, plus additional experience on your own, 106X may be the best fit for you.

We have a "Which course is right for me?" handout with much more detail on our Handouts page that you should read if you need more information on this topic.

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: CS 106B and X are somewhat similar, though X is an accelerated version of the course. 106X covers the same material as 106B, but at a much 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 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: Does CS 106X cover the material of both 106A and 106B at an accelerated pace? Is taking 106X a substitute for taking both 106 A+B?

A: No. CS 106X covers the material from 106B only. 106X does not teach the basics of programming as would be taught in 106A, and in fact assumes that you have already learned these basics and have strong mastery of them. If you haven't even had CS 106A or an equivalent course, taking 106X to try to "catch up" or get two quarters' worth of experience in one quarter is not recommended.

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.

If it is still before the end of Week 3 of the quarter, for example, you can do the following to switch from B to X or vice versa:

  • Drop one course and add the other to your schedule on SimpleEnroll or Axess.
  • Go to the site and drop yourself from your old section, then add yourself to an open section of the new course. (If there are no available sections in the new course, contact the head TA of that course to ask for help getting added to a section.)
  • Contact your old section leader to let them know that you are dropping their section/class and that they don't need to grade your programs any more.
  • Once you are in a new section, contact that section's leader to let them know you have added the class.
  • Ask the old class's TA and/or your former + present section leader to help you transfer over any graded homework scores for assignments you have submitted so far.
  • For any other issues, contact the head TA of the class you are switching into for help.

Q: Can I audit this course? 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, nor post on our message board, etc. 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 lectures going to be video recorded?

A: The instructor will make low-quality videos of lectures on their laptop. But these will not be a very good substitute for attending lecture in person.

A: Yes. Video recording is done for courses that are broadcast to online students through SCPD, which is happening this particular quarter. See the SCPD link in the class web site top toolbar.

Q: I would like to take this course, 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.
  • 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 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: How do I add myself to a section? They all appear to be full or blocked in the online system.

A: You will need to sign up for a weekly 50-minute discussion section using our online signup form. The form is typically open for submissions late in the first week of the quarter. You must use our link to sign up for section; using other online systems such as Axess will not work.

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.

Q: I don't have a laptop or cannot afford one. Can I still take this course and succeed in it?

A: Yes! Certainly not having your own machine makes things tougher. But you do have options and resources that you can use to succeed in the course. Stanford has a loan program that will let students borrow up to $1,000 specifically to purchase a laptop if they want to do so. Also, Lathrop has the 1-day loaner laptops if you need to check out a machine short-term. You could at least go to the LaIR if needed on that machine. The LaIR also has a policy that if you go to Tresidder and enqueue in the LaIR help line, once the section leader comes over to help you, you can ask them to go with you over to Old Union so that you can ask your question in that room. That will allow you to bring an SL to the cluster machine to ask about your code. The SLs are required to go with you and help you there as needed. The SL walks with you from Tresidder over to Old Union to help answer your question. So that is a way that you can still get LaIR help as needed.

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 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: Lecture attendance is optional, so you may miss a lecture without penalty (so long as no exam takes place on that day).

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 would like to take the final exam early so that I can leave to go to a {job, internship, vacation, holiday, wedding, etc.}. Is this okay? How can I make up the final exam? Can I take it early? Can I take the exam remotely?

A: No, we do not grant make-up exams for jobs, internships, personal events, nor to help accommodate your travel plans. We also do not allow remotely proctored exams by employers (aside from SCPD students). 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. In particular we do not give early exams to accommodate people who have internships or jobs that begin before finals week is over.

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 should 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.

Q: I have another final exam at the same time as this class's final exam. What should I do?

A: We will not grant a make-up exam for course conflicts. Stanford's official policies state that students must not sign up for two classes with final exams at the same time. You must drop one of the two classes or request an accommodation from the other course's instructor.

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: If you are experiencing hardship or trauma, we recommend that you contact someone at Counseling and Psychological Services (CAPS) to talk to them about your situation.

At the end of the quarter:

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. The cut points are chosen mostly to ensure a certain grade distribution.

Q: My homework percentage is lower than I thought it would be. I got mostly check-plus and check marks. Why is it so low?

A: Many students believe that the bucket markings like V+ and V have specific meanings, like "A" or "B". But the meaning of V+, V, V-, etc. is completely fluid and depends entirely on the distribution of such marks. The way the V buckets are mapped into percentages or letter grades is related to the number of other students who received high and low marks. If many students receive V+ and + scores, this affects the distribution.

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: 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, 2018. 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.