--- tags: Projects --- # Project Logistics, Spring 2021 In CS0180, there will be two group projects and one individual mini-project. Please read this handout for more information about project logistics, because projects are a larger undertaking than the usual homework assignment. More project-specific material, such as project-specifc deadlines, content, and grading criteria will be found in each project's respective handout, released 2 weeks before their due date. ## High-Level Overview of Project Logistics The rest of this document will expand on each of these points. - You will be part of a project group (2-4 students) that collaborates on a high-level design of the project. (This part generally does not involve writing code.) One member of the group submits it (via Gradescope; this is *Deadline 1*) - Your project group will meet with a TA to review your design (this is the *Design Check*) - After the design check, your project group must split into subgroups to write the code. The subgroup must have either 1 or 2 people. ## Project Groups and Design Check TAs Students will be working in 2-4 person groups for at least part of the project. For this semester, you are allowed to work with the same members for both group projects. ### Note on choosing your project group You will choose your own project group. For help with the group search, please use [this piazza post](https://piazza.com/class/kjqgmueegkh6j2?cid=5). Also, we encourage you to reach out to your mentor groups as well! ### Project Groups Meet with your group and work on the design check together. When you submit to Gradescope, submit one handin for the group. - If you need access to the stencil code before your design check, please checkout the stencil from git for *each subgroup* (more on this in the next section). When submitting code for the design check to Gradescope, however, only one person needs to submit. ### Project Subgroups After completing the design check, you should start the implementation of the project. For the implementation phase, you must split into groups of 1 (individual) or 2. You may *not* form subgroups with members from another group. Each subgroup will submit one copy of its final code for the project. Regardless of how a project group splits, the members of the project group may help each other with both conceptual questions and debugging. You may not look at and debug the code of people outside of your group. *This will be considered a violation of collaboration policy.* That said, you are still encouraged to talk to any students about the project at a high level to fill out any conceptual gaps! **Everyone in the same subgroup is responsible for understanding the code that got turned in. The midterm and final may ask follow-up questions about the project.** If you split up work, take time to make sure everyone in the group understands how all of the pieces work. ### Summary of the Collaboration Policy The following table summarizes the collaboration policy for projects. | | Code Together | Conceptual questions | Debugging help | | -------- | -------- | -------- | --------- | | Same Subgroup | yes | yes | yes | | Same Group, Different Subgroup | no | yes | yes | | Classmates beyond group | no | yes | no| | Course Staff (TAs) | | yes | yes | | People outside Spring 2021 CS18 | no | no | no | ## Deadline 1: Design Check The design check will consist of a series of questions, usually written (though there may be coding questions, depending on the project). These questions will be detailed in each project's handout. After reading the project handout on their own, group members are expected to come together, work on the design check questions, and submit a single design check work on Gradescope. Only one submission per group is necessary, and the person submitting should add ALL their group members to the submission on Gradescope (feel free to come to hours if you're having trouble doing so). Groups should submit this work no later than *two hours* before their design check appointment that was signed up for. This gives your design check TA enough time to read it before your discussion! The design check appointment itself will be a ~30 minute Zoom call with the design check TA where group members will talk about their answers to the design check questions. *All* group members are expected to come to and participate in the discussion. The design check TA may ask any group member questions about the work that was submitted. #### A note on design check grading: Your design check grade will be primarily based on whether you had viable ideas for each of the questions and were able to explain them adequately to the TA (for example, we expect you to be able to describe why you picked a particular plot or table format). Your answers do not have to be perfect, but they do need to illustrate that you've thought about the questions and what will be required to answer them. The TA will give you feedback to consider as part of your final implementation of the project. Your design check grade will be worth roughly a third of your overall project grade. Failure to account for key design feedback in your final solution may result in deductions. Remember that the goal of the design check is to review your project plans and to give you feedback well before the final deadline! Many students make changes to their designs following the check: doing so is common and will not cost you points. ## Deadline 2: Final Handin Finally, all project **subgroups** will hand in their final submission on Gradescope! Only one person from each subgroup needs to hand in the submission, but they should add the other member of their subgroup to the handin on Gradescope (feel free to come to office hours if you're having trouble doing so). *For example: if a group of 4 splits into two pairs, each pair will submit their own handin. For each pair, the person submitting will add the other member of their pair to their submission.* After submission, subgroups will meet with their grader for Final Grading to go over the project. Afterwards, subgroups have 24 hours to attempt to fix and resubmit their implementation for half points back for *functionality deductions*. ## Peer Assessment At the end of the project, you'll also be asked to fill out a form describing how each member of your group and subgroup contributed to the project work. You'll also describe your groupmates' strengths and weaknesses as project partners. **Your answers will NOT be shared directly with your groupmates**. This assessment serves two purposes: - It helps the faculty and HTAs manage any concerns that arise over group dynamics. - It helps us help you assess your skills at working with others on programming projects. If we see similar comments arising from multiple groupmates, we'll share an aggreated summary with the student in question. These assessments will not impact your project grade, unless they reveal that you did not actually contribute (much) to work that was submitted in your name. If you have concerns about this, reach out to Kathi.