Integrates benchmark.js into the Nodejs-based framework of the Pyret Language.
Takes the ridiculously popular tile-sliding game into the third dimension with WebGL graphics (thanks to THREE.js).
While researching at ICERM (check the blurb on the math page for more info), Pat Hooper lent my group a Java application he had written the prior summer to visualize ray propogation in periodic tilings of the plane. While researching, I added additional functionality to the Java application. More recently, I decided to port the whole thing to Javascript, using Raphael.js for the graphics.
You're already here! Many thanks to Bootstrap, Sass, and Jekyll. Have a look at the source repo if you wish.
Git is fantastic. It's really helped me branch out.
Worked for the company in the Summer of 2016 as a software development intern.
Worked for the company in the Summer of 2015 as a software development intern.
Worked for the company in the Summer of 2014 as a development intern. Created dashboards housing data-visualization widgets, wrote SQL functions to amalgamate data, wrote JavaScript which interacted with Google Charts and Google Maps APIs, contributed features to a NodeJS application.
Finite state automata, regular languages, Turing-recognizability and completeness, computational complexity classes (P,NP,PSPACE, etc).
Used modeling tools and proof assistants (e.g. Alloy, Z3) to model systems and programs, and to prove properties thereof.
Analyzed distributed and concurrent computing with topological tools.
Explored the principles of modern programming languages by implementation in Pyret.
Used Matlab to investigate various topological phenomena. Examples: computing homotopies, homology groups.
Used C and Assembly to learn about systems: storage, cache, processors, threads, etc.
In the first semester, used Racket and OCaml to learn recursion, higher-order functions, testing, and some algorithms and analysis thereof. In the second semester, used Java and Scala to learn object-oriented programming/design patterns, data structures, and dynamic programming.