My name is Andrew Zhang and I am a computer science & applied math student at UMD. I am currently a sophomore and am very interested in both data science and machine learning. In my free time, I like to play sports, especially volleyball and soccer. I am building this website to help me practice my HTML, CSS, and Bootstrap skills.
As an ACSL lead, I designed and delivered lesson plans on topics including data structures, graph theory, and assembly, significantly improving student understanding and engagement. I guided 20 students to the final round of competitions, achieving a 300% increase from previous years. I also led office hours for over 30 students, offering personalized support through practice problems and detailed explanations.
I developed and trained a convolutional neural network for sports image classification using the Xception model, achieving 90% accuracy on the validation set. I enhanced performance through data augmentation, hyperparameter tuning, and rigorous testing for robust generalization. This project demonstrates expertise in deep learning and advanced model optimization techniques.
I developed a custom Linux shell with features like I/O redirection, piping, and subshells using process control and Unix I/O libraries. I also designed an algorithm to traverse the syntax tree generated by the lexer and parser for command interpretation and execution. This project highlights proficiency in C programming, Linux, and system-level process management.
I developed a Rubik's Cube solver in Java, capable of solving any scrambled cube in 3 milliseconds with an average of 100 moves. I designed an interactive UI using Swing, allowing users to input the cube state via a color palette. The project demonstrates expertise in algorithm optimization and user interface design.
I developed a maze-solving application in Java that utilizes BFS, DFS, and Dijkstra's algorithms to efficiently find shortest paths in various maze configurations. This project highlights proficiency in graph theory, algorithm design, and data structures for solving complex computational problems.