- Due date: Check Discord or the Course Materials Schedule
- This assignment is graded. Half is determined by gatorgrade score. See full description 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
This assignment is about remembering and understanding programming language constructs by running programs, observing output, and describing steps. The learning objectives of this assignment are to:
- Use Git and GitHub to manage source code file changes
- Study type annotation in function declarations, floating point arithmetic, and modulus operations
- Use profiler for empirical assessment of algorithms.
- Write clearly about the programming concepts in this assignment.
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.
After cloning this repository to your computer, please take the following steps:
- Follow the 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 primality
. - Install the dependencies for the project by typing
poetry install
. - Run the program in the following fashion by typing:
poetry run primality --number 49979687 --approach efficient
poetry run primality --number 49979687 --approach efficient --profile
- Please note that the program will not work unless you add the required source code.
- Please refer to the
writing/reflection.md
file for all ways to run the program. - Again, please note that there are multiple ways to run this project and you should try them all!
- 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
. If a specific part of agatorgrade
check does not work on your laptop, please refer to GitHub Actions to see if it passed when run on the continuous integration server. - Again, you may always 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.