We have a great set of assignments planned that follow up on the material presented in lecture and section. Programming is a skill best learned by doing, so the assignments form an integral part of your experience in the course. These projects will be fun, challenging, illuminating, and rewarding. Your sense of pride upon finishing is well deserved and your efforts earn you powerful skills and deep understanding.
Common questions about assignments
What programming environment and tools are used?
We will be using Qt Creator, which is an IDE for writing and building C++ programs. Please visit the Qt Installation Guide for further instructions on how to download and install Qt Creator.
What is the assignment schedule?
Our schedule plans for one assignment each week, due weekly on Friday at 11:59pm AoE (Anywhere on Earth).
What is the expected assignment workload?
Depending on the week's topics, the accompanying assignment may consist of written problems, hands-on exercises with the tools, targeting coding tasks, and/or a larger complete program. Students self-report spending between 8 and 15 hours on each assignment.
What is the policy on late assignments?
Students are automatically given a penalty-free 48 hour extension on all assignments. Read our course late policy for the details.
What is the assignment collaboration policy?
The assignments are to be done individually and should represent independent, original work. We adhere to the Stanford and CS department Honor Code policies. Please review our Honor Code handout to see specific examples of its application to coursework in this course.
How can we get help on our assignments?
The instructor and head TA will hold office hours (Zoom). The course helpers and section leaders staff regular LaIR helper hours (Zoom). Our online forum allows public Q&A and discussion with your peers. Please participate!
How are assignments evaluated?
Programs will be graded on "functionality" (is the program's behavior correct?) and "style" (is the code well written and elegant?). The evaluation for each category uses this bucket scale:
+ Exceeds our expectations, is effectively "perfect". WOW! To receive this grade, a program often reflects additional work beyond the requirements or gets the job done in a particularly elegant way.
✓+ Satisfies all the requirements for the assignment, showing solid functionality as well as good style. Nice job!
✓ Meets the requirements for the assignment, with a few small problems or areas of improvement. Solid work
✓– Has problems serious enough to fall short of the requirements for the assignment. Needs improvement.
– Has extremely serious deficiencies, does not demonstrate significant effort and understanding. Danger
0 Not submitted.
How do we receive feedback from our grader?
One great feature of the CS106 courses is that your programs are graded interactively in a one-on-one session with your section leader so you get targeted feedback for individual improvement. Your section leader will explain in section how to schedule these sessions and go over the grading process in more detail.