|
Name |
Description |
Points |
|
Estimation |
- estimate and track time to completion
|
|
|
GitLab |
- create a private code repo (https://gitlab.com/GitLab-ID/cs371p-voting/)
- give the TAs Developer access
|
|
| 1. |
GitLab Issues |
- enable issues here:
Settings -> General -> Visibility, project features, permissions -> Work Items
- create the following issue labels here:
Manage -> Labels (labels are case sensitive):
- build_files
(Blue-gray)
- unit_tests
(Green-cyan)
- run
(Crimson)
- acceptance_tests
(Dark sea green)
- hackerrank
(Titanium Yellow)
- continuous_integration
(Carrot orange)
- documentation
(Lavender)
- ai_design
(Dark coral)
- ai_criteria
(Dark coral)
- create at least 30 issues with the above labels from these rubrics
- create at least 5 more issues for bugs and optimizations
- close all issues as you develop, debug, and optimize the solution
|
5 |
| 2. |
Build Files |
.gitignore, ignore everything but the files listed in these rubrics
.gitlab-ci.yml
Makefile
README.md
|
5 |
| 3. |
Unit Tests |
VotingTest.cpp
- create at least 15 Google Tests
- run astyle, a code formatter
- run cppcheck, a static analyzer
- run gcov, a coverage tool
- run Valgrind, a memory checker
|
15 |
| 4. |
Run |
Voting.cpp
- add assertions for pre/post conditions, invariants, etc.
- run astyle, a code formatter
- run cppcheck, a static analyzer
- do not run gcov
- do not run valgrind
|
15 |
| 5. |
Acceptance Tests |
|
15 |
| 6. |
HackerRank |
- submit
Voting.cpp to HackerRank
- pass at least 2 of the 3 tests to be eligible for partial credit
|
15 |
| 7. |
Continuous Integration |
- show a clean build in
https://gitlab.com/gpdowning-ut/cs371p-voting/-/pipelines/ to be eligible for partial credit
- change gpdowning to your GitLab-ID
|
5 |
| 8. |
Documentation |
- create inline comments in
Voting.cpp
- specify the complexity of every function/method and the entire program in
Voting.cpp
- run doxygen on
Voting.cpp to produce html
- run
git log to produce Voting.log.txt
- run
git rev-parse HEAD to produce a Git SHA
- README.md
- Full Name
- EID
- GitLab ID
- GitLab URL
- GitLab Pipeline
- Git SHA
- HackerRank ID
- Estimated completion time
- Actual completion time
- Comments
|
5 |
| 9. |
AI Design |
|
10 |
| 10. |
AI Criteria |
- create CRITERIA.md:
- reversed ranges
- boundaries
- overflow
- cache correctness
- etc.
- Criteria should lead to specific tests.
- A Goldfish must be able to create
VotingTest.cpp from only DESIGN.md and CRITERIA.md.
|
10 |
|
Submission |
- create a single PDF of
README.md, DESIGN.md, and CRITERIA.md
- submit that PDF to Canvas
|
|