CS371p: Object-Oriented Programming

Spring 2018: 51620

Project #1: Collatz
Due: Thu, 1 Feb 2018, 10pm
60 pts, 6% of total grade.


Write a program, individually, to solve Collatz [C++14 (g++ 7.2.0, C++14 standard, 2 sec, 512 MB)].

You may not use new, delete, malloc() or free(). You may use the STL.


These are additional descriptions of the underlying math:


See Workflow.

Below, GitHubID is always that of the owner of the repo.


These are the URLs involved:


HackerRank Contest: https://www.hackerrank.com/cs371p-spring-2018-collatz/

Points Assets Notes
30 pts
  • 3 tests
percentage of tests passed

GitHub private classroom repo: https://github.com/cs371pc-spring-2018/collatz-GitHubID/

Points Assets Notes
4 pts
  • GitHub issue tracker
Quality of the issues.
  • at least 15 closed issues
4 pts Quality of the code.
  • assertions
  • clang-check results
  • clang-format output
  • do not change the interfaces
4 pts Quality of the acceptance tests.
  • at least 200 lines
4 pts Quality of the unit tests.
  • at least 15 tests
  • run gcov
  • run valgrind
4 pts
  • html/
  • Collatz.log
Quality of the documentation.
  • doxygen (Collatz.h only) output
  • Create inline comments if you need to explain the why of a particular implementation.
  • git log
3 pts Quality of the private code repo.
  • at least 5 commits with meaningful commit messages

GitHub public test repo: https://github.com/cs371pt-spring-2018/collatz-tests/

Points Assets Notes
3 pts
  • GitHubID-RunCollatz.in
  • GitHubID-RunCollatz.out
Quality of the public test repo.

Travis CI Log: https://travis-ci.com/cs371pc-spring-2018/collatz-GitHubID/

Points Assets Notes
4 pts
  • Travis CI log
Quality of the integration.

Academic Integrity

  • In the Ungraded assignment group on Canvas, there is a quiz, Academic Integrity Quiz.
  • Complete that quiz.
  • Multiple attempts are permitted, but you must eventually get all questions right in order to receive credit for this project.