- Due date: Check Discord or the Course Materials Schedule
- This assignment is graded. Half of the grade is given by the gatorgrade score. The other half are checks (0/100) for code correctness, writing quality, and professional skills as described in the syllabus section for Assignment Evaluation
- Submit this assignment on GitHub following the expectations in the syllabus on Assignment Submission.
- To begin, read this
README
and the Proactive Programmers' project instructions - This project has been adapted from Proactive Programmers' material, thus discrepancies are possible.
- Post to the #data-structures Discord channel for questions and clarifications.
- For reference, check the starter repo
- Do not change the gatorgrade file unless instructed.
Please review the course expectations on the syllabus about Seeking Assistance. Students are reminded to uphold the Honor Code. Cloning the assignment repository is a commitment to the latter.
For this assignment, you may use class materials, textbooks, notes, and the internet. Ensure that your writing is original and based on your own understanding of the concepts. Examples of plagiarism include:
- verbatim copying without citation
- copying with single word modifications
- paraphrasing sections or notes from a source without citation
To claim that work is your own, it is essential to craft the logic and the writing together without copying or using the logical structure of another source. The honor code holds everyone to this standard.
This assignment is about using introductory programming concepts and software development tools to complete a command line interface for squaring numbers that are stored in a file. The learning objectives of this assignment are to:
- Use Git and GitHub to manage source code file changes
- Use linters, code, and markdown formatters
- Use VS Code and virtual environment management tools
- Do detective work to figure out how this project is put together
- Recognize Command Line Interface packages and functions
- Write clearly about the coding and development concepts in this assignment.
After cloning this repository to your computer, please take the following steps:
- Follow the detailed instructions on the Proactive Programmers web site for this project to take all of the needed steps and to complete all of the required deliverables.
- Use the
cd
command to change into the directory for this repository. - Specifically, you can change into the program directory by typing
cd square
. - Install the dependencies for the project by typing
poetry install
. - Run the program in its two different modes by typing:
poetry run square --approach for --directory input --file numbers.txt
poetry run square --approach while --directory input --file numbers.txt
- Please note that the program will not work unless you add the required
source code at the designated
TODO
markers.
- Confirm that the program is producing the expected output by looking in the appropriate section of the project description on the Proactive Programmers web site.
- If you have already installed the
GatorGrade program that runs
the automated grading checks provided by
GatorGrader you can, from the
repository's base directory, run the automated grading checks by typing
gatorgrade --config config/gatorgrade.yml
. - You may also review the output from running GatorGrader in GitHub Actions.
- Don't forget to provide all of the required responses to the technical
writing prompts in the
writing/reflection.md
file. - Please make sure that you completely delete the
TODO
markers and their labels from all of the provided source code. This means that instead of only deleting theTODO
marker from the code you should delete theTODO
marker and the entire prompt and then add your own comments to demonstrate that you understand all of the source code in this project. - Please make sure that you also completely delete the
TODO
markers and their labels from every line of thewriting/reflection.md
file. This means that you should not simply delete theTODO
marker but instead delete the entire prompt so that your reflection is a document that contains polished technical writing that is suitable for publication on your professional web site.