/
Nifty Assignments: Spelling Bee Nifty Assignments: Spelling Bee

Nifty Assignments: Spelling Bee - PowerPoint Presentation

catherine
catherine . @catherine
Follow
67 views
Uploaded On 2023-10-04

Nifty Assignments: Spelling Bee - PPT Presentation

Eric Roberts and Jed Rembold Willamette University School of Computing and Data Science March 5 2022 SpellingBee alive 5 alleviate 9 anvil 5 attentive 9 avail 5 avian 5 aviate 6 ID: 1022929

sbg students letters words students sbg words letters project web solve bee action spelling score beehive points build assignments

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Nifty Assignments: Spelling Bee" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

1. Nifty Assignments:Spelling BeeEric Roberts and Jed RemboldWillamette UniversitySchool of Computing and Data ScienceMarch 5, 2022

2. SpellingBeealive (5)alleviate (9)anvil (5)attentive (9)avail (5)avian (5)aviate (6)eave (1)elevate (7)eleven (6)enliven (7)even (1)event (5)evil (1)inattentive (11)initiative (10)invent (6)inventive (9)invite (6)invitee (7)lava (1)lave (1)leave (5)leaven (6)levee (5)level (5)levitate (8)live (1)liven (5)naive (5)naivete (7)native (6)naval (5)nave (1)navel (5)tentative (9)titivate (8)vain (1)vale (1)valentine (16)valet (5)valiant (7)valve (5)vane (1)vanilla (7)vanillin (8)veal (1)veil (1)vein (1)velvet (6)velveteen (9)venal (5)venial (6)vent (1)ventilate (16)vial (1)vile (1)villa (5)villain (7)villanelle (10)vine (1)vital (5)vitiate (7)63 words; 338 points—New York Times, February 14, 2022Spelling Bee rules:Words must be valid English words.Words must be at least four letters long.Letters must be in the beehive and may occur more than once.Include the letter in the center hexagon.Spelling Bee scoring:Four-letter words score 1 point.Longer words score points equal to their length.Words using all seven letters (pangrams) score 7 bonus points.

3. What the Project Looks LikeAZDIRWYwizardwizard (6)wizardry (15)airward (7)airway (6)airy (1)aria (1)arid (1)array (5)award (5)away (1)awry (1)dada (1)daddy (5)dairy (5)diary (5)draw (1)dray (1)dryad (5)dyad (1)izar (1)izzard (6)radar (5)radii (5)raia (1)raid (1)raya (1)razz (1)waddy (5)wadi (1)wady (1)wair (1)ward (1)wary (1)wayward (7)wirra (5)yaird (5)yard (1)wizardrywizardlyThat word includes letters not in the beehive.1 word; 6 points2 words; 21 points37 words; 122 points

4. What Makes It Nifty?The project fits well into a CS1 course once students have covered strings and lists.The project decomposes nicely into milestones that build on each other.The project affords interesting extensions for students who are progressing quickly.Students build a graphical application without having to learn a complex package.Students get to build an application that has had tangible commercial success.Students are excited to see how quickly their program solves the game.Implementations exist for Java (using Swing) and Python (using tkinter).The Nifty site has a web-based demo that reveals none of the implementation.

5. What Do Students Get?# File: SpellingBee.pyfrom SpellingBeeGraphics import SpellingBeeGraphicsDICTIONARY_FILE = "EnglishWords.txt"def spelling_bee(): def puzzle_action(name): sbg.clear_wordlist() sbg.clear_message() sbg.set_beehive_letters(sbg.get_field(name)) def solve_action(name): sbg.show_message("Solve is not yet implemented", "Red") sbg = SpellingBeeGraphics() sbg.add_field("Puzzle", puzzle_action) sbg.add_button("Solve", solve_action) sbg.event_loop()if __name__ == "__main__": spelling_bee()

6. Cheat-Proof Web-Based DemosThe fact that all of our assignments use a graphics library that is implemented in Python, Java, and JavaScript makes it much easier to develop assignments that work in multiple environments.While this kind of portability has advantages in its own right, the biggest win is that we can post demo applications on the web so that students can see exactly what their programs are expected to do. Moreover, when a project is completed in separate phases, we can post demos showing the operation of each milestone.Posting web demos is typically problematic because students can download the source, which gives them an enormous head start—even if the web page uses a different language.To keep students from exploiting this shortcut, we compile Python or JavaScript programs into byte code for a virtual machine that runs in the browser. If students download the source, all they get is an array of numbers.

7. Overtaken by Technological Change

8. The End