- Due date: Check the Proactive Programmers Discord server.
- This assignment will be submitted on GitHub following the expectations in the syllabus on Assignment Submission.
- To begin, read this
README
and the Proactive Programmers' project description for Palindrome Checking - Modifications to the gatorgrade.yml file are not permitted without explicit instruction.
- This assignment is an Engineering Effort and will be evaluated as described in the Assessment Strategies for Engineering Efforts.
- You can check the palindrome-checker-starter repository for any updates to this project's documentation or source code.
This assignment is about making a Command Line Interface to check for palindromes. The learning objectives of this assignment are to:
- Use Git and GitHub to manage source code file changes
- Implement recursive and non-recursive palindrome functions
- Implement test functions for pytest and check test coverage
- Import modules from packages
- Demonstrate professional skills in linting and formatting
- 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. However, you must use your own answers, in you own words. Using ChatGTP or other AI-based language models to generate reflection responses is not permitted. Asking questions and learning the necessary concepts to complete the reflection is required.
Post questions to the Proactive Programmers Discord server or create an issue in your individual copy of the repository describing your question 24 hours before the deadline. Be sure to @-tag emgraber in the issue.
- whats-the-difference-between-a-module-and-package-in-python
- python-import-module-from-a-package
- modules-and-packages-create-python-project
After cloning this repository to your computer, please take the following steps:
- Make sure that you have already installed and know how to use all of the programming tools that are mentioned in the description of the Proactive Skills.
- 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 square
. - Install the dependencies for the project by typing
poetry install
. - Run the program with its different configurations by typing:
poetry run palindromechecker --word civic --approach reverse
poetry run palindromechecker --word civic --approach recursive
poetry run palindromechecker --word taylor --approach reverse
poetry run palindromechecker --word taylor --approach recursive
- Please note that the program will not work unless you add the required source code
- Make sure to try the main tasks for automated software testing:
poetry run task test
: run the test suite without coverage trackingpoetry run task coverage
: run the test suite with coverage tracking
- 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.