Data Structures, Algorithms, Complexity Theory, Graph Theory, OOP (Java/C/Python), Procedural Programming (C), Functional Programming (OCaml)
Generalization, Overfitting, Regularization, Validation, Linear Regression, Logistic Regression, PLA, DNN, SVM, Kernel Methods
Data Manipulation (NumPy, SciPy, scikit-learn, Mathematica), Data Visualization (Matplotlib)
Unity3D, C#, C++, C, JavaScript, Game Design, Multithreading
HTML, CSS, JavaScript, Figma
A JavaFX-based top-down survival game, with tower defense and power ups thrown into the mix. Developed in collaboration with Elliot Van Huijgevoort, with help from Gokul Nair.
ViewA timing-based ball shooting game set in a sky-like setting, developed with Unity3D. The player must use precise timing to shoot a ball into a moving target. The player can miss three times, with the number of remaining misses indicated by the number of red balls remaining on the platforms.
ViewA voice-controlled simulation of the infamous Fizz Buzz program, developed using the Alexa Skills Kit for Node.js. Alexa takes the odd numbers, and the player takes the even numbers. Alexa gracefully handles any spoken dialogue.
ViewAn optimal 2x2x2 Rubiks Cube solver that uses clever optimizations to reduce the search space by over 2 billion fold relative to naive BFS. A corners first 3x3x3 Rubiks Cube solver that averages ~150 quarter turn solutions in a few seconds in a VM with 10 GB of RAM. The project extends the Caltech CS 1 2019 final.
ViewA compiler for a simplified version of BASIC, optimized to compile in O(n) time on the parse tree size, to pre-evaluate expressions of constants, to replace multiplication with bit shifts where possible, and to maximize register use. The project extends the Caltech CS 24 2020 project 2.
View