My Programs

American Sign Langauge Program

In college I developed a Python machine learning American Sign Language( ASL) program using a Leap Motion sensor. The Leap Motion includes code which detects and differentiates differnt joints in the hand. I used this code and then recorded sessions of my hand making the sign for the numbers 0-9 in ASL.

I then fed a series of ten recordings of each number with various hand sizes to the program. By calculating the average distance between the joints of each finger when each number was being signed, I taught the program to identify and guess which number was being signed.

Once I managed to get the program to accurately guess the number that was being signed, I created a Graphical User Interface (GUI) to give visual feeback to the user. As you can see in the video below, the red hand shows the user what their hand is doing, the blue hand shows them what sign to make, and there are a also yellow "pointer" hands which direct the user back to the center of the leap motion's view when the stray too far.

Battleship in Java

I also created a Java version of the classic board game Battleship alongside my friends Aaron Brunet and Drew Guild.

To create the program we created a GridSquare class which contained a y and x axis, a boolean to track whether a the square had been guessed or not, as well as a pointer for a section of a ship to be placed in.

Both the player and computer AI opponent had Fleet Objects generated for them, which contained 5 ships of varying length. Each ship is then assigned to 2-5 grid squares which, again, contain pointers back to that ship.

The game is then played by allowing the player to guess a square on the computer's grid, and then having the computer guess a square. On easy difficulty the computer guesses randomly, and On medium difficulty the computer will make its guesses randomly until it hits a ship, and then proceed to guess up, left, right or down, and continue guessing in the same direction until it registers a miss and then going back to the original hit, choosing a new direction, and continuing again.