creates a working implementation of a Turing universal machine emulator
accepts 14 bytecode instructions
add, divide, multiply, bitNAND, halt, segmented load, segmented store, load value, conditional move, load program, map segment, unmap segment, input, output
later optimized the program to run in 1% of the original time
Written in collaboration with Mia Taylor.
Skills: HTML, CSS, Javascript, Photoshop
The Korean Immigrant Experience:
Charles Song, from Korea to California
Work in progress as of October 2024!
A website meant to record and tell the history of my family--from Korea to America.
slASL is two complementary webpages ~~ signs-to-speech and speech-to-signs
signs-to-speech
Recognizes numbers 0-9 and A-Z in ASL via a Google AI API, taking input from the device’s webcam.
Trained Google AI API with a set of around 1,000 images.
speech-to-signs
Takes voice input from the user, converts it to text and then converts the alphabet characters into images of signs.
Written in collaboration with Ava Masse, Avtar Rekhi, and Aknazar Arysbek.
Easy Wardrobe
UX/UI design concept
A wardrobe organization application with the following features:
Add new item to closet
Create new outfit
Schedule outfits
AI outfit generator
Written in collaboration with Anh Hoang, Christopher Pellegrini, and Qing Zhong, Xiaohu Sun.
image compression/decompression
program that compresses and decompresses a ppm image
modes of compression:
rgb to component video color space
discrete cosine and chroma transformations on averages of 2x2 pixel blocks
bitpack 2x2 pixel blocks into 32-bit words
Written in collaboration with Esther Khair.
program that performs transformations on a ppm image and times how long each transformation takes
supports tranformations...
rotate 0, rotate 90, rotate 180, rotate 270, flip horizontal, flip vertical, transpose, timer
Written in collaboration with Mia Taylor.
Skills: C++, Object-Oriented Programming, program optimization, unit-testing
gerp
file search
Search through directories of files for a certain word
Emphasis on completing with shortest runtime and smallest RAM usage
Implementing using hashing and OOP
Written in collaboration with Zoriana Sand.
Skills: C++, Object-Oriented Programming, unit-testing
Metro Simulator
Takes an input file of train stations
Creates a train simulator where the train travels to each station, picking up passengers at each station and dropping them off at their final destination
Work in progress as of March 2024!
A just for fun website because I think hamsters are very cute!
Skills: C++, Object-Oriented Programming, unit-testing
RPN Calculator (CalcYouLater)
Implemented a working RPN calculator which takes various calculator commands from the user
Implementing using a stack data structure and OOP
Skills: C++, Object-Oriented Programming
Splendor Game Simulation
Gameplay that mimics the Splendor board game.
Splendor is a game where players compete to gain the most prestige points.
Players earn prestige points by buying cards from three different decks: the mines deck, the transport deck and the vendors deck.
Players buy cards using gems that they can draw from the gem bank.
Every time a player buys a card, they earn a gem discount, making it easier to buy cards as time goes on.
Written in collaboration with Richard Townsend.