Course evaluation consists of programming assignments and exams. For more information on the schedule, see Assignments and Exams. Note that the schedule for assignments on the website are preliminary and subject to change. In case of a mismatch between this document or the information available on the website and announcements by course staff, the latter shall prevail.
Regrades: If you feel we have made a mistake while grading your work, email your preceptor with a short note describing the potential mistake. You must do this within two weeks of the work being returned.
Late Submission: You should submit your work on an assignment (electronically) before its due time. All assignments will be due at 11:59 PM on their selected days.
If you submit your work late, we will award you a fraction of the score you would have earned on the assignments had it been turned in on time, according to this sliding scale:
For example, if you would have earned 8/10 points but submitted 36 hours late, you will instead earn 6.4 points.
That said, you are allowed three “free” late days during the semester (that can be applied to one of assignments 1 through 4; the final assignment is due on Dean’s Date and cannot be turned in late). You do not need to tell us that you are applying your “late day” – we’ll remove the late penalty at the end of the semester from the assignment(s) that benefits you the most.
Change in Fall 2024: Because of the lateness in releasing Assignment 1, you have three extra “free” late days to use (you get 6 “free” late days in total) this semester.
We will grant no-penalty extensions only in the case of illness (with a doctor’s note) or extraordinary circumstances (with the involvement of the dean of your residential college). If illness or an extraordinary circumstance will cause you to submit an assignment late, then you should discuss the matter with your instructor as soon as possible.
Please plan your work on the assignments so that travel, interviews, athletics, touring, student clubs, extracurricular activities, religious holidays, etc. do not cause you to submit it late. None of the above reasons nor a heavy academic workload constitute an extraordinary circumstance.
The course grade will be composed as follows:
Percentage | Contribution | Details |
---|---|---|
50% | Programming Assignments | 5 total, 10% each |
25% | Midterm Exam | |
25% | Final Exam |
We do not anticipate applying a grading curve. In no case will grades be curved down (i.e., 93% will always translate to an A).
The following sections provide an overview over the course’s assignment and collaboration policies. Lecture 2 discusses the course policies in detail. In case of a mismatch between this document or the information available on the website and announcements by course staff, the latter shall prevail.
You will complete programming assignments individually unless we tell you otherwise. If the specific assignments require you to work in pairs (groups of two), you need to use Git to collaborate. We will automatically grade the last commit each time you push to your group’s GitHub repository and report the grade as a GitHub comment on the commit. At the end of the semester, we will assign you the highest grade obtained for each assignment, considering the late day allocation described above.
In other words, there is no penalty for pushing regularly to your repository, and you should know within a few minutes how much of the assignment you’ve successfully completed.
To begin working on a released assignment use the assignment dashboard (to be activated…).
This course permits many forms of collaboration, including help from course staff, classmates, and lab TAs. Googling is allowed and even encouraged in this course. You may use any _non-AI_online resource as long as you cite the source (e.g., including the URL of source in the code). AI online resources such as ChatGPT and Copilot
Here is a summary, where ✔ means YES and ❌ means NO. If you have any questions, please contact the course staff. Note the summer refers to Groups - when you are working on an individual assignment, your group consists of one - yourself.
activity | your group for the 2 assignments* |
course staff | COS 316 grads | classmates | other | AI tools (e.g., ChatGPT, Copilot) |
---|---|---|---|---|---|---|
discuss concepts with … | ✔ | ✔ | ✔ | ✔ | ✔ | ❌ |
acknowledge collaboration with … | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
expose solutions to … | ✔ | ✔ | ❌ | ❌ | ❌ | ❌ |
view solutions from … | ✔ | ❌ | ❌ | ❌ | ❌ | ❌ |
plagiarize code from … | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Your solutions. The term solutions refers to any of the products created when completing an assignment, such as source code (including comments) and documentation. It includes both finished and unfinished products, regardless of correctness or completeness.
Working in Groups. Two of programming assignments require you to work in groups. Here are the rules regarding group work.
Plagiarism. As members of the University community, students are bound by the rules and procedures described in Rights, Rules, Responsibilities.
All the rules above continue to apply after assignments are graded and after the end of the semester.