PROFILE

About Me

Growing up on Cape Cod, Massachusetts, I discovered a passion for programming and technology during my time at Sandwich High School. Currently, I am a junior at Colby College pursuing a double major in Computer Science and Government, and a minor in Mathematics.

Me

Education

Colby College

Expected B.A. (2018): Computer Science and Government majors, Mathematics minor

Waterville, ME, USA

2014 - present

University of Edinburgh

Studied at the College of Science and Engineering as a semester abroad

Edinburgh, UK

Fall 2016

Sandwich High School

High School Diploma

Sandwich, MA, USA

2010 - 2014

Employment

Software Developer Engineer Intern

Worked in Amazon Fulfillment Technologies on a team dedicated to extracting information from Amazon's "vision tunnels," which are conveyor belts surrounded by cameras and sensors. These tunnels retrieve information like size, weight, and barcodes from each package to better sort and eventually deliver the packages. Specifically, I created a web console for internal Amazon teams to be able to easily look up the details of a particular package or the history of one tunnel's readings in a fulfillment center.

Amazon

Summer 2017

Undergraduate Researcher

Worked with Dr. Tim Menzies researching some hypotheses from major software companies through the National Science Foundation's REU program

North Carolina State University

Summer 2016

Teaching Assistant

Assist students with their computer science projects during and outside of class

Colby College Computer Science Department

2015 - present

Interests

Tennis

Current member of Colby Men's Tennis Team

Student Government

Current member of the Class Council (for Class Year 2018), Colby College.

Music

Electric bass guitar -- jazz and funk.

Other Activities

Disc Golf, Ultimate Frisbee, Downhill Skiing

PROJECTS

Enhanced Issue Lifetime Prediction Using Contextual Features

During my summer working at NC State University, I focused my research on issue lifetime prediction in open source software projects. I found that simpler models that both improve upon the accuracy of the prediction and require less knowledge about the issue can be built using feature selection and careful tuning. Context specific features were shown to be extremely important in increasing the accuracy of these models. The models can provide software development teams that have fewer resources and less information a way to accurately estimate the lifetime of their issues. I presented my findings in a symposium at the end of the summer to an audience of a couple hundred people. Here is a PDF of my poster. A paper based on my research is currently under review at Mining Software Repositories '17.

Bantam Java Compiler
Bantam Java Compiler

In a four-person team, I wrote a compiler and optimizer for a subset of the Java language, called Bantam Java. Bantam maintains the core functionality of Java while being designed for use in an educational setting. Our primary focus for the compiler was on the organization and design of the project. We used common design patterns like the visitor pattern, and generally tried to treat the project like we were developing it for industry production.

Multi-floor Wheeled Robot

I worked on a team of three to solve the problem of how a differential drive robot reaches different floors in a multi-floor building. We used a state machine to model the desired behavior of the robot. First, we set the robot in the middle of the lobby running a face detection algorithm. If it detects a face, then it asks the person to take it to the nearest elevator. It then follows that person based on the color of their shirt, until it gets inside the elevator. It uses a Hough transform to recognize the defining features (three perpendicular, straight lines) of being in an elevator to know when to thank the person.

Augmented Reality Chess
Augmented Reality Chess

This project is an augmented reality chess game simulator that incorporates physical interaction to move the virtual pieces. I wanted to do a computer vision focused project after I took an Introduction to Vision and Robotics course during my first semester at the University of Edinburgh. I had the idea of augmented reality chess in the back of my mind for a while - it really came from the holographic chess scene in Star Wars Episode IV. I wrote this in C++ using OpenCV and the ArUco library for image processing, and OpenGL for graphics. The source code can be found on GitHub here.

Line Following Robot

This robot was made using Lego's EV3DEV Python toolkit. It can accomplish a few tasks, all of which were based on line following. It can follow a curved line, traverse a series of broken and staggered lines, and circumvent an object, as shown in the video. My partner and I accomplished these tasks with a PID controller, a common control scheme for robotics applications. The program and writeup can be found on GitHub here.

Coin Counter
Coin Counter

This is a Matlab program that classifies different objects in a scene. The scene contains several small objects on a tabletop, including coins. The program segments and classifies each object in the scene, and outputs the total amount of money present (though some non-coins are given value as well in this project). I developed this with another student at the University of Edinburgh during my studies there. The process can be divided into three steps: background segmentation, object extraction, and object classification. We encountered many different common computer vision problems throughout this project (such as inconsistent lighting, poor quality images, and ambiguous features) and worked to circumvent these challenges. Our classifier exhibited precision and recall values of 0.739 and 0.731 on the testing data. The soure code can be found on GitHub here.

Music LED Controller

This is a Python script that runs on a Raspberry Pi. It analyzes music played through the Pi, and shows a visualization of the levels of the frequencies through an LED strip that is attached to the Pi. Different lights are brightened or dimmed depending on which frequency is strongest at a given instant in the music. I built a wooden box with glass on the sides, and put the LED strip inside the glass, and the Raspberry Pi inside the box. The script can be found on GitHub here.

Colby Computer Science Department Website
Colby Computer Science Department Website

I am currently working with one other student at Colby on redesigning and maintatining the Computer Science department website. I proposed this project to the department chair, Bruce Maxwell, and he gave me permission to start work on completely re-vamping the website in the spring of 2016. The site has now been deployed and has replaced the old department website to be the new location for every computer science student at Colby to access. This is an image of the new site, and here is a link to it.

Easy Calculator

Easy Calculator is a calculator application made for Android devices. In this app, I focused on making design and ease of use the top priorities. I also wanted the app to be useful in contexts other than just doing simple algebraic calculations, so I added a tip calculator and a sale calculator. It can be found on the Google Play Store here.

Piece and Serenity
Piece and Serenity

Piece and Serenity is an environmentally conscious interactive digbold media installation. I worked on this art piece as the Lead Programmer in a group of seven students during a class in Colby's January term. The interactive aspect of this piece is a large puzzle board where audience members could place pieces. As Lead Programmer, I wrote and organized much of the code that read how many puzzle pieces had been placed, and routed that information through another program to determine the state of an image display. Take a look at this video to see more about the project, and my role in creating it.

CONTACT

Matthew J. Martin

6891 Mayflower Hill

Waterville, ME, USA 04901

774-392-5741

matt@matthewmartin.me


Or, take a look at my resume.


RESUME