Engaging Spelling Bee Project for CS1 Students

Slide Note
Embed
Share

"Explore a captivating spelling bee project created by Eric Roberts and Jed Rembold from Willamette University. The project involves solving word puzzles using specific rules and scoring guidelines. Students can enhance their programming skills by implementing the project in Java or Python, offering valuable learning experiences and practical applications in a fun and educational manner."


Uploaded on Sep 12, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. Nifty Assignments: Spelling Bee Eric Roberts and Jed Rembold Willamette University School of Computing and Data Science March 5, 2022

  2. SpellingBee alive (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) Spelling 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. New York Times, February 14, 2022 63 words; 338 points

  3. What the Project Looks Like wizard (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) That word includes letters not in the beehive. 1 word; 6 points 2 words; 21 points 37 words; 122 points AZDIRWY wizard wizardry wizardly

  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.py from SpellingBeeGraphics import SpellingBeeGraphics DICTIONARY_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 Demos The 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

Related


More Related Content