Assignments


Programming is a skill best learned by doing, and the programming assignments in CS106B form the central skill development part of your experience in the course. We have a great set of assignments planned that we hope you will find fun, challenging, illuminating, and rewarding. There are 10 assignments, one each week (see the course schedule for tentative assignment dates). Students self-report spending between 10 and 20 hours on each assignment. If you find yourself heading towards the upper end of that range for an assignment, please reach out to course staff for tips. Our workload is challenging because we want to foster the most growth possible for you in our 10 weeks together, but we do want the total hours to stay within reason for a 5-unit course and are happy to work with you towards that goal. In CS106B, we write programs in the C++ language and use the Qt Creator IDE for editing, compiling, and debugging. Please visit the Qt Installation Guide for install instructions.

Assignment Grading

Programs will be evaluated on "functionality" (is the program's behavior correct?) and "style" (is the code well-written and elegant?). We apply a bucket grading scale for a wholistic qualitative evaluation rather than fixate on individual points. To learn from the grading feedback, focus your attention on the qualitative comments and the discussion with your SL in IGs.

  • + : A submission that exceeds our standard expectation for the assignment. A submission must reflect additional work beyond the basic requirements to be eligible for this grade. (letter grade A+)
  • âś“+: A submission that satisfies all the requirements for the assignment, showing solid functionality as well as good style. It reflects a job well done. (range A/A-)
  • âś“ : A submission that mostly meets the requirements, with some small issues or oversights. (range B+/B)
  • âś“-: A submission that is a good attempt at meeting the requirements, but falls short in some ways. (range B-/C+)
  • - : A submission that exhibits serious problems, but nonetheless shows some effort and accomplishment. (range C/C-)
  • --: A submission that shows low effort or does not represent passing work.

Working in Pairs

A majority of the assignments in this course must be completed on an individual basis, but a few will allow you to work in a pair with a partner. Each assignment will specify if it is to be done individually or allows working in pairs. Note that you are not required to work with a partner on assignments that allow it, but you are encouraged to do so. Working in pairs can improve your learning by giving you someone to talk to when you are stuck, or by letting you see a different way of approaching the same problem. You can also change partners between assignments. In other words, you don’t have to keep the same partner for every assignment that allows pairs (and you can even choose to do some in pairs and other individually).

If you choose to work with a partner, you must pair with another student who is currently taking the course and is in your discussion section. If you have a friend you want to work with, request the same section or request a section swap if necessary. Students auditing or sitting in on the course may not work in a pair with a student who is taking the course. No one who is not currently enrolled in the course may be part of any pair.

If you submit an assignment as a pair, each of you are expected to make a significant contribution toward solving that assignment. You should not claim to be part of a pair submission if you did not contribute significantly to the submission. See our Honor Code policies for more details.

If you submit an assignment as a pair, you should make one submission and make sure that the names of both members of the pair are listed in the comments of the solution. Both members of a pair will receive the same grade and do their interactive grading session together.

It goes without saying that regardless of pairs, every student is still responsible for learning all course material. All exams are completed individually. More details about working in pairs will be discussed in class and additional information will be posted on the class web site. Please make sure that you follow its guidelines.

Late Policy

Each of the assignments is due at the start of class on the dates specified in the syllabus. All assignments are due at 1:00PM sharp on the dates indicated on the assignment handout. Anything that comes in after 1:00PM will be considered late, so please leave some buffer time before submitting.

Because each of you will probably come upon some time during the quarter where so much work piles up that you need a little extra time, every student begins the quarter with four free late days. A “late day” is a free 24-hour extension on an assignment. No assignments may be submitted more than 48 hours late, even using late days, without prior approval by the head TA. In other words, you cannot use more than two late days on a single assignment. If you submit an assignment late and have used your late days, we will cap your score on both functionality and style at ✓- for the purposes of grading (though in your interactive grading session you’ll still receive the scores you would have otherwise received on the assignment so that you get more detailed feedback). You should think of these free “late days” as extensions you have been granted ahead of time, and use them when you might have otherwise tried to ask for an extension. As a result, extensions beyond these four free “late days” will generally not be granted.

If you are working with a partner, each of you will be charged a late day if you submit beyond the deadline. If you have late days remaining and your partner does not, then your partner will be subject to the above score cap while you will receive the normal grade on the assignment.

In very special circumstances (primarily extended medical problems or other emergencies), extensions may be granted beyond the late periods. To request an extension, fill out this form at least 24 hours before the normal assignment deadline. Note that your section leader cannot grant extensions.

Note that late days may not be used on the last assignment, as it comes due during the finals period normally reserved for this course. More specifically, we will not accept any late submissions for the final assignment, even if you have remaining late periods, since university policy prevents us from having assignments come due then.

Common questions about assignments


What is the assignment collaboration policy?

Unless specified otherwise, assignments must be completed individually. Later in the quarter, on some assignments you will be allowed to work with a partner. For more information about working in pairs, see our ["About Partners"][about_partners] page. For more about our Honor Code policies, see our Honor Code page.

How can we get help on our assignments?

Your main starting points for help are the online forum and the nightly virtual drop-in "LaIR" help hours with the section leaders (undergraduate TAs). The online forum alows 24-hr access to discussion with your peers, and quick (though not 24-hr, we do sleep!) answers from course staff. The instructors will also hold weekly office hours where you are welcome to discuss assignments or other topics.

From past experience, we expect most grades to be âś“+ and âś“.

How do we receive feedback from our grader?

You can view your submission on Paperless with comments and annotations from your grader along with the bucket scores for functionality and style. For some assignments, you will also meet with your section leader to discuss the grading feedback in a short IG ("interactive grading") conference.