This assignment builds on assignment 8 as you take the product requirements and technical design and implement them as a team.
Each student should submit this assignment by 11:59PM on June 9, 2023 into the submission form.
Your team has written a PRD and a technical design doc for a new feature in the previous assignment. Now you should implement it to the best of your ability.
If you need to change your PRD or design doc, you may do so and submit an updated version. If you do so, please explicitly note the differences from your previous doc versions. Something like “UPDATE: This is no longer required. Instead…”.
For this assignment, TLs will be allowed to submit code, and non-TLs will be allowed to review code. However, the TL should still be given the opportunity to review the majority of changes, and can/should add follow-up comments to a review after the change has been submitted if the change was submitted before they could review.
Final grading on the team portion of this assignment will be a bit subjective, since everyone will have different project requirements. We will assess the difficulty of the projects (based on a team presentation in week 10) and give teams with harder projects more leeway in grading the final team product. You can expect grading among teams with similar projects to be fairly consistent, but you can expect a team that implements a more functional/difficult/higher quality version of a project to get a higher grade than a team who implements an easier/lesser quality version, all other things being equal. The goal here is to reward those teams who have put a significant amount of extra work.
In the final lecture, your team should present a 2-minute lightning talk of your final project/feature. Your presentation should cover:
- At least:
- Members of your team
- Description of your project/feature
- With some combination of:
- Demonstration of your project/feature
- Screenshot of dashboard
- Anything else interesting about your project/feature/team that you can think of
Be sure to add your slides to the class slide deck.
Presentations will be strictly limited to 2 minutes given the number of teams in the class, and will be used in the grading of your final assignment. Do not worry about trying to fill up the entire 2 minutes for the presentation as we prefer quality over quantity. Also if you get nervous, just put an image of a rubber duck on your screen and pretend you’re talking to that. You’ll be fine!
We expect a very short report (~ 2 pages) to be submitted. The report should include the following:
- Objective (what is the goal of your project)
- Specific contribution (what are the things built on your own and what are the things that were pulled out from available sources)
- Tools (Is there anything new that your team learned and integrated in 2 weeks)
- Methodology (links to new handlers/classes and testing)
- Evaluation (any observations/metrics/graphs/images/demos, how to run/evaluate the project)
Team grading criteria include:
- How well your implemented project matches your proposed product and technical designs
- How well your submitted work meets the development standards presented throughout the course (testing, documentation, logging, structure, readability, etc.)
- How difficult your project is as judged by students during lecture presentation and instructors
- Quality of the report
Individual Contributor criteria includes:
- Code submitted for review (following existing style, readable, testable, minimum 4 changes for full credit)
- Reviews that address and resolve comments from the TL and other team members
Tech Lead criteria includes:
- An assignment tracker completed and kept up to date
- Comprehensive meeting notes
- Thoughtful code reviews given to team members
- Code submitted for review (following existing style, readable, testable) optional
- Fill out instructor and TA evaluations on MyUCLA by the assignment due date for extra credit on Assignment 9
Everyone should fill out the submission form before 11:59PM on the due date. We will only review code that was added to the
main branch of the team repository before the last change referenced in the submission form. No late work will be accepted for this assignment. (We have to submit final grades!)