My Projects

Java desktop application to generate one-variable equation worksheets for algebra students and monitor their progress.

Java desktop application developed for a high school teacher to demonstrate adding/removing from a binary heap priority queue.

Java desktop application that demonstrates the Knight's Tour problem and solution in chess, where the knight piece visits each square of the chessboard exactly once.

My first Java Swing desktop application from 2016, where I turned a command line interface assignment and integrated it into a GUI. The user is able to create rosters of student and student ID pairs, allowing them to manage students using ArrayLists and file input/output.

Personal website built using HTML, CSS, and Materialize.
My Academics
Machine Learning. Topics include classification, regression, density estimation, dimensionality reduction, and clustering. Taken Spring 2021.
Artificial Intelligence. Topics include state spaces, search algorithms and heuristics, reinforcement learning, Markov decision processes, and Baynesian networks. Taken Spring 2020.
Efficient Algorithms and Intractable Problems. Topics include dynamic and linear programming, NP completeness, approximation algorithms, divide and conquer, DFS/BFS, MSTs, shortest path algorithms. Taken Fall 2019.
Data Structures. Notable projects include array/linked lists deques, HeapPQ and KDTree, and a Google Maps style application Bear Maps. Taken Spring 2019.
Machine Structures. Topics include C, RISC-V, caches, compilation, assembly, parallelism, pipelining, and virtual memory. Taken Fall 2020.
Discrete Math and Probability Theory. I teach this class through CSM! Topics include formal proofs, graph theory, computability, discrete, conditional, and continuous probability, and Markov chains. Taken Summer 2019.
Structure and Interpretation of Computer Programs. Notable projects include Ants vs. SomeBees Game (OOP) and a Scheme Interpreter written in Python. Taken Fall 2018.
Optimization Models in Engineering. Topics include convexity/convex optimization, gradient descent, duality, support-vector machines, and linear-quadratic regulators. Taken Spring 2020.
Probability and Random Processes. Topics include discrete/continuous time Markov chains, random graphs, hypothesis testing, error estimation, regression, Kalman filtering, and hidden Markov models. Taken Fall 2020.
Real Analysis. Topics include analysis of the real number system, metric spaces, uniform convergence, infinite series, mean value theorem and its applications, and the Riemann integral. Taken Spring 2021.
Numerical Analysis. Topics include Hermite and cubic spline interpolation, numerical differentiation, Taylor and Runge-Kutta methods, and special matrices. Taken Fall 2020.
Abstract Algebra. Topics include sets and relations, congruences, groups, rings, and fields. Taken Spring 2020.
Linear Algebra. Upper division, proof-based linear algebra course. Taken Fall 2019.
Linear Algebra. Lower division, more computationally focused linear algebra course. Taken Fall 2018.
Multivariable Calculus. Taken Spring 2019.