Final Project Gallery

Fall 2021

Here are some projects from Fall 2021!

Maze Hero by David F. Chang and Andrew Ji

Our project was to create a maze game where a user controls a sprite to complete mazes.

Life at Princeton 2021 by Anlin Kopf and Maria Aguirre

The player must go through scenarios of their time at Princeton and make choices to try to make it through the semester.

What’s the Poker Hand? by Jason Gu and Weilyn Chong

A program that recognizes poker hands and calculates statistics based on a data set of poker hands.

Snake by Aya Eyceoz

This project implements the basic rules and creates a fully-functioning form of the game Snake.

Table Top Cards Simulator by Jack L. Toubes and Christian Arnold

A tabletop card game simulator for up to 4 players over LAN where they can play any card game they would like.

Stress Simulator by Meghan M. Harrington and Hannah Even

Our project simulates the impact of a point force on a beam through a color gradient of stress.

Table Top Cards Simulator by Christian T. Arnold and Jack Toubes

A tabletop card game for up to four players; the host can controlthe game with a few rules such as moving cards, flipping cards,and can set win conditions.

Graphically Visualizing the Correlation between Director Gender and Bechdel Test Pass Rate by Lani Phan and Gianna Renzo

This project will compute the relation between director gender and a movie’s passing or failing of the Bechdel Test and generate a simple graph showing the correlation between the two variables.

#data #digitalhumanities
Princeton Survival Manual by Cherie Nicharee Jiraphanphong and Icey Siyi Ai

Users use “a” to shift the character left and “d” to shift the character right, controlling the bullet emission in order to eliminate the randomly dropping task files from the top of the screen.

Don’t Leave Me Hanging! by Weston L. Carpenter and Tommy

Our project is a virtual game of Hangman that is displayed on screen and allows for multiplayer use.

IndexPortfolio by Axel Johansson

My program collects historical data of close prices of NASDAQ stocks, simulate different portfolio strategies on this data, and compute statistics and plots how the market value evolves.

Arcade Machine by Owais Ibrahim and Uzair Malik

Arcade Study Break is a virtual arcade machine that allows the user to play the Snake Game for a quick study break whenever their heart desires!

Pong by Gordon K. Lam and Thomas Rosini

Multiplayer or single player Pong

Checkers by Mufid Rahman and Anass Mountasser

Allows two users to play a game of checkers.

Pokemon Battle Simulator by Aaron Dantzler and Eric Jung

Our project simulates a Pokemon battle, taking input from the user for moves and outputting the damage to terminal and StdDraw.

Cellular Automata by Oliver Shu and Wilbert Joseph

Our project implements a cellular automata with two or three states and all the possible survival rules, and a GUI allowing you to pause the animation, reset the pattern to its initial state, and change the status of cells by mouse click.

Flappy Birds by Emeline B. Blohm and Isabella Checa

A game where the user controls the height of a bird by clicking their mouse, in order to avoid pillar obstacles. If the bird crashes into a pillar, the game ends and the player is told how many pillars they successfully traveled through.

#game #newassignment
Connect4 by Sophia Chang and Leena Memon

A game of Connect4 with randomly generated sized game board.

StockTweet by Danielle R. Shapiro and jonathan mindel

StockTweet is a Java object that takes a stock as input and outputs a comparison of its twitter activity and actual activity between the dates of April 9, 2020 to July 16th, 2020.

CrossWorder by Keller J. Maloney

Interface to solve pre-loaded crosswords digitally.

#game #newassignment
Maze by Takemasa Saguchi

Creates and Solves a maze

#game #algorithm
Space Shooters by Nguyen S Nguyen and Ben Cai

It is a game where the user controls a space ship and shoots an enemy.

Rhythmix by Anlon Zhu and Helen Zhao

We created a fun rhythm game similar to Guitar Hero that lets the user interact with a GUI.

Snake by Javier A. Linero-Quintana and Deniz

Recreated retro game of snake going around in a grid and eating apples to increase in size using keyboard inputs.

Spotify Data Analysis by Milica Maricic and Alison Silldorff

Our project analyzes a user’s Spotify data history to determine their most listened to artist, output a visual representation of their data, and assign them to a Harry Potter house.

Tuner by Shana A. Chen and Soonyoung Kwon

Our project is a tuner that comes with two functions: a note tuner and a note player, of which the tuner tells the user whether a note from a .wav file is in tune or out of tune, and the note player plays an in-tune note of the user’s choosing.

CasinoNight by William Z. Yang and Tyler Vu

CasinoNight implements the game of BlackJack for a fun night of casino entertainment!

How old do you have to be read? by Avi Chesler and Ben Knell

Our program computes data on book borrowing and subscription frequency at the Shakespeare Lending Library (or any other library) , by age.

#data #digitalhumanities
Spelling Bee by Kaan B. Odabas and Harit Raghunathan

Our project implements a desktop version of the New York Times SpellingBee Game—the player tries to guess an anagram of seven random letters.

Bubble Trouble Reloaded by Nicholas M. Hope and Ryan Hoffman

Game with up to 3 players in which each player controls a hero which must avoid bouncing bubbles while popping them with a projectile for as long as possible.

Poem Builder by Lara Katz

This project assists a user in writing haikus by providing statistically likely words generated by an Extended Markov Model based on a chosen text data set.

#game #algorithm #assignmentextension #newassignment
Bechdel Movie Classifier by Alexis J. Wu and Joy Patterson

Our program is a classifier designed to determine whether or not movies willpass the Bechdel Test.

#data #algorithm #assignmentextension #digitalhumanities
TicTacToeNxN by Justin S. Lim and Andrew Do

We created a TicTacToe game of size N for the user to play against the computer.

Tetris Game by Angela M. De Santis and Max Gonzalez Saez-Diez

We created an interactive Tetris game where the user can move the objects right, left, or rotate them; a point is scored if a line is filled, and once a line is filled it gets deleted and the design shifts down plus the speed of the game increases to make it harder.

Pong Game by Lauren K. Harris and Gail Samuel

A two-player game of pong, in which players can control a paddle and attempt to stop the ball from going off the screen.

Saving Boromir by Daniel Ju and Xiao-ke Lu

The player controls a moving sword to deflect arrows from reaching Boromir.

Mancala by Zoe A. Mermin and Katie Heller

Our project is to implement the board game mancala to be played by two players.

Battleship by Avery Woolbert

My project implements the two-player game of Battleship using a graphical user interface, and can be played between two human players, a human player and an AI player, or two AI players.

GuitarHeroPRO by Timur Gubskiy and Kevin Go

A remake of the guitar hero game using the Karplus-Strong Algorithm tosynthesize guitar sounds.

#game #algorithm #assignmentextension
Analyzing 2014-2015 New York City Public School SAT Score Data by Kathryn Postiglione and Gillian Rosenberg

Our program is a data visualizer and analyzer for the NYC public school SAT score data from 2014-2015.

Conveying emotions through lyrics: Olivia Rodrigo and her songs by Farah Azmi and Tecla Mafa

A program that determines how angry or sad a song is.

Gravity by Abani Ahmed and Alecia Barbieri

A study game where the user has to type out a matching term to a falling rock displaying a definition.

#game #studytool
Physics Helper by Hyaline Chen

Barnes Hut gravitational simulator & Harmonic Oscillator Simulator and interactive graph plotter

#algorithm #assignmentextension #newassignment
Lab Report Generator by India Behl and Reese Owen

The purpose of our project is to facilitate the production of pieces of a generic laboratory report, including a data table, scatterplot (with linear line of best and R^2), histogram, and outline.

#data #studytool
Flaming Hot Chemistry by Jacqueline A. Wang and Tara Agarwal

We are demonstrating a flame test lab simulation using emission spectra and data provided by a teacher.

#game #studytool
Battleship by Donna Wang and Ankhitha Manjunatha

Our project simulates a battleship game, where players will choose the squareof the sea that they want to aim each round until all the ships in the seahave been hit and uncovered.

Financial Advice with Stock Visualization by Christian Lalin and Ayanava Ganguly

We take in stock data defined by the user, then use the data in different methods to calculate a series of technical indicators, which help us inform our user if we advise investment in the stock, and finally we graph the indicators and stock prices to help our users visualize trends.

Artist Prediction Machine by Connor C. Nisbet and Ilay Furman

From a unknown song, match it to the artist in our catalog that its’ lyrics resemble most closely

Mapping the Carceral Landscape of New Jersey: A Call for Abolition by Akhila Bandlora and Amber Rahman

The purpose of our project is twofold: 1) to emphasize that correctional facilities in NJ and the violence they inflict is a material reality that’s happening close to them through highlighting the proximity of carceral facilities and 2) to engage our audience in a critical evaluation of what’s happening in the different types of carceral facilities around them (juvenile detention, ICE detention, state, federal, private, local prisons) and what action steps they can take.

Othello by Berkley Yiu and Athena Jamurta

Implementation of Othello strategy board game

PingPongDeluxe by Charles Nelson Sinarya and Kok Wei Pua

Our project is an arcade PingPong game that consist of a ball and paddles that supports 2 or 4 players.

BrickBreaker by Clara Toujas-Bernate and Jacob Santelli

Implements a BrickBreaker game where the user aims a moving ball with a platform at the bottom of the screen at bricks to try to break them.

EMS Prioritization & Visualization by Umar Aulia

I obtained a dataset of info from 911 calls for Montgomery County, PA, and created a software that determines the priority of the call based on the type of medical emergency reported, provides an ambulance crew with a determination of which call they must respond to ’next’ based on call priority & proximity to their current location, and also plots the calls and the EMS unit’s current location on a map of Montgomery County in Standard Draw.

#data #algorithm
Algorithmic Trading Bot by Sam Chiang and Jason Le

This program inputs stock price data to produce a stock chart containing candlesticks, which reflect appropriate stock prices on a day-by-day basis, two simple moving average trend lines, and circles to indicate crossovers between the two simple moving average trend lines.

#data #algorithm
MadLib by Harrison M. Roberts

Creative a MadLib game in which the user provides nouns and adjectives using the terminal.

MarkovModel for Pictures by Chien V. Nguyen and Aline Utetiwabo

This project extends on the MarkovModel assignment and apply it on pictures.

Bitcoin Tweet Sentiment Predictor by Caiden B. Kiani and George Chiriac

A sentiment analysis machine learning model that is trained on a bitcoin tweet dataset.

#data #library #algorithm
Scrabble by Emilio Chan and Ashley Olenkiewicz

We made a text-based version of the game Scrabble where four players on the same computer take turns putting letters onto a board and getting points for said letters.

Okey Game by Taylan O. Aydin and Yavuz Gonen

We implemented the Turkish game “Okey” in two versions, one where 4 CPU players play against each other with a novel algorithm to group their pieces in the best way possible, and a second one where a human player can play against 3 other CPU players with text-based commands.

#game #algorithm
Automated Marine Mammal Classifier (AMMC) by Mila Bileska and Yi Jin Toh

Our project, Automated Marine Mammal Classifier (AMMC) implementsthe Perceptron machine learning algorithm to differentiate betweentwo different dolphin species based on pre-existing training data while having an interactive interface.

#algorithm #assignmentextension
Sudoku by Matthew B. Drapkin and Skyla Qian

Our project is a classic Sudoku game that provides the user with a random Sudoku board, allows for inserting values into different coordinates, and allows the user to delete previous moves as they progress through the game.

Tiger Tear by Greta I. Herrington

I designed the visuals and implemented a single player game featuring a running tiger, who must jump and duck to avoid obstacles.

#game by Mihika Ramprasad and Emmett Grover

A java-implementation of the game.

Mapping Geography of Endangered Languages by Chythanya Murali

The program will output a customizable geographic map of where different languages remainendangered.

#data #digitalhumanities
Chess by Omkar Abhyankar

Two player chess game without the rules of castle-king-side, pawn promotion.

Tiger To-do by Suhani Balachandran and James Richardson

A Princeton-specific academic planning application that automatically organizes all your assignments and any academic Princeton-wide events that are specific to you, to improve your academic preparedness and minimize stress.

MadLib by Harrison Roberts

A MadLib game where the user inserts their own nouns/adjectives into an original passage to create a custom story.

The Endangered Languages of the World by Christian A. Garcia-De La Jara and James Zhang

Our project is a visual implementation of endangered language data from the Endangered Language Project database using user commands for functions and filters.

#data #digitalhumanities
Endangered Language Project Visualizer by Leo F. Rupp-Coppi

Allows user to search, write to, and visualize endangered language database

#data #digitalhumanities
BlackJack Simulator with Probability display by Ben Harrington and Chris Thomas

Playable BlackJack game that shows you updated probabilities

Hangul Classifier by Audrey Yang and Joshua Yang

Hangul Classifier is an extension of classifier assignment which classifies Korean language Hangul characters (syllable blocks) into text.

#data #algorithm #assignmentextension
Determining Absurdity by Michelle W. Liu and Lillian Ye

Our project is a game that allows users to guess whether news headlines are real or satirical (i.e. from The Onion) and runs analyses on what words are more likely to result in correct/incorrect guesses.

#game #data
SPIA Fall by Aviva Schwarz and Helena Frudit

A Princeton-ified version of the game SpyFall, intended to be played by 6 people on one device.

Financial Modeling by Isabelle G Casimir and Leila Grant

Produces a graph representing trends in certain stock and predicts how much money you would have at the end of period of time

Evil Hangman by Guanyi Cao

Instead of a predetermined word, Evil Hangman seeks to cheat the userby determining the word based on the user’s guesses.

Chess Visualizer by Sijbren M. Kramer

Takes modified algebraic chess notation, checks for legal chess moves and prints out a 2D representation of each move.

#game #data
Generative Art Using a Markov Model by Sophia Grace Capili and Vivian Chen

This project aims to create various adaptations/versions of existing albumcovers and pieces of artwork using a Markov model.

Connect 4 by Erin Lee and Aidan Phillips

Our project is a Connect 4 with a GUI with two modes of gameplay: one-player, where the user faces off against an AI, and two-player, where two users alternate playing in real time.

Diamond Cutter, A SHA-256 Hash Cracker by Luc Harbers

My program attempts to recover the plaintext used to create unsalted SHA-256 password hashes by through dictionary and bruteforce attacks.

To The Moon by Chase N. Magnano and Thomas Larson

A sprite controlled by arrow keys moves left and right to navigate up ledges that appear randomly.

Analyzing Endangered Languages in the US by Cecilia A. Quirk

This project uses the data set from the Center for DigitalHumanities’ Endangered Language Project. It filters the data for languagesin the US, plots the coordinates of the endangered languages on a mapof the US, and generates a bar graph representing how many languages inthe US fall into the endangered, vulnerable, threatened, dormant, and awakeningcategories.

#data #digitalhumanities
BobaSort by Willow Yang and Zayvinn Lin

This project follows the same guidelines as the popular water color sortpuzzle game, however, with the twist being a set of boba pearls at thebottom of each drink cup that must stay at the bottom.

Super COS Girls by Grace S. Oh and Krishna Parikh

It’s a fun, interactive game where the character runs and jumps throughout a moving Princeton campus background while trying to get as many coins as they can to increase their score.

Song Generator by Shlomo T. Fortgang and Estelle Botton

Our project allows the user to choose two of Taylor Swift’s song to create anew song from, the instrument, and the speed on which to play the new song, and then plays the new song.

The Bechdel test by Sarah Lekaj and Meera

This project analyzed and calculated data on movies that passed the Bechdel Test and visualizes it into graphs

#data #digitalhumanities
In What Book Universe Would You Live? by Evelyn McGonigle and Adam Littman Davis

We processed data from four books (with respect to specific categories) and created a BuzzFeed-style quiz based on those data.

MarkovModel for Pictures by Chien Nguyen and Aline Utetiwabo

This project extends on the MarkovModel assignment and apply it on pictures.

Brickbreaker! by Christopher R. Caligiuri and Richard Gomez

This project is a recreation of the the game BrickBreaker, where the user is taskedwith controlling a moving platform and attempt to break all the bricks on the game board via a moving ball.

PerceptronPro by Andrew D. Webb and Abdur-Raheem Idowu

Improved version of Perceptron with more features.

#data #assignmentextension
Multi-engine antivirus terminal program by Boaz Yoo

Terminal antivirus program that scans a file passed in as a command line argument across numerous antivirus engines available on VirusTotal.

Sokoban by Carlos J. Cortez and Campbell Godfrey

Sokoban is a puzzle game in which the player pushes boxes or crates around in a grid, trying to get them to their final location without getting stuck.

Snake by Alexandra Jerdee and Erin Chang

For our project, we decided to recreate the game Snake by accepting keyboard input and outputting our display through StdDraw.

Stock Analyser App by Saarthak Chaturvedi and Roy Mazumder

It is a desktop app made using JavaSwing that shows the statistics and graphs of a list of stocks and can help estimate earnings.

#data #algorithm
The Game of Life by Luke F. Martin and Clay Reiferson

A programmed simulation of Conway’s Game of Life

#game #data #algorithm
Stock Visualization and Analysis by Adityasai V. Palaparthi

Graphing .csv stock data as a candlestick chart and then building and graphing trend lines of the stock data by constructing financial indicators.

#data #algorithm
Graphing Calculator by Merritt H. Zhang and Sam Sanft

Accepts user input of a polynomial function and uses the marching squares algorithm to plot it in a 2D plane.

#data #algorithm #studytool #newassignment
Gravity by Alecia T. Barbieri and Abani Ahmed

Gravity is a study game where the user inputs terms and when their respective definitions toappear on falling rocks, and the user has to type in the correct term before the rock falls to the bottom, or else they will lose one of their three lives, an instance that causes you to lose the game when undergone thrice.

#game #studytool
Ivy Battle Simulator by Ernie Moreno and Kaitlyn McCalebb

Ive Battle Simulator is a battle game with three Ivy League schools (Princeton, Harvard, Yale), where you get to decide which school you want to play as, battling a randomized computer.

TigerMaps by Sokol Hoxha

My project allows people to see how many students are in Princeton University halls at a given day/time.

COVID Destroyers by Zain R. Ahmed and Chris Paige

Destroy COVID Virus (Circle) before you get hit.

#game #algorithm
Othello by Soseniyos T Yimer and Cristina Maldacena

Create and implement the rules of the board game Othello which 2 players can play on the terminal.

CrossyCode by Maia Weatherly and Jorge Hernandez

Players traverse through levels while trying to avoid collisions with enemies.

Book Recommendation System Using Collaborative Filtering Algorithm by Stephenie Chen and Sushma Miryala

Our project uses machine learning, trained using a collaborative filtering algorithm on a public dataset of books & ratings to recommend five books to the user based on 5 books they have indicated they enjoy.

#data #algorithm
Budget 538 by Daniel Shaw and Mori Ono

Predicting the U.S. Presidential Election using polling data and fundamentals.

BlackJack by Lois I Omotara

I wrote code that would simulate a BlackJack Game in the console

Jump! by Alyssa L Ritchie

It is a simplified version of the google chrome no internet game, where the player jumps to avoid obstacles and the game ends once the player comes in contact with an obstacle

Freshman Simulator by David O. Oke and Alexander Yoo

A text-based RPG that simulates the busy life of a first-year freshman student.

#game #algorithm
Restaurant Recommender by Divraj Singh

recommend a restaurant in boston based off user input

Personality Prediction by Caroline Chen and Quincy Leung

Our project is a machine learning program that predicts the user’s personality type based on their input text.

#library #algorithm #assignmentextension
Go, Java, Go! by Xander Jenkin V and Matthew Barrett

Our project is a Java version of the Chinese board game Go, where two players place black and white stones around each other to capture the other player’s stones and score points.

Christmas Sim by Ayo Ogunsanya and Pascal Nabare

Christmas tree art

Snake by Nooha A. Kawsar and Aleha Amjad

We implemented Snake in Java.

ROCK, PAPER, SCISSORS, SHOOT! by Windsor Nguyen and Liz Garcia

Recreates the classic game of rock, paper, scissors in Java.

#game #newassignment
Rock Band by Louis A. Larsen

My project is a DAW that allows users to create music using soundsdeveloped by the Karplus-Strong Algorithm.

Super Fighting Game 2000 by Seyi Oderinde

A text-based fighting game in the java terminal that allows the user to control a character as they face different opponents in different levels of the game and level up their character as they progress.

Eartheart by Alex M Eng

Eartheart is a text-based RPG in which players play as an animal and must try to survive in that animal’s natural habitat, having to overcome both natural threats to their survival (like predation and disease) and man made obstacles (like buildings, pollution, and climate change).