Corning Community College
CSCS1320 C/C++ Programming
======PROJECT: Mental Math Fun (MMF0)======
=====OBJECTIVE=====
To explore relational decision making, as applied to a mental math process.
=====GRABIT=====
To assist with consistency across all implementations, data files for use with this project are available on lab46 via the **grabit** tool. Be sure to obtain it and ensure your implementation properly works with the provided data.
lab46:~/src/SEMESTER/DESIG$ grabit DESIG PROJECT
Please study any provided code, comments, or supporting documents, and look up, experiment, and ask questions on aspects that you do not understand.
=====EDIT=====
You will want to go [[/notes/cprog/spring2024/projects/mmf0|here]] to edit and fill in the various sections of the document:
* [[/notes/cprog/spring2024/projects/mmf0|https://lab46.g7n.org/notes/cprog/spring2024/projects/mmf0]]
{{page>notes:cprog:spring2024:projects:mmf0&nouser&nodate&nomdate}}
=====SUBMISSION=====
To be successful in this project, the following criteria (or their equivalent) must be met:
* Project must be submit on time, by the deadline.
* Late submissions will lose 33% credit per day, with the submission window closing on the 3rd day following the deadline.
* All code must compile cleanly (no warnings or errors)
* Compile with the **-Wall** and **--std=gnu18** compiler flags
* all requested functionality must conform to stated requirements (either on this document or in a comment banner in source code files themselves).
* Executed programs must display in a manner similar to provided output
* output formatted, where applicable, must match that of project requirements
* Processing must be correct based on input given and output requested
* Output, if applicable, must be correct based on values input
* Code must be nicely and consistently indented
* Code must be consistently written, to strive for readability from having a consistent style throughout
* Code must be commented
* Any "to be implemented" comments **MUST** be removed
* these "to be implemented" comments, if still present at evaluation time, will result in points being deducted.
* Sufficient comments explaining the point of provided logic **MUST** be present
* No global variables (without instructor approval), no goto statements, no calling of main()!
* Track/version the source code in your lab46 semester repository
* Submit a copy of your source code to me using the **submit** tool (**make submit** on lab46 will do this) by the deadline.
====Submit Tool Usage====
Let's say you have completed work on the project, and are ready to
submit, you would do the following:
lab46:~/src/SEMESTER/DESIG/PROJECT$ make submit
You should get some sort of confirmation indicating successful submission
if all went according to plan. If not, check for typos and or locational
mismatches.
=====RUBRIC=====
I'll be evaluating the project based on the following criteria:
39:mmf0:final tally of results (39/39)
*:mmf0:used grabit for project by Sunday prior to duedate [8/8]
*:mmf0:clean compile, no compiler messages [8/8]
*:mmf0:program performs mental math process [8/8]
*:mmf0:program output conforms to specifications [8/8]
*:mmf0:code tracked in lab46 semester repo [7/7]
===Pertaining to the collaborative authoring of project documentation===
* each class member is to participate in the contribution of relevant information and formatting of the documentation
* minimal member contributions consist of:
* near the class average edits (a value of at least four productive edits)
* near the average class content change average (a value of at least 256 bytes (absolute value of data content change))
* near the class total content contribution average (a value of at least 1kiB)
* no zero-sum commits: no adding in one commit then later removing in its entirety for the sake of satisfying edit requirements
* adding and formatting data in an organized fashion, aiming to create an informative and readable document that anyone in the class can reference
* content contributions will be factored into a documentation coefficient, a value multiplied against your actual project submission to influence the end result:
* no contributions, co-efficient is 0.50
* less than minimum contributions is 0.75
* met minimum contribution threshold is 1.00
===Additionally===
* Solutions not abiding by spirit of project will be subject to a 50% overall deduction
* Solutions not utilizing descriptive why and how comments will be subject to a 25% overall deduction
* Solutions not utilizing indentation to promote scope and clarity or otherwise maintaining consistency in code style and presentation will be subject to a 25% overall deduction
* Solutions not organized and easy to read (assume a terminal at least 90 characters wide, 40 characters tall) are subject to a 25% overall deduction