Projects

TaskDragon

medieval imagery

In this full-stack, two teammates and I clone TaskRabbit through the use of JavaScript and Pug on the front-end and Node, Express, Sequelize,and PostgreSQL on the back.

NetAssign

Editor for a particular math question

In this solo full-stack I clone the homework service WebAssign. I use JavaScript and React for the front-end, and I use Flask, Python, SQLAlchemy, and PostgreSQL on the back.

Tennis scheduler

Schedule for a particular tennis group

In this full-stack I create a service for managing the play-availability of the members of a private tennis group. I use JavaScript and React for the front-end, and I use Flask, Python, SQLAlchemy, and PostgreSQL on the back.

Pickup sports

Roster for a pickup volleyball game

In this full-stack we enable users either to organize pickup-sports events in their area or to sign up to participate in events organized by others. We use JavaScript, React, and Bootstrap for the front-end, and we use PostgreSQL, Node, Express, Sequelize, and Google's Maps API on the back.

Graphical Kinematics

overlapping graphs of position, velocity, and acceleration

In this front-end I create an open-ended tool for exploring the calculus-based relationship between the graphs of position, velocity, and acceleration for a particle which is moving in one direction. I perform the calculations with JavaScript and rendered the results with React.

Quadratic factorizer

steps of a particular algebra problem which are almost completely worked out

In this front-end I create a tool for allowing an algebra student to practice solving quadratic equations via factorization in a setting which provides feedback every step of the way. I use JavaScript and React (with functional components and hooks).

Traveling salesperson problem

diagram of the shortest route which connects 13 points in a 3-d regions

In this front-end I create a single tool which both calculates and renders the solution for the traveling salesperson problem in either two or three dimensions, using JavaScript (with a factorial-base scheme for iterating over the permutations) and React (with functional components and hooks).

Rotating body

oblique view of a rectangular box

In this front-end I create a tool for investigating the torque-free rotation of a three-dimensional box. I use JavaScript to solve the nonlinear system of differential equations, and I use dynamic CSS transforms and React (with functional components and hooks) to render the results.

Colliding spheres

snapshot of 24 spheres having different sizes and colors (densities)

In this front-end I simulate a 2-dimensional system of different particles that undergo collisions, each of which conserves both momentum and energy. I use JavaScript to solve each collision, CSS transitions to propagate between successive collisions, and Vue for rendering.

Math APIs

results for finding all roots of a 7th-degree polynomial

In this project I construct the set of back-ends listed below. Each API performs a significant mathematical task and returns either json or html.

links language description
app repo Rust numerically calculates integrals, derivatives, differential-equation solutions, maxima, roots, and limits for functions of one variable
app repo Golang evaluates complex-valued functional expressions by implementing PEMDAS recursively
app repo determines integer factorizations and GCDs for both real and complex integers
app repo Python solves linear systems of equations, including inverses and determinants of matrices using Crout's algorithm for LU decomposition
app repo finds the roots of a polynomial by implementing Laguerre's method
app repo Node calculate the dynamics of the logistics map and renders graphical results using svg elements
app repo PHP/Twig miscellaneous minor utilities
app repo Ruby/Rails (WIP) Rotatable polyhedron generation and rendering

Education

AppAcademy

Web Development bootcamp

Connecticut Dept of Education

Certification to teach 7 - 12 Physics and Mathematics

University of Chicago

MS and PhD in theoretical solid-state physics

Princeton University

AB in mathematics

Experience

  • Accorded:

    Fullstack engineer (mostly frontend) (November 2021 - July 2024)
    As a utility engineer I programmed in Golang, Javascript, and Rust. One of my niches included creating custom charts with svg elements or d3.js.
  • Miscellaneous Connecticut high schools:

    Teacher of physics, astronomy, and mathematics (August 2009 - December 2019)
    Designed personalized assignments through the use of WebAssign, Quest, ExamView, and Excel
    For my personal classroom-use created hundreds of entries in the database of WebAssign(perlscripts) and WebAssign (JavaScript scripts)
  • Christopher Newport University:

    Assistant/Associate Professor of Physics, Computer Science and Engineering (August 1992 - May 2009)
    Director of Computer Engineering Program
    Faculty Senator (Secretary, Vice President, and Acting President)
    Largely in change of the undergraduate teaching laboratories, during which time I converted most of the primitive lab activities to those which use either computer-aided data-acquisition or computer-grading systems
    Pioneered my university’s use of online homework systems (WebAssign)
    For my personal classroom-use created approximately 1000 WebAssign questions (not included in the list below)
  • WebAssign:

    Contractor (c. 2001 - 2005)
    Created approximately 1000 entries in their database of physics questions, each of which was a small perl script
    Tested approximately 1000 entries in their database of questions which had been coded by others
  • United States Naval Research Laboratory:

    Research Associate(August 1990 - August 1992)
    Performed computer-based calculations about semiconductor nanostructures

Skills

NodeJS css3 bootstrap PostgreSQL Git GitHub Heroku Google Cloud Services html5 JavaScript React Redux Vue Yew Express Flask Python Perl Pug SQLAlchemy Sequelize Fortran Golang Rust D3 Superblocks