Dynamic Combination Lock Box


I coded a combination lock box using Arduino, whose 4 digit unlock code is dynamically changing depending on the time of day. The unlock code is calculated by finding the factorial of the current time, and finding that number modulus 101. 

This was a fun way to combine math, cryptography, and physical computing. You can find the code on my github


Scope: 1 Week

Categories: Physical computing, mathematics, crytography

Role: Individual Project. Owned idea generation, coding, and execution. 

Screen Shot 2018-01-11 at 10.29.16 AM.png
Screen Shot 2018-01-11 at 10.29.07 AM.png



Hacking Heart: A Personality Test and Game


We created a Python game that requires you to play with a partner to determine your dominant "love language". The 5 love languages are five ways to express love according to Gary Chapman in his book, The Five Love Languages. These languages include physical touch, gift giving, words of affirmation, quality time, and acts of service. 

After taking a diagnostic test, you work with another team member to "hack their heart". You do this by playing a series of mini-games. For example, to win "words of affirmation", you have to correctly guess the artists of popular songs about love and the heart, and for quality time, you need to correctly map out a day in New York City on the perfect date.  

You can find the code on my github.  


Scope: 1 Week

Categories: Programming, personality tests, games

Role: Coding and game execution 

Collaborator: Angie Ngoc Tran




Programming with Python Turtle

Using the Python Turtle library, I was able to create a stochastic random walk piece of art. A direction is randomly chosen each step and the line gets drawn. As the line continues, the hue of the color gradually changes. Because the direction is random, every time you run the code you get a different result.


Scope: 1 Week

Categories: Programming, statistics

Role: Programming