September 15, 2025
"banana grape banana apple"
"apple banana banana grape"
"a,b a,c b,d c,d d,e"
"a,b,d,e"
"a,b,7 a,c,3 b,d,2"
BeginsWithA
problemFindPath
is a search problem
HasPath
is a decision problemHasPath(s) = "yes"
if FindPath(s)
returns a non-empty solution path and HasPath(s) = "no"
for all other FindPath(s)
outputs"yes"
or "no"
startsWithZ
programyesOnString
: uncomputable and undecidablecrashOnString
: uncomputable and undecidablestartsWithZ
: uncomputable and undecidablehasShortestPath
: computable and decidableSortWords
problem:
pythonSort
and bubbleSort
solve itbrokenSort
does not solve it
TODO
markers and blank functions for you to completeexam/
directory# navigate to your examination repository after cloning
cd <your-examination-repository-name>
# navigate to the exam directory where all the work happens
cd exam
# verify you're in the right place for the examination
ls -alg
exam/
directoryquestions/
, tests/
, gatorgrade.yml
, pyproject.toml
, and uv.lock
questions/
directory contains files with TODO
markers to completetests/
directory contains automated tests to verify your workgatorgrade.yml
file configures the gatorgrade
assessment tool# run gatorgrade to see what needs to be completed
uvx gatorgrade
# this will show you:
# ✅ Checks that are currently passing
# ❌ Checks that need work to pass
# 📊 Overall completion percentage
gatorgrade
is the automated assessment tooluv
, you can type uvx gatorgrade
questions/
directory (e.g., question_one.py
)TODO
markers that indicate where to add codeTODO
markers when you complete each sectionTODO
markers! You can use uvx gatorgrade
to check your progress and see which functions are working! It all works in your terminal window!
# run gatorgrade after making changes
uvx gatorgrade
# you should see your completion percentage improve
# keep working until you reach 100%
# or, for specific test details, you can also run:
uv run pytest -v
gatorgrade
frequently to track your progress# add your completed work to Git staging area
git add .
# create a commit with a descriptive message
git commit -m "Complete examination programming tasks"
# push your work to GitHub
git push origin main
gatorgrade
git commit
!TODO
markers: avoid automatic failuresgatorgrade
frequently: test your work as you gotests/
directoryRemember: Read carefully, code thoughtfully, test frequently, and submit regularly! If you get stuck, make sure to chat with the instructor!
Suggestions for ensuring the successful completion of an executable examination
Proofgrammers