My Projects

Algebra Worksheet Generatormore_vert
Algebra Worksheet Generatorclose

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

Feedback Formmore_vert
Feedback Formclose

React application that uses email address validation and sends a POST request with the inputted name, email, and message.

Priority Queue Visualizermore_vert
Priority Queue Visualizerclose

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

Apartment Choresmore_vert
Apartment Choresclose

React application to assign chores weekly to my housemates and me.

Knight's Tour Demomore_vert
Knight's Tour Democlose

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.

Student Managermore_vert
Student Managerclose

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 Websitemore_vert
Personal Websiteclose

Personal website built using HTML, CSS, and Materialize.

My Academics

CS 189

Machine Learning. Topics include classification, regression, density estimation, dimensionality reduction, and clustering. Taken Spring 2021.

CS 188

Artificial Intelligence. Topics include state spaces, search algorithms and heuristics, reinforcement learning, Markov decision processes, and Baynesian networks. Taken Spring 2020.

CS 170

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.

CS 61B

Data Structures. Notable projects include array/linked lists deques, HeapPQ and KDTree, and a Google Maps style application Bear Maps. Taken Spring 2019.

CS 61C

Machine Structures. Topics include C, RISC-V, caches, compilation, assembly, parallelism, pipelining, and virtual memory. Taken Fall 2020.

CS 70

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.

CS 61A

Structure and Interpretation of Computer Programs. Notable projects include Ants vs. SomeBees Game (OOP) and a Scheme Interpreter written in Python. Taken Fall 2018.

EE 127

Optimization Models in Engineering. Topics include convexity/convex optimization, gradient descent, duality, support-vector machines, and linear-quadratic regulators. Taken Spring 2020.

EE 126

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.

Math 104

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.

Math 128A

Numerical Analysis. Topics include Hermite and cubic spline interpolation, numerical differentiation, Taylor and Runge-Kutta methods, and special matrices. Taken Fall 2020.

Math 113

Abstract Algebra. Topics include sets and relations, congruences, groups, rings, and fields. Taken Spring 2020.

Math 110

Linear Algebra. Upper division, proof-based linear algebra course. Taken Fall 2019.

Math 54

Linear Algebra. Lower division, more computationally focused linear algebra course. Taken Fall 2018.

Math 53

Multivariable Calculus. Taken Spring 2019.