What are some fun projects for non-CS majors?
Another fun game is &quot;Spelling Bee&quot; from the New York Times
(https://www.nytimes.com/puzzles/spelling-bee). You supply a file containing words. The student program reads the file and selects words that match the rules. The milestones are from a past project from Reed College.

Print all the words that can be spelled using a fixed string (e.g. &quot;AZDIRWY&quot;). The first letter is the required letter.
Prompt the user for a string and print a list of words or take the string as a command line parameter.
Generate a score for each word and the total score.
Generate the graphics to draw the string as it appears in the paper (six hexagons containing optional letters surrounding a central hexagon with the required letter), along with the list of words.

You could potentially go a slightly different direction and let the python program generate HTML output and view the results in a browser. This illustrates dynamically generated HTML.
Another variation would be to preprocess a &quot;dictionary&quot;, removing all words that are too short or contain more that seven distinct characters. Then create multiple files, one for each possible beginning letter. You now have cut down the search space. You might also have the students sort the answers, perhaps by word score.