Written by Julie Zelenski

Assignment materials

Common questions about assignments

What is the expected assignment workload?

There are ~8 assignments over the quarter, spaced about weekly. These are largely programming assignments with occasional problem-set-like activities mixed in. Students self-report spending between 10 and 20 hours on each.

What programming environment and tools are used?

Students use their sunet accounts on linux myth machines, which are physically located in the Gates basement and support remote login. Students edit, compile, and debug on the myth systems using a suite of open-source development tools including gcc, make, gdb, valgrind, and git.

What is the policy on late assignments?

Students are rewarded with a bonus for on-time submission; there may be a small grace period that allows late work to be submitted. Read our detailed late policy for more details.

What is the assignment collaboration policy?

The programming assignments are to be done individually and should represent independent, original work. We adhere to the CS department Honor Code policy and offer specific examples of its application to CS107 coursework in our course collaboration policy. All students are responsible for carefully reviewing both of these documents and acting in accordance with them. We run all assignment submissions through a very thorough plagiarism detector and all suspected violations are handled by Stanford's Office of Community Standards.

How do I submit an assignment?

Assignments are submitted online using our submit tool on the myth systems.

How are assignments graded?

We consider both functionality and code quality. For functionality, we assess your program's effectiveness from an external perspective by testing its behavior on a broad range of inputs. For code quality, we run quality-based tests and read the code to see how readable, well-designed, and coherent it is. More detailed info about how assignments are graded.

How are assignments weighted?

The total number of points for an assignment is noted in its writeup. The points indicate the weight of that assignment relative to the others; i.e. an assignment graded out of 100 points has twice the weight of one graded out of 50.