Grading, Assignments, and Exams
Grade breakdown
Your grade will be determined as:
- 50% mini projects (5 projects)
- 10% midterm
- 20% final exam
- 20% attendance and participation: includes lectures, discussion sections, pre-work, surveys, and in-class activities
We will use the standard map from numeric grades to letter grades (>=93 is A, >=90 is A-, etc). For the midterm and final, we may add a fixed number of “free” points to everyone uniformly to effectively curve the exam at our discretion - this will never result in a lower grade for anyone.
We will use Gradescope to track grades over the course of the semester, which you can verify at any time and use to compute your current grade in the course for yourself.
Some mini projects will offer opportunities for extra credit which provide a supplement on top of the grades from the above (i.e., allow students to get more than 100% or make up for lost work).
Assignments Grading and Policies
Mini projects
Our 5 mini projects are graded equally as follows:
- 60% correctness and performance: whether your code passes our tests within the allocated time.
- 40% code reviews / oral examination: include code quality, collaboration, and analysis/reflection.
You will get partial credit for solutions that do not pass all the tests or that take longer than the allocated time. This partial credit is proportional to how far your solution is from one that meets our tests and performance. You may receive some partial credit for code that does not compile or otherwise fail to pass any of the tests, provided that it demonstrates some conceptual understanding of the material.
Code reviews
We will have 4 code reviews in total, one for each of mini projects 2–5. We will hold the code reviews during the discussion sections immediately following the mini project deadline. We will review late submissions at their current state, provided they are sufficiently near completion. If you have no code or progress to show during code review, you will receive a 0 on that mini project.
Code review format: Each student will have their own code review during the discussion section (roughly 15 minutes long). The reviewer will be the instructor.
Code review contents: The code reviews will provide you with feedback about the design of your code and any potential issues. The review will include verbal questions and will go over your code and commit history.
We will ask you to explain certain code blocks, justify your design or approach, or compare it with other hypothetical approaches. The review will also contain reflection questions that ask you to draw conclusions or highlight lessons you learned from working on the assignment.
Absences: You must be present for your code review. You may request an alternative time provided reasonable justification, and we will work to find a suitable arrangement, e.g., in office hours.
Please give at least 2 days notice before requesting rescheduling. Missing code review without a documented excuse or prior notice may result in 0 for that mini project.
Online Resources and AI Use
Wholesale use of AI on assignments is forbidden. We define wholesale to mean asking AI to generate chunks of code, such as entire functions, structs, or complex multi-line code blocks.
We encourage you not to mindlessly use AI to help with your assignment. This can lead to over-reliance on AI and defeat the purpose of the assignment: for you to practice your coding skills. Limited use of AI, e.g., to find particular API calls, is allowed, provided you are able to explain your code, design choices, and reason about the decisions you made during code review. The same applies to other resources, such as Stack Overflow. You will need to document such code with a comment and provide a link to the online resource or relevant prompts you used.
AI Use Document: You will be required to submit a short document with each assignment describing how you used AI, if at all. We will confirm your understanding of the code, and whether any AI use was within acceptable parameters in the code reviews.
Over reliance on AI: If you are unable to adequately explain your code or answer questions about it in code review due to over-reliance on AI consistent with your AI use document, you may lose a significant portion of your code review portion of the grade.
Academic dishonesty: If you fail to honestly report your use of AI or online resources and we confirm this via our code review, you will receive a 0 on that mini project, and your final grade in the course will be capped at a B. A repeat violation will result in an automatic F. We may refer egregious cases to the appropriate CDS and BU committees.
Due date and late submission
Our mini projects are generally due on Mondays, 11:55pm. Students have the option to submit up to two days late for a maximum of 80% of the assignment’s grade.
Attendance
We will track attendance in lectures via in class polls. These polls track the location of the students to ensure they are physically at class.
We understand that unexpected circumstances can happen: students may miss up to 2 lectures and 1 discussion section without having to provide an excuse.
We will accommodate documented absences within reason and inline with BU’s policies and guidelines, but may ask for official documentation.