CS11 C++ - Spring 2019-2020

Track Info

We will not be holding meetings for the CS11 C++ track. All necessary course material is available below.

Contact info for this track is as follows:

If you need help with any of the labs, please do not hesitate to email Donnie and the TAs; we are happy to help. Make sure to attach the code you are having difficulty with, so that we can see what the issue might be.

We can also set up a Zoom meeting if you would like to work through issues that are better resolved by direct interaction.

Please ask for help if you get stuck on any issue for more than 30 minutes to an hour! Also, if you have a question and you don't want to wait for office hours, feel free to email any or all of us for help.


Assignments are due weekly at the dates specified below. Since we are not having lectures, the due-dates of the assignments are simply in place to keep the course moving along, and to help keep the TAs from being overwhelmed with work to grade at the end of the course.

This term we will be using the Caltech Gitlab server for homework submission, and to provide you with other files necessary for the labs. The Caltech Gitlab server can run automated tests on your submissions, which will help facilitate faster grading, particularly for the large number of CS11 C++ students we have this term.

This is a new system for CS11, so your patience will be appreciated! Let us know if you run into any difficulties. You can read more about how to start each assignment, and how to manage each assignment's repository, on this web page.

Grading Policy

Each submission is assigned a numeric score out of 5 points. Deductions may be applied for correctness issues, style issues, design/structural issues, and so forth. You will receive feedback as to why deductions are applied.

To pass CS11 C++, you must receive at least 75% of the total available points. This means it is definitely possible to complete the track without completing all assignments, but if you have any interest in being a TA then you need to complete all assignments.

Late Policy

In general, late assignments will not be accepted; you must submit your work before the due date for it to be accepted. However, if you need an extension on an assignment, you can use late tokens to extend the due date of an assignment. Each student is given six (6) late tokens to use throughout the term; you may apply up to 2 late tokens on an individual assignment. Applying a late token will extend the due date by 1 day.

If you run into extenuating circumstances, or otherwise find that this policy isn't working for you, please talk to Donnie so that we can figure out a good solution.

Resubmitting Your Work

After you have received a grade for an assignment, you will have the opportunity to rework and resubmit it ONCE. The rework period will extend for approximately one week after you have received your grade back for the assignment. More details on this will be made available when your first assignment is graded.


All of your grades for the term will be made available on codePost.io. More information will be shared with students when the grades for the first assignment are made available.

Collaboration Policy

General discussion about assignments is encouraged, but you must write all of your own code. Some assignments build on source-files that I will give you, but other than that, all other files that you work with and/or submit should be entirely your own work.

High-level discussions of implementations (e.g. drawing diagrams of data-structures, or pseudocode sketches of algorithms) are acceptable, but verbatim or near-verbatim copying of implementations is unacceptable, and will be considered an Honor Code violation.

Lecture Slides

Lab Assignments


C++ Reference Materials