No Electronics

You cannot use electronics of any kind in class. (i.e., no laptops, cell phones, tablets, Google Glasses, Apple Watches, Microsoft HoloLenses, etc.)


If you require any special services or accommodations during this course please make sure you register with Disability Services within the first two weeks of this course. This will give us time to plan accordingly to ensure that you get the help you need before it is too late. If you contact us after the two weeks we may not be able to provide you the help you need.

Honesty Policy

All projects in this course are to be done by you and you alone. Violation will result in an immediate F grade for the course and possible initiation of the formal procedures of the University. We use an automated program and manual checks to correlate projects with each other and with prior solutions. If you cheat, we will catch you.

At the same time, we encourage students to help each other learn the course material. As in most courses, there is a boundary separating these two situations. You may give or receive help on any of the concepts covered in lecture or discussion and on the specifics of programming language syntax. You are allowed to consult with other students in the current class to help you understand the project specification (i.e., the problem definition). However, you may not collaborate in any way when constructing your solution: the solution to the project must be generated by you working alone. You are not allowed to work out the programming details of the problems with anyone or to collaborate to the extent that your programs are identifiably similar. You are not allowed to look at or in any way derive advantage from the existence of project specifications or solutions prepared elsewhere.

If you have any questions as to what constitutes unacceptable collaboration, please talk to the instructor right away. You are expected to exercise reasonable precautions in protecting your own work. Don’t let other students borrow your account or computer, don’t leave your program in a publicly accessible directory, and take care when discarding printouts.

In addition, you are subject to the university’s academic honesty policy and guidelines for classroom civility. You must read both of these.

Asking Questions

During Office Hours

The course staff have scheduled office hours. They tend to get busy so use them wisely. As a general rule, we will restrict office hour visits to at most 20 minutes. This will (1) help us serve more students and (2) help you focus your visit.

Come to office hours prepared with specific questions or examples. Do not expect to sit in office hours and fix an assignment in front of us while we answer your questions - this means you can’t code in front of us unless we explicitly ask you to do so.

Most questions will get answered faster online than in person.


Use Piazza for all online questions. You can use Piazza to message the entire class, just the course staff, or even individual staff members.

Please do not send email. We will respond with “resend to Piazza”.

Your Grades

Several factors determine your grade in this course. They are weighted approximately as follows:

Programming Assignments80%
Discussions Assignments10%

The exact grading scheme may be adjusted during the course. However, a typical breakdown of percentages and final grades for this course are A (93-100), A- (90-92), B+ (87-89), B (83-86), B- (80-82), C+ (77-79), C (73-76), C- (70-72), D+ (67-69), D (60-66), F (0-59).

Your current grades are available on Moodle. You must track your own performance throughout the class.

Late Homework

You have four late days to use for any sort of emergency or party. Please do not tell us you’re submitting things late. We know how to program computers to track this for us.

After that, the following policy applies: you lose 10% of your grade on an assignment for every 24 hours that an assignment is late. This has two consequences:

You lose 10% of your grade on an assignment for every 24 hours that an assignment is late. This has two consequences:

  1. You get 0 points after 10 days.

  2. There is no point staying up late at night after the assignment is due. If you realize you’re going to be late, go to sleep, come to class in the morning, and finish the assignment after class.

In addition, once an assignment is late, you lose certain privileges:

  1. You may not receive help from the course staff on Piazza or in person, since they will be focusing on the next assignment.

  2. In certain exceptional situations, we will correct trivial mistakes in your code (e.g., fixing names of required functions). Howvever, we will not apply corrections to late assignments.

So, we strongly recommend not submitting homework late.


There is no guarantee that the assigned reading will cover everything discussed in class. Conversely, the reading may go into great depth on material the instructor thinks is unimportant. Therefore, attend class to find out what actually matters!

You have to complete and hand-in work in most discussion sections. Think of this as your “attendance grade”.