CS371p: Object-Oriented Programming



Project #1: Grades


Specification


  • Write a program, individually, to solve Grades [C++20 (g++ 14.2.0, 2 sec, 512 MB, source 50 KB)].
  • You may not use new, delete, malloc() or free(). You may use the STL.

Submission


  • get a GitLab account
  • fork the public code repo (https://gitlab.com/gpdowning-ut/cs371p-grades/) to become your private code repo (https://gitlab.com/GitLabID/cs371p-grades/)
  • enable issues here: Settings -> General -> Visibility, project features, permissions -> Issues
  • create the following issue labels here: Manage -> Labels (labels are case sensitive):
    • correctness (Crimson)
    • build_files (Blue-gray)
    • issues (Dark coral)
    • unit_tests (Green-cyan)
    • acceptance_tests (Dark sea green)
    • continuous_integration (Carrot orange)
    • code (Titanium Yellow)
    • documentation (Lavender)
    • ai_report (Deep violet)
  • import the issues: Issues -> Import issues -> Import CSV
  • close all issues
  • add and close new issues as you debug and optimize your solution
  • provide your GitLab URL on the Canvas assignment

AI Report


  • Summary of AI Interactions
    • List the tools used (e.g., ChatGPT, Copilot, etc.).
    • Debugging help (error explanation, bug location, runtime issue)
    • Conceptual clarification (CS concept, syntax, algorithm idea)
    • Code improvement (style, efficiency, readability, testing)
    • Alternative approaches (asking “is there a simpler way?”)
    • Other (describe)
  • Reflection on Use
    • What specific improvements to your code or understanding came from this AI interaction?
    • How did you decide what to keep or ignore from the AI’s suggestions?
    • Did the AI ever produce an incorrect or misleading suggestion? How did you detect that?
  • Evidence of Independent Work
    • Paste a before-and-after snippet (3–5 lines max) showing where you changed your own code in response to AI guidance.
    • In 2–3 sentences, explain what you learned by making this change.
  • Integrity Statement
    • "I confirm that the AI was used only as a helper (explainer, debugger, reviewer) and not as a code generator. All code submitted is my own work."

Repos


Rubrics


Assets Location
Correctness
  • 3 tests
  • at least 2 tests to be eligible to resubmit
Build Files
Issues
  • 28 issues
  • add at least 5 more issues for bugs and optimizations
Unit Tests
Acceptance Tests
Continuous Integration
Code
Documentation
  • create inline comments
  • specify the complexity of every function/method and the entire program
  • explain the why
  • run astyle
  • run doxygen on Grades.hpp
  • run git log
  • Grades.html
  • Grades.log.txt
AI Report
  • summary, reflection, evidence, integrity
  • Grades.ai.md

Academic Integrity


  • In 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.

Copyright © Glenn P. Downing, 1995-2025
Updated 9 Sep 2025