Grading, Homework, and Exams
Grade breakdown
Your grade will be determined as:
- 40% assignments
- 3 homeworks in the begining of the semster (5%)
- 4 mini projects (35%)
- 15% attendance: includes lectures and discussion sections.
- 15% final exam
- 10% mid term 1
- 10% mid term 2
- 10% 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 suplement 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 4 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.
Group work
The 3 homeworks are individual work. Our mini projects are for groups of 2-3 students.
All students in a group must be registered for the same disucssion section.
We expect students to contribute equally to these projects, and provide some guidelines for how they can split the work amongs themselves. Groups with drastically unequal contribution between their members will receive grade penalties.
All students in the group will share the correctness and performance grade component, but they will receive individual grade for the code reviews.
Code reviews
We will have 4 code reviews in total, one for each mini project. 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 suffiently 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 group will have their own code review during the discussion section they are registered for (roughly 15 minutes long). The reviewer will be the instructor or one of the TAs.
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 directed at the entire group, and specific questions for individual students. The review will go over your code and your commit history. It will also provide you with feedback.
We will ask students to explain certain code blocks, justify their design or approach, or compare it with other hypothetical approaches. They will also contain reflection questions that ask you to draw conclusions or highlight lessons you learned from working on the assignment.
Absences: All members of a group need to be present for their code review. A group may request an alternative time for a code review provided reasonable justification, and we will work with them to find a suitable arrangement, e.g., in office hours.
We ask that students give us at least 2 days notice before requesting rescheduling. Missing code review without a document execused or without giving prior notice may result in 0 for that mini project.
Corrections and resubmissions
Students will have the chance to resubmit their solutions for up to two mini projects of their choosing after the code review. The deadline for resubmission is Mondays, at 11:55pm.
Students can use the feedback they received in the code review to improve their code, e.g., make it pass all the tests cases, execute faster, or have a better design and overall code quality. This allows them to earn up to 50% of any grades they missed in their original submission.
Online Resources and AI Use
Wholesale use of AI in the homework and mini projects 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 stackoverflow. 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 resource and we confirm this via our code review, you will receive 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 eggreious cases to appropriate CDS and BU committees.
Due date and late submission
Our homework and 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 assignments 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 3 lectures and 1 discussion section without having to provide an execuse
We will accomodate documented absences within reason and inline with BU's policies and guidelines, but may ask for official documentation.