CS373: Software Engineering

Spring 2018: 51625 & 51630

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


Write a program, individually, to solve Collatz [Python 3 (Python 3.5.2, 10 sec, 512 MB)].


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/cs373-spring-2018-collatz/

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

GitHub private classroom repo: https://github.com/cs373c-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
  • pylint results
  • autopep8 output
  • do not change the interfaces
4 pts Quality of the acceptance tests.
  • between 100 and 200 lines
  • do not run coverage
4 pts Quality of the unit tests.
  • between 10 and 20 tests
  • run coverage
  • coverage results
4 pts
  • Collatz.html
  • Collatz.log
Quality of the documentation.
  • pydoc (Collatz.py 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/cs373t-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/cs373c-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.