Skip to content

allegheny-college-cmpsc-101-fall-2023/palindrome-checker-starter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Proactive Programmers

Palindrome Checking

build Platforms: Linux, MacOS, Windows Language: Python Code Style: Black Commits: Conventional Discord

Introduction

Learning Objectives

This assignment is about making a Command Line Interface to check for palindromes. The learning objectives of this assignment are to:

  1. Use Git and GitHub to manage source code file changes
  2. Implement recursive and non-recursive palindrome functions
  3. Implement test functions for pytest and check test coverage
  4. Import modules from packages
  5. Demonstrate professional skills in linting and formatting
  6. Write clearly about the programming concepts in this assignment.

Seeking Assistance

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.

Links about Python Modules vs. Packages

Project Overview

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 tracking
    • poetry 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 the TODO marker from the code you should delete the TODO 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 the writing/reflection.md file. This means that you should not simply delete the TODO 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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages