CS371p: Object-Oriented Programming

  • Fall 2024: 50595 (57), 50600 (55)
  • 26 Aug - 9 Dec 2024


Project #2: Voting


Specification


  • Write a program, ideally with a partner, to solve Voting [C++20 (g++ 8.3.0, C++20 standard, 2 sec, 512 MB, source 50 KB)] with an optimization that when reassigning the ballots of a loser, you do not iterate over all the ballots.
  • You may not use new, delete, malloc() or free(). You may use the STL.

Submission


  • create a private code repo (https://gitlab.com/GitLabID/cs371p-voting/)
  • enable issues here: Settings -> General -> Visibility, project features, permissions -> Issues
  • create the following issue labels here: Issues -> New Issue -> Labels -> Manage project labels (labels are case sensitive):
    • build (Titanium yellow)
    • code (Dark violet)
    • documentation (Gray)
    • tests (Dark coral)
  • import the issues: Issues -> Import issues -> Import CSV
  • close all provided issues
  • add and close new issues as you debug and develop your solution
  • provide your GitLab URL on the Canvas assignment

Repos


Rubrics


Assets Location
Correctness
  • 3 tests
  • at least 2 tests to be eligible to resubmit
Build Files
  • .gitignore
  • .gitlab-ci.yml
  • Makefile
  • README.md
  • GitLab
Issues
  • add at least 5 more issues
  • GitLab
Unit Tests
  • test_Voting.cpp
Acceptance Tests
Continuous Integration
  • GitLab Pipelines
Code
  • Voting.hpp
Documentation
  • create inline comments if you need to explain the why of a particular implementation
  • run doxygen (Voting.hpp only)
  • git log
  • Voting.html
  • Voting.log.txt

Copyright © Glenn P. Downing, 1995-2024
Updated 18 Nov 2024