Worked with a partner to create a 2D representation of the classic board game "Battleship." The coolest part of our game was that you had the option to play two players from two different computers by connecting to Penn's servers, or play one player against an AI that we programmed. Gameplay: First, a menu pops up that requires the players to input their names and IP addresses. The IP address is the necessary component that allows the two computers to communicate with one another. After these inputs, the two users place their ships on the lefthand board by clicking and dragging. If the user tries to place an invalid ship (i.e. diagonally, longer than 5 spaces, or click the same space twice), an error message will pop up and give them the option to try again to place a valid ship. Once all ships are placed, they are sent to the other computer as a matrix. The two players then take turns guessing. The game ends when one of the users sinks all of the other player's ships.
Function that uploaded atomic force microscopy (AFM) data as two-dimensional matrices representing the magnitude of a response at regularly-spaced locations across a sample metal surface. Function visually summarized the data and saved this figure to the working folder as a 24-bit jpeg with a resolution of 300 pixels/inch.
Function that used Monte Carlo integration to evaluate the integration of a torus in three dimensions. The function determined the volume of any given torus with outer radius "R" and inner radius "r" by continuously adding points randomly selected over the domain of the torus. The function then continuously updated and reported the current estimation of the volume to three decimal places for a total of 5,000 randomly selected points, while also rotating 360 degrees about the z-axis during this period.
Graph that models the position and velocity of damped harmonic oscillators that are described by second order ordinary differential equations.
For a damped harmonic oscillator, this 3-dimensional graph investigates the effect of mass on the system position as a function of time.
Used trapezoidal integration function to integrate the area underneath f(x) = sin(x) + cos^2(x^2-pi/7). Varied the number of integration divisions from 5 to 500 and produced a plot of integrated area as a function of the number of divisions used during integration.
Function that simulated the flight of a basketball in 2D with any given initial position, initial velocity, time step, and total simulation time. Also took into account gravity and damping.
Created a script that loaded an act from Shakespeare's "King Henry" and counted the incidences of each alphabetic character. The script produced this bar plot to show the incidence of the five most common letters. Script works with any .txt file, not just Shakespearean plays.
gLike
Coding Projects

Figures from a scientific computing class taken sophomore year. This class involved computation and data analysis in Matlab.

Matt Raimo
Business Development Vice President at AQR Capital Management Greenwich, CT