About Me

I am a software developer with over 10 years of experience programming in object oriented languages, specializing in Java and C#. I began programming at the age of 12 when I became intrigued by the idea of designing my own video games. In my senior years of highschool I joined my schools Computer Science team to compete in programming competitions. I graduated from Wilfrid Laurier University with a Computer Science degree (B.A. Honours Science) in 2015. During this time I had the opportunity to work at the computer programming camp Real Programming for Kids (RP4K) both as an instructor and as a course developer. Currently I am working as a .NET Developer at Compusense Inc, designing features for sensory analytics software in C# and Java (Android).

In my spare time I play a lot of online competetive gaming, logging most of my hours in Heroes of the Storm, Overwatch, and Rocket League. I also design small projects from time to time, some of which are available on github.

To contact me please send an email to matterickson@hotmail.com.

Resume

Education

  • Wilfrid Laurier University, Waterloo, ON
    B. Sc. Honours Computer Science, April 2015

Technical Skills

    Languages
  • C#, Java, SQL
    Software
  • Android Studio, Eclipse, Github, Microsoft Visual Studio, Team Foundation Server

Work Experience

    .NET Developer, Compusense Inc., Guelph, ON, January 2016 - Present
  • Ensure client expectations are captured in software solutions throughout the project life cycle
  • Make and assess technical recommendations based on requirements
  • Debug, correct and refactor code to address identified priorities
  • Course Developer, Real Programming 4 Kids, Waterloo, ON, January 2012 - Present
  • Programmed and wrote an 80 page course manual for Minecraft modifications (Java)
  • Manual is used daily by instructors across Ontario to teach children how to program
  • Updated manual in May 2013, October 2013, June 2014, and June 2015
  • Course Instructor, Real Programming 4 Kids, Waterloo, ON, September 2010 - August 2013
  • Taught children age 7-17 how to program using video game development as a base
  • Solved a variety of programming problems to implement custom features into student’s games
  • Languages taught: Visual Basic, Java, C#, C++

Game Project: Platformer

The goal of this project was to create a simple framework in which platformer games could easily be created. The project features a central timer for world updates, automatic animation of sprite sheets, box collision detection, scrolling, and movement controls for a player.

The current build has a playable character, a few different enemy types, some items to pick up and a few different types of platforms to walk on. The video of the project has red text in the top left corner. This is a debug console showing various stats about the game.

github.com/matterickon/platformer

Nao: Humanoid Robot

Wilfrid Laurier University owns a 58cm tall humanoid robot named Nao designed by Aldebaran Robotics. In 2015 I was able to be a part of the team working with WLU's Nao. Of the many small projects we designed for the Laurier Open House, I was most involved in designing a way for Nao to take selfies with visitors.

For his first tweets Nao used his built in camera to take the picture but there was an issue, he wasn't in the picture. In our second term we designed a selfie stick for Nao and connected him with a raspberry pi to take the picture.

A selfie from Nao at the Laurier Open House in March 2015 A selfie from Nao at the Laurier Open House in March 2015

github.com/cric5890/Nao-OCR

Recursive Descent Parser and Interpreter

In 2014 I was working on an interpreter for a school project. The project started by building a syntax analyzer, capable of colour coding keywords, variables, and numbers differently. It then expanded to analyzing syntax and finally providing the output of the code. The algorithm uses a recursive descent parser to determine if the program follows the correct syntax. It then builds an intermediate representation of the program in a binary tree and finally interprets the tree to determine the output.

The language supports integers and doubles, functions, recursion and a print statement. I developed the entire project in Java.

If you are interested in seeing it in action, you can download the jar here.

Note: If you end up giving this one a go, the symbol tables the program can generate are the variables in the program. All values will be equal to zero as it displays the tables just after the program is parsed (and before it is interpreted).

Interpreter GUI Interpreter solving a recursive GCD function

github.com/matterickson/interpreter

Game Project: iPortal

In 2013 I worked with a partner to design an iPhone game based on Valve's Portal series using cocos2d framework. It is a 2D version of Portal where the player must get past obstacles using their portal gun. The video demonstrates the games five levels. The project is programmed in Objective-C using xCode. Note: The walls lined in pink are not able to have portals shot on them.