Robin Pan

University of Waterloo, Class of 2020

Learn more

About Me

My name is Robin Pan and I am a fourth year Computer Science student at the University of Waterloo. In the past year, I have interned as a full-stack developer at Minted and also at MyTime. I am currently searching for an internship for the winter of 2019.

A copy of my resume can be found here


Work History

Full-Stack Developer at Minted (Jan 2019 - April 2019)

Full-Stack Developer at MyTime (May 2018 - August 2018)

Full-Stack Developer at Mercury Mortgages (September 2017 - December 2017)


Photonics Software Designer at Ciena Corporation (Jan 2017 - April 2017)


QA Analyst at Climax Media (May 2016 - Aug 2016)



Education and Skills

I am beginning the fourth year of Waterloo's Bachelor of Computer Science program. In my studies, I have formally studied data structures, algorithm design, object-oriented programming, scripting, compiler design, operating systems, networking, concurrent and parallel progamming, relational databases, AI, machine learning, computer architecture and discrete mathematics.

I am proficient with Python and C++, as I used them often in my computer science courses and for personal projects. I have worked closely with various web languages and technologies, including ES6, Ruby on Rails, SQL, GraphQL, ReactJS, AnguarJS and PHP during some of my internships as well as for personal projects.



Personal

During my free time, I typically play music, work on personal projects, or watch the Ottawa Senators.

I am an avid pianist, having studied piano and music theory intensively for 14 years. I have attended many competitions, with success in the provincial and national levels. Some achievements include: being awarded with the highest mark in Canada for my RCM grade 8 exam, receiving scholarships in the provincial and national levels of the Canadian Music Competition, and winning local Kiwanis competitions against undergrad music students as a 14-year-old.

Some of my other pastimes include swimming, table tennis, and video games (particularly Super Smash Bros).




Projects

This section of the website is dedicated to projects which I have worked on during my free time.

GitHub: robin-pan.



PyScribe

Uses genetic algorithm along with custom cost function to generate fingerings for digital sheet music. This is still a work in progress, I am trying to decrease the calculation time, consistency, as well as printing the assignments on the sheets. For now, this can only be used for small excerpts of music.


Note that fingers are zero-indexed:

Major Scale
calc

Arpeggio
calc

Polyphonic
calc

GitHub



Snek

Based on Atari's snake, I used C++ design patterns (subject-observer, singleton) along with the Oxygine library to implement the game. Then, I transpiled the C++ code to Javascript using Emscripten so that it can be embedded into the link below. This project is still in progress.

Play now!

GitHub



Calculator

Originally, this project was a command line arithmetic calculator which I made using C++ as an OOP exercise. I then decided to add GUI, but could not find an appropriate C++ library. Thus, I decided to learn C# and made both the front-end and back-end.

This calculator takes an arithmetic expression in infix format, converts the input to postfix format using the Shunting-Yard algorithm, and evaluates the expression. A finite state machine is used to control user inputs (ie a binary operator cannot be followed by another binary operator). The mathematical operators are set up polymorphically, allowing them to be generic.


calc

GitHub



Personal Website

My introduction to web development was through the process of making this website. This project has allowed me to take a significant step forward with my web design skills.

The website is built using HTML, CSS, Javascript, as well as JQuery, and is completely responsive with mobile support.

GitHub





Music


Classical


Beethoven Concerto No. 3 Op. 37

During my musical 'career', I had the opportunity to play Beethoven's 3rd Concerto with an orchestra after finishing top 5 in a local competition. The following is the audition video that I sent in.



TV


Some covers of anime soundtracks.


No Game No Life - This Game


Tokyo Ghoul - Unravel


Guilty Crown - Bios





Contact


You can reach me at: