Policies
Assignment Submission Policy
All assignments must be submitted on GitHub in order to be graded. The setup instructions walk you through the required steps.
Late Policy for Assignments
Due to the rapid schedule of the lab assignments in this course, it is very important to stay on top of the due dates for the assignments.
However, we understand that occasionally students may need a little more time to complete an assignment. To be fair to all students, everyone gets up to TWO no-questions-asked 2-day extensions on a lab assignment. These two days apply to both the initial deadline for the lab as well as the regrade deadline. You cannot “stack” your extensions (use both on the same assignment).
Critically, there are no further extensions beyond the two allotted extensions everyone gets. If you run out of extensions, you will not be granted any more regardless of the circumstance. Make sure you save your extensions for when you truly need them, as you will not be given any more if you use them poorly. It is a limited resource.
There is no bonus for saving your two extensions nor is there a penalty for using up both extensions, so feel free to use or not use them as you see fit.
Keep in mind that the regrade policy means that, for example, if you have mostly been getting As as the final grade for your lab assignments, getting an initial grade of C is fine as long as you complete the specs to get a B by the regrade deadline.
In order to use one of your allotted extensions, fill out this Google form (USC login required) no later than the day after the assignment was due.
An example of how this works:
- Lab 6 is normally due on Wednesday at 11:59PM
- A student realizes they will not be able to make sufficient progress by the deadline, so they fill out the Google form to request the extension
- This uses up one of the student’s allotted no-questions-asked extensions
- For this student, Lab 6 is now due Friday at 11:59PM
- Lab 6 regrades would normally be due the following Tuesday at 11:59PM, but for this student, their Lab 6 regrade is now due Thursday at 11:59PM
Students who have a due-date related OSAS accommodation should send the accommodation letter to their professor as soon as possible and discuss how the accommodation would work in this class.
If you have a serious, life-altering event occur that will make it difficult to complete the coursework, we strongly encourage you to contact Campus Support and Intervention to learn about what University-provided options may be available to you.
In-class Lab Makeup Policy
There are no makeups or exemptions for missing an in-class labs. However, you can miss up to 6 without any impact on your grade, so if you miss a couple because you get sick or for any other reason, it’s totally fine.
Late Add Policy
Students who add the course during the first week of classes do not have any modified due dates.
Students who add during the second week of classes will have their Lab 1 due at the same time as their Lab 2. Lab 2 is due at the normal time as every other student.
Due to the pace of the course, D-clearances will not be granted for the course during the third week of classes.
Exam Makeup Policy
For the midterm and programming exam, if you have a documented emergency that prevents you from taking the exam as scheduled, please let your professor know as soon as possible.
Occasionally, the exam may conflict with a major conference that several students are attending such as Grace Hopper. In this case, let your professor know at least two weeks prior to the exam date and we will figure out an alternate time for the exam for affected students.
Under no circumstances will students be allowed to take one of the exams online.
For final exams, we are required to stick to the official University policy:
No student is permitted to omit or take early a final examination and no instructor is authorized to permit a student to do so.
Students should plan in advance to avoid scheduling conflicts in their final examinations. If a student is scheduled for two final examinations at the same time, the student should request to take one of the examinations on a different day or time. If a student is scheduled for more than two final examinations in one day, the student may request to take one of the exams on a different day or time. In either situation the student must contact the professors involved no later than two weeks prior to the scheduled examination date and request an accommodation.
That being said, if you have a documented emergency that prevents you from taking the final exam as scheduled, we will make a good-faith effort to schedule a makeup. However, there is a nontrivial chance you will have to take an Incomplete and make up the exam in a future semester.
Plagiarism and Individual Work Policy
In this class, programming assignments are expected to represent the individual effort of each student. All programming assignment submissions will be compared with current, previous, and future students’ submissions using MOSS, which is a code plagiarism identification program. If your code significantly matches another student’s submission, you will be referred to OAI with a recommended penalty of an F in the course.
It is okay to discuss solutions to specific problems with other students, but it is not okay to look through another student’s code. It does not matter if this code is online or from a student you know, it is cheating. Do not share your code with anyone else in this or a future section of the course, as allowing someone else to copy your code carries the same penalty as copying the code yourself.
Furthermore, do not post your source code for the assignments on any public website including a public repository on GitHub. If you would like to share your source code with a potential employer, you may do so privately, but if you make your source code publicly accessible there is a high likelihood that someone in a future semester will copy your code. You may include executable versions of your games (including on the web using Emscripten) in your portfolio, but do not make the source code public.
AI Usage Policy
You are not allowed to use an AI or large language model such as ChatGPT or GitHub Copilot to help complete any coursework (including assignments, labs, and exams) for this course. If you are determined to be using one of these AI tools to complete assignments, you will be reported for an academic integrity violation.
The purpose of this course is to teach critical foundational knowledge. Using AI goes against this key learning outcome, and the current state of the art with these AI models is wildly inaccurate at times. Without this foundational knowledge you will not be able to find and fix these inaccuracies. So, regardless of whether you use such tools in other courses or on your personal projects, for this class we want you to disable them and write all the code yourself.
Finally, I would ask that if you send me communication whether via email, Piazza, or other means, please do not use an LLM to generate the email as it writes unnecessarily long emails that do not get to the point.
Course Material Policy
Do not reproduce, distribute, or post any lecture material, assignments, assignment solutions, or exams publicly without written consent of the instructor. You may take notes and make copies of course materials for your own use. You may not post course materials on sites like CourseHero or Chegg. Doing so is a copyright violation and in some cases may also be an academic integrity violation that will be dealt with accordingly.