About Me

— Who am I? What do I do? Look no further! —

Table of Contents
       


Education


B.A. in Computer Science

Aug 2016 - May 2019 (Expected, Accelerated Graduation)

Whitman College

Walla Walla, WA

  • Current GPA
    • Major: 3.90
    • Cumulative: 3.91
  • Coursework
    • Software Engineering (class project)
    • Artificial Intelligence (final project)
    • Natural Language Processing (Python)
    • Algorithm Design and Analysis
    • Theory of Computation
    • Systems Programming (C, Assembly)
    • Systems Architecture
    • Data Structures (C++)
    • Discrete Math and Functional Programming (SML)
  • Leadership
    • Founder/President of STEM4ALL residence hall suite (2017 - 2018)
    • Vice President of Martial Arts club (2017)


Skills


Programming and Scripting

  • C++, C, Python, Bash, Lua, Java
  • SDL2, Emscripten, OpenGL
  • Make, CMake/CTest, GDB, GProf
  • Windows, Linux, Mac, Android, WebAssembly
  • Auto documentation (Doxygen and Sphinx)
  • Continuous integration (Travis CI, GitLab CI)
  • Version Control (Git, GitHub, GitLab)


Work Experience


Research Assistant (Department of Computer Science)

May 2017 - Jul 2017

Whitman College

Walla Walla, WA

  • C++ software development of gene regulation network simulation: git.io/vdLek
  • Optimized runtime by 20% using static polymorphism (CRTP and X-Macros)
  • Automated simulation per-model compilation with CMake
  • Refactored I/O and analysis modules to be user-extensible
  • Monthly formal presentations to CS department on progress and results
  • Awarded 3rd place student presentation at the Consortium for Computing Sciences in Colleges northwestern 2017 regional conference

Museum Guide & Camp Councelor

Jul 2015

The Science Factory

Eugene, OR

  • Engaged visitors of all ages in applying scientific method to museum activities
  • Supervised chemistry and astronomy experiments for two dozen campers


Projects


EzGL Game Engine (C++)

Feb 2018 - Present

  • Factory- and component-based game engine implemented from scratch
  • Plugin support through json-configurable dynamic loading and initialization
  • Graphics API-agnostic core; OpenGL or SDL renderers loaded dynamically
  • Statically polymorphic MVC components using CRTP

EzMake (Make, Bash)

May 2018 - Present

  • Automation scripts for building, documenting, testing, and Emscripten porting
  • Static or dynamic linking, allowing each module to be its own shared library
  • Unit testing framework with program input customization

Expectiminimax Game AI (C)

May 2018

  • Implemented AI agent for stochastic board game “The Royal Game of Ur”
  • Customizable ply lookahead; can pit two AIs of different lookahead values against each other or play against an AI yourself
  • Beat random agent 97% of the time and 1-ply lookahead agent 65% of the time
  • Written in pure C89 for my own fun and suffering

Accompaniment Pairer (C++)

Aug 2017

  • Paired 60 non-pianists and piano accompanists via Google Forms CSV parser
  • Eliminated need to spend hours manually determining compatible schedules
  • Optimal pairings defined as students having greatest schedule overlap

High School Coding Projects (Java, LWGJL)

2014 - 2016

  • Ping pong physics game with ball position predicting AI using kinematics
  • Isometric Pac-Man-like game with narrative themes from 1984
  • Simulated macroeconomic and international trade models

Crazy Ravines Minecraft Mod (Java)

Aug 2012

  • 10,000 total downloads: 7500 in first six months, 2500 in following six months • Retained audience by addressing community feedback such as adding “Crazy Caves” and support for in-game customization • Featured on dozens of YouTube channels and international forums


Languages


English

  • Native language

French

  • Professional proficiency
  • AP French: 5/5
  • IB French B HL: 5/7

Chinese

  • Basic proficiency