Final Project Checkpoint Guide
Due Date: Thursday, May 22 @ 11:59PM
The checkpoint for your final project will be worth 10% of your group project grade. By the time of this checkpoint, we will expect your team to have finished some of your core implementation. Remember that for the final submission, we expect to see a set of new unit tests accompanying your code changes, so make sure to also save a good amount of time to work on unit testing.
Please make a comment under the Github issue for your project proposal with the following headers:
- Progress Report
- Challenges
- Design Document
Basic Progress Check (1 pt)
We will be inspecting the history of pull requests in your group’s repository to examine the implementation process, as well as to check if your team has been following the workflow we introduced in class (particularly code reviews). If your team have been struggling with meeting your set targets due to some unforeseen challenges, technical or otherwise, please meet with the course staff and we would be happy to help. Aside from this basic progress check, you should have a comment in the Github issue with the following 3 headers.
I. Progress Report (5 pts)
This progress report is different from what you did for your individual projects. We would like to see in this report a breakdown of how your team has been incrementally developing your feature.
Please write a brief description of how far you are into the implementation. This could be a checklist of all the small feature milestones that the group has finished, and which ones remain. For each of the milestones, please link the corresponding pull requests that contributed to it. You can link pull requests that have already been reviewed and merged, or draft pull requests for milestones that are still being worked on. E.g.,
- Created basic status bar to show Git status. (#3, #6)
- Added menu buttons. (#4)
- Created basic API wrappers for
git-add
,git-commit
, andgit-push
. (#5, #7, #10) - Created basic dialog windows for
git-add
,git-commit
, andgit-push
. (#8, #9) - Implement color highlighting based on
git diff
in the editor. - Implement
git-checkout
support. (WIP #11) - …
- Unit tests.
(Image: linking to a pull request in GitHub markdown.)
This is how you can create checkboxes in GitHub markdown:
- [x] Completed item 1.
- [x] Completed item 2.
- [ ] TODO 1.
- [ ] TODO 2.
II. Challenges (2 pts)
It is perfectly normal in large projects like this for unforeseen difficulties to arise during implementation. If your team has encountered any particular difficulties, please document each one in this section, and elaborate on how you solved them, as well as how it impacted your project (if the expectations in your original proposal would need to be adjusted as a result.)
If you are making modifications to the scope of your project (adding or removing proposed features), please explicitly say that here. This is critical for the course staff to know whether you are appropriately scoping your final project so that we can grade you fairly.
III. Draft of Design Document (2 pts)
Describe how you plan to approach the remaining milestones listed in the first section. Do not forget to allocate some time and resources for adding unit tests.
Since this project is not assigned by the course staff, we expect a detailed and comprehensive design document at the end.
Of course, as the project is still ongoing, this will only be an initial draft of the design that will continue to evolve as you keep working towards the final product.
In this design document, you should describe, in technical terms, how you implemented (or plan to implement) your project. Feel free to make liberal use of diagrams here. Unlike the individual projects, this time the course staff have no idea how your project proposals should be implemented, so please be detailed.