A collection of code for various purposes in various languages.
Code for projects without Github links can be provided upon request.
Ongoing | On Hold
Protein evolution modeler
A project on protein ancestral reconstruction by using a nearest-neighbor (residue) model, combined with statistics from the Protein Alignment project (below) to model pairwise alignments with time considerations. End goal
is to train an autoregressive autoencoder.
Analysis of lab pages in CS course
Research on how students in an introductory CS course utilize digital lab pages as resources over the course of a semester. Image cr: CS10
Translation of proteins to codons
This algorithm predicts the best codons given an input sequence of amino acids. It combines a Monte Carlo and sliding window approach with consideration for CAI score, secondary structure, and free energy values.
Logistic regression-based grouping
Utilizes logistic regression and SKLearn to classify emails based on keywords. Employed cross validation techniques to ensure high accuracy (91% on a test set of 1000)
E. coli metabolite map generation
Incorporation of reaction and chemical data to generate a full map of reachable native chemicals in E. coli. Utilized ChemAxon for molecule standardization.
Analysis of Berkeley K-8 schools
Analysis of how factors (income, etc) affect quality of education in K-8 schools in the Berkeley. PCA is used to highlight areas of focus and necessary changes in education. Uses Tableau and Jupyter. Image cr: Berkeley
Unified School District
Amino acid parser
An algorithm that parses and analyzes amino acid alignments from SABmark. Generated statistics on substitutions and indels used for protein ancestral reconstruction.
A personal portfolio project
A mini git-based version control system
This project mimics some of the features of Git. The following commands were implemented: init, add, commit, rm, log, global-log, find, status, checkout, branch, rm-branch, reset, merge.
Course website for CS10
Worked on a new student-oriented website for CS10, aka the Beauty and Joy of Computing, an undergraduate computer science course at UC Berkeley. This website was deployed for Summer 2020. Check it out at the link below!
Game-playing AI and custom GUI
Tablut is a recreation of an ancient Nordic strategy board game. The algorithm is capable of playing a fully automated game in 2 minutes. I developed a heuristic that assists the AI in finding a win within 4 moves. The
implementation also allows gameplay through either terminal or custom GUI.
Python-based interpreter for Scheme
An interpreter for a subset of the Scheme language. Terminal-based inputs of Scheme statements were translated into tokens, then run through a Read-Eval-Print loop for accurate evaluation.
Two-player board game and AI
A terminal-based implementation of the board game Battleship, where players take turns guessing the positions of the opponent's ships. I also wrote an AI that is capable of making its next guess based on the status of its
Rating-based visualizer for restaurants
A visualization of Berkeley restaurant ratings using machine learning. Users can view resturaunts tailored to previous preferences (ratings, location). It utilizes a Voronoi diagram.
K-nearest neighbor classifier for movies
A kernel estimation algorithm that classifies movies by genre. A secondary classification algorithm predicts the genre based on the frequency of 20 different words in the script.
Case study on cardiovascular disease
This analysis focused on determining the likelihood of poor diet causing heart disease via hypothesis testing. The data analyzed spanned multiple decades.
Analysis of Fibonacci implementations
An analysis of the accuracy and runtime of three different implementations of the Fibonacci sequence (recursive, iterative, Binet's formula). Originally written in Jupyter notebook.