| published | true |
|---|---|
| layout | page |
| title | About Me |
| date | 2018-05-21 15:00:00 -0700 |
| author | Kirk Lange |
| summary | Who am I? What do I do? Look no further! |
| thumbnail | file-alt |
# Education *** ### **B.A. in Computer Science** #### *Aug 2016 - May 2019* (Accelerated Graduation) #### *Whitman College* #### *Walla Walla, WA* - Quick Stats - *summa cum laude* - Major: 3.91/4.0 - Cumulative: 3.93/4.0 - Phi Beta Kappa honor society - Coursework - Advanced Project (SAT-based matching algorithm) - Capstone Project (website and matching algorithm) - 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
- 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)
- 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
- 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++)
- 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
- 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)
- 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
- Professional proficiency
- AP French: 5/5
- IB French B HL: 5/7
- Basic proficiency