The annual Computer Science Fair descended on the Davis Center once more this December, filling the Grand Maple Ballroom with over 70 unique projects competing for top honors in 5 different categories. The scope and breadth of this year's innovative projects spanned a diverse and exciting range of applications, including weather research, game design, household devices, music, and much more.
All the participants were ¶¶Òõ̽̽ students enrolled in a computer science (CS) course or active CS or Data Science majors. Each category was judged by a panel comprised of faculty and local industry representatives, with prizes awarded in gift cards for first place ($300), second place ($200), and third place ($100). In addition, provided the winning team in the Advanced Programming category with a behind-the-scenes tour of their South Burlington headquarters, where the company is pioneering the future of electric flight. The exclusive experience includes an opportunity to take the controls in a virtual flight simulation of Beta’s advanced Alia aircraft.
Continuing the tradition that Computer Science Professor Robert Erickson started before his retirement, this year’s fair was organized by Professor James Eddy with continuing support from the ). This year’s sponsors include , , , , , the College of Engineering and Mathematical Sciences (CEMS), , and the Zimmerman-Voellm Computer Science Fund.
Congratulations to all the winners, and thank you to all of the participants, judges, and volunteers!
For a complete listing of all of this year's projects, visit the .
2024 COMPUTER SCIENCE FAIR WINNERS:
ENTRY LEVEL PROGRAMMING
First Place: Scrabble Assistant
by Ethan Stabenow and Quinn Tyldesley
This project features a Scrabble assistant that considers your hand and a portion of the board and outputs the five best legal words based on scores. It can use double letter/word tiles and triple letter/word tiles as well as blank hand tiles.
Second Place: Conway’s Game Of Life (In Python)
by Ej Orr
A terminal-based port of the classic "Game of Life" originally created by John Conway. The game is constructed solely with elements in the Python standard library and executes to the player through the terminal.
Third Place: Marvel Quiz
by Charlie Simons and Kiki Ruddy
Marvel Quiz determines which Marvel character the user is most like. The program is built with a graphical user interface (GUI) using Tkinter.
INTERMEDIATE PROGRAMMING
First Place: PrintAnywhere
by Darby Lane and Callie Levitt
PrintAnywhere is a user-friendly website that implements several hardware aspects in order to enable remote access to a PrusaMini 3D printer. The noteworthy features of this project include a photo of the current print that updates every five minutes and uses AI to recognize when a print has failed, access to OctoPrint software which enables control of the printing process remotely, and a conveyor belt, mounted on the build plate, which moves a finished build off of the build plate so that the next build can be started immediately. All of these features are accessible through a simple website.
Second Place: Wall-E
by Angelique Macie
A 3D-printed Wall-E that is manipulated via a controller. He can move forward, back, turn, etc.
Third Place: Jank Bank (Coin Sorter/Counter)
by Lucy Hart and Abby Eliot
Powered by a Raspberry Pi, Jank Bank is a cardboard contraption that sorts your pennies, nickels, dimes, and quarters into neat little boxes, identifies each coin using a custom model supported by YOLOv8, and (sometimes) gives you a reliable total.
WEBSITES
First Place: My Secret Santa
by Prithaj Nath
My Secret Santa is a highly randomized Secret Santa generator where Secret Santa groups can be created for your friends, family, and coworkers! Every user has a profile where they can add a wish list for their Santa and create anonymous messaging between you and the person you're gifting. If the wish lists aren't enough, you can ask them specific details about their interests (or anything else) without them ever knowing who you are! The website features a quick sign-up process for Google accounts and festive email notifications. The app sources its randomness from quantum fluctuations in a vacuum, thanks to the Australian National University's QRNG .
Second Place: Mazes
by Sylvan Franklin
Mazes is a SvelteKit app that visualizes different maze-creation algorithms.
Third Place: Knitting Nook
by Nina Braddock
Knitting Nook is an e-commerce platform that knitters can use to search through different patterns, customize their patterns before purchase, take a quiz to find the best pattern that satisfies their needs, and then complete their transaction with checkout. This project was created using HTML, CSS, and JavaScript.
ADVANCED PROGRAMMING
First Place: Second Helping
by Nathan Blanchard, Nina Braddock, Charlie Corriero, and Dylan Laberge
Modeled after the app TooGoodToGo, our app takes leftover food from restaurants and divides it into portions that are sold at a discounted price, which we’ve called mystery bags. Second Helping was created using Swift and Firebase. The app allows for both restaurants and buyers to log in and create an account. Buyers can search and choose mystery bags based on price, time of day the bag is ready to pick up, distance from where the user is, and cumulative rating. From there, buyers can place their order, check the order status, leave a review after pick up, see their order history, and view their stats page for the food they rescued! From the perspective of a restaurant account, restaurants can add a new bag, check the status of each bag they put out, and view the same search view that the buyers are shown. The app is ideal for anyone who wants to minimize food waste, explore budget-friendly food options, try new food, and help the planet out!
Second Place: ChessGO
by Hayden Collins, Evan Rohan, Felix Walberg, and Jamie Birmingham
A PokemonGO-style app for chess puzzles featuring a dynamic map with location tracking and randomly distributed puzzles, 20,000 unique chess puzzles, an ELO rating system, user statistics, custom board themes, and puzzle rush.
Third Place: Galaga
by Tucker Schulz, Owen Cook, Elizabeth Lembach, and Camille Wodarz
A software engineering final project where the classic arcade game Galaga was created using the Python Arcade library and drawn sprites.
MACHINE LEARNING/RESEARCH
First Place: Low-Cost Precipitation Phase Partitioning Using Acoustic Data and Machine Learning in the Edge
by Rachael Chertok, Julia Sober, Soheyl Faghir-Hagh, Jordan Bourdeau, Scott Barrett, Drew Jepsen, and Casey Forey
Detecting rain on snow events and precipitation phase partitioning is becoming increasingly important. The Cooperative Institute for Research to Operations in Hydrology (CIROH) group is engaged in the project, "", in which the eventual goal is to create a low-cost, low-power network of embedded devices, which will run a machine learning model to detect rain on snow events and provide Near Real Time (NRT) data reporting. The machine learning algorithm we implemented differentiates rain, snow, hail, and silence from simulated and real weather audio files. Signal processing is used to extract temporal features, spectral features, and MFCCs from the audio signal, which are used as feature inputs to the models. We also place emphasis on various feature selection methods to determine which features provide the highest accuracy while aiming to have a low power consumption to be able to run on the Arduino. Random Forest and SVM models are performing well, with the current highest accuracy of a non-neural network being 98%, and the neural network accuracy reaching a training accuracy of 98% and validation accuracy of 90%. This provides a solid groundwork from which we can continue to tune the models, to then eventually deploy in the field on embedded devices. From this, we hope to be able to detect phases of precipitation and, eventually, rain-on-snow events in real-time.
Second Place: Structural Characteristics of Lottery Ticket Neural Networks
by Jordan Bourdeau
What if I told you we could make neural networks train faster and perform better by (checks notes) getting rid of most of their parameters? What if I also told you that we could actually develop a binary mask that, when multiplied by the original randomly initialized weights, could reach nearly 90% accuracy on the MNIST dataset and almost 50% accuracy on CIFAR10? Sound interesting? Well, strap in and keep reading! The Lottery Ticket Hypothesis found that employing an iterative magnitude pruning procedure where networks are trained until convergence followed by pruning, the smallest P% magnitude weights get pruned (weight set to 0 and no longer receiving gradient updates) were able to match or exceed classification performance in commensurate training time on the fully connected and convolutional neural networks which were tested. A follow-up paper discovered that the binary masks that track which weights have been pruned could also achieve substantially above random chance accuracies when applied to the originally randomly initialized weights that had not received a single gradient update. This is a thesis project that looks to determine the characteristics of these networks that enable them to achieve this effect by taking statistical measures of the network's parameters globally/by layer, permuting pruning and weight rewinding rules, and investigating how masks get developed and what effect they have on training.
Third Place: Extracting Data on Academic-News Partnerships Through Website Scraping and Machine Learning
by Lauren Knopp
This project presents a new data collection tool designed to catalog US student journalism at a large scale. Modeling my approach after that done by previous researchers collecting data on online news articles, I created a list of article URLs for each publication’s Rich Site Summaries (or RSS feeds, which allow users to access automatic updates from that website). I then pass each article's contents through a model chained to a prompt, classifying the article as student-written or not. My goal in completing this research project is to get a more accurate estimate of what percentage of the news landscape is produced by journalism students. With this information, other data scientists can begin further research into news deserts and how journalism students are helping the United States in mitigating the news shortage.