← Professional Experience

Rochester Institute of Technology

Faculty, Interactive Games & Media

7 years

  • Unreal Engine 4
  • Unity3d
  • C#
  • JavaScript
  • React
  • Node.js
  • SQL
  • NoSQL

Responsible for writing and teaching courses across a variety of software engineering topics: full-stack web development (HTML, CSS, JS, Node.js, React, Heroku, SQL, NoSQL), 3D programming with C# and Unity, tech art and optimization with Unreal Engine, VR development with Unreal 4, and game design concepts across engines.

Highlights

Course Designer & Instructor

Tech Art

Wrote and taught a course on technical art focusing on optimization in Unreal Engine 4 — one of the first such courses in the country. Covered asset optimization, LODs, HLODs, proxy LODs, cubemap reflections, lighting/shadows, level streaming, asset loading and platform target specs.

Co-Instructor

2D & 3D Interactive Media

Co-wrote and taught a course on programming 2D & 3D interactive media with C# and Unity — gameplay scripting, random generation, trigonometry, vector math, collision detection, basic physics and forces, autonomous agents and obstacle avoidance.

Instructor

Full-Stack Development

Wrote and taught several courses on full-stack development using Node.js, React, JavaScript and TypeScript — covering HTML, CSS, canvas, packaging, git, DNS, HTTP servers, sessions, databases, MVC/MVVM, templates, REST, server performance, unit testing, build tools, deployment and CI.

Instructor

Real-Time Communication

Wrote and taught a course on real-time communication using UDP, TCP and WebSockets — client- and dedicated-server-hosted games, thread- and event-based servers, caching, near real-time sync, persistent storage, RPCs and data syncing.

Instructor

C++ Intro

Taught an introduction to C++ programming and concepts — classes, arrays, C-strings, pointers, inheritance, templates and singletons.

Co-Instructor

Game Design & Development

Co-wrote and taught classes on game design and development concepts — genres, taxonomy, demographics, constraints, mechanics, aesthetics, narrative, interfaces, playtesting, measuring fun, business models, platforms and distribution.