Private Tutor
My tutoring strategy is goal-oriented and starts by meeting any student at their current level of understanding. Through discussion and ...
My tutoring strategy is goal-oriented and starts by meeting any student at their current level of understanding. Through discussion and exercises, I've led more than a thousand hours of successful lessons supporting students with:
* getting started with programming through games at the middle-school level
* introductory through advanced C, C++, and Java language topics
* functional programming with Haskell and Scheme
* masters-level functional programming languages and compilers
C++
C
SQL
Haskell
Scheme
Racket
Teaching
Roblox
Programming language design
Teaching Programming
View more
Software Engineer
Nintendo Technology Development
2022-10-01-2024-06-01
My team was responsible for implementing the Nintendo Switch operating system's BSD-compatible sockets API. Network software stability i...
My team was responsible for implementing the Nintendo Switch operating system's BSD-compatible sockets API. Network software stability is critical to Nintendo's multi-player and digital goods ecosystems.
* stress testing a highly concurrent operating system process to uncover timing bugs
* network protocol parsing and system implementation
* interface state management APIs and callback system implementation
* automated test analysis and correction
* implementation of a low-impact packet filter for development tooling
* addressing protocol management during device low-power state
* significant exposure to FreeBSD network code in analysis and augmentation
C++
C
Continuous Integration
View more
C++
C
Continuous Integration
Wireshark
FreeBSD
TCP/IP
Test Automation
View more
Adjunct Lecturer
DigiPen
2019-05-01-2020-12-01
As an adjunct, I managed all aspects of several semesters of the core software development curriculum for freshmen and sophomores, and l...
As an adjunct, I managed all aspects of several semesters of the core software development curriculum for freshmen and sophomores, and led summer elective courses in functional programming with curriculum of my own design.
* CS 120: High-Level Programming 1 (C)
* CS 170: High-Level Programming 2 (Introduction to C++)
* CS 185: Introduction to C++ for Game Designers
* CS 225: Advanced C/C++
* CS 399: Introduction to Functional Programming (Idris/Haskell)
C++
C
Haskell
Teaching
Idris
Teaching Programming
View more