I am a rising Junior at Tufts University in the School of Engineering, studying Computer Science and Mathematics. In addition to being on the Varsity Sailing Team, I also participate in the Garden Club and in Women in Computer Sciences (WiCS) on campus. I grew up in Washington, DC.
With what little free time I have, I enjoy collecting houseplants, reading, and doing arts & crafts.
Tufts University, School of Engineering, Medford, MA.
Bachelor of Science in Computer Science (BSCS), Minor in Mathematics, May 2022.
Dean's List Fall 2018, Spring 2019, Fall 2019.
My relevant course work includes Data Structures, Web Programming, Machine Structures & Assembly-Language Programming, Introduction to Digital Logic Circuits (with lab). In Fall 2020, I am taking Algorithms, Mathematical Modeling, Mathematical Aspects of Data Analysis, and Computer Security.
The Potomac School, McLean, VA, Class of 2018.
May 2020 - present
Bioinformatics and Computational Biologist Researcher
Working under Professor Lenore Cowen with the Tufts BCB Research Group researching corals and conducting RNA-Sequencing on corals data.
Severn Sailing Association
June 2019 - August 2019
Taught sailing fundementals and safety to beginners ages 6 to 11. Planned daily lessons and water and land activites.
Georgetown University, Yates Field House
June 2016 - August 2018
Lifeguard and Front Desk Assistant
Lifeguarded at the indoor pool and assisted with customer support.
June 2018 - August 2018
Prepared food and beverages for customers.
June 2017 - August 2017
Cared for infants at Bright Beginnings, a DC-based nonprofit that provides childhood development services to homeless children ages 6 weeks to 5 years old. Helped with lesson plans and daily routines.
Smithsonian Insitution, National Museum of Asian Art
June 2016 - August 2016
Digital Media and Technology Intern
Helped update and create the museum's internal website, which was hosted by WordPress. Helped manage some of the museum's social media platforms. Assisted with various other technical and web issues.
Calculator written in UMASM, Universal Machine Assembly Code.
The program has two states, the waiting and the entering state. When a opperation is entered,
the program prints the value stack after opperation is complete or if not valid will print an error
message and the value stack.
The program uses eight registers, following specific conventions. The stack is used for the calculator
and a jumptable is used to perform the opperations. There are four modules: the urt0, which is used for
initialization; main, which is the driver code; printd, which prints the value stack; and calc40, which
performs all the calculator opperations.
Created a web game where superheros can faceoff against each other. The fights are simulated and the site shows a
leader board showing which heros or villians are the champions.
names, images, and characteristics. Additionally, Node.js and Heroku were used to create the
Implimented an emulator for The Univeral Machine. Assembly instructions for
The Universal Machine were translated and simulated in a C program. For each bitpacked instruction,
the emulator performs the fetch, decode, execute cycle.
The program contains five modules: memory, which maps and unmaps segments; registers, which
controls the eight registers; datamanip, which performs data manipulation; and umio, which
maintained the I/O module.
Given a "bomb" that would explode with invalid input, x86 assembly code was analyzed to "defuse" the bomb.
A GNU debugger was used to parse through the six-phase bomb's assembly code and to determine the valid input.
Each of the six-phases's assembly code were analyzed to determine the accurate input. The phases of the bomb
became more complex. Ultimelty, the last two phases were translated from x86 assembly to a C program.
Program took an input of a pnm image and compressed that image through bitpacking the
information in the rgb pixels, then output the compressed image. The program decompressed
an image when given the compressed image format as input. Ultimetly, the program could
compress an image to 1/4 of its origional size.
The rgb pixels were stored in a UArray2, which was written for the Sudoku Solver Project. The
Pnmrdr interface was also used. In the compression, quantization and discrete cosine
functions were performed. A bitpacking interface was written for the project. Bitpack
packs and unpacks 32-bit words.
Program used different principles of locality to rotate an image 0, 90, 180, and 270 degrees by
block-major, row-major or column major. Performed analysis on increased speed of rotation relative
to locality and cache performance.
Implimentation used the UArray2b interface, which was written for the project. The UArray2b
ultized Hanson's UArray, unboxed array, interface to create a 2d boxed array interface.
Implimented a program that determines whether a solution to a sudoku puzzle is valid. The sudoku
solution is inputted as a pgm image, with different colors pixels corresponding to values one
The program uses the UArray2 interface, an unboxed 2D array, which was written for the project.
The UArray2 was implimented using Hanson's UArray interface, an unboxed array. Additionally, the
Pnmrdr interface was used. The pgm sudoku puzzle was read into the UArray2 to determine the
validity of the solution.
Implimented a program that removes black pixels on the outer edge of pgm images.
Program uses the bit 2D array interface, which was also written for the project. The bit 2D array
interface used Hanson's bit array interface. To remove the edge pixels, a recursive acting
algorithm was completed iteratively.
Implimented a searching program similar to Unix's grep search. With the program,
case sensitive or case insensitive searches for words could be performed and the
path of each instance would be outputted.
A chaining hash table was created, using vectors and linked lists. Hashing was
performed with C++'s hashing function.
Programming Languages: C++, C, Java, Python, x86 Assembly, ARM Assembly, VHDL.
Tools & Technologies: Linux, Git.