Scotty3D: a 3D modeling, rendering and animation package
- Developed a software rasterization pipeline for GPU-independent preview renders, using OpenGL
- Designed interactive mesh editing tools using a halfedge data structure, enabling efficient topology changes
- Built a path-tracing renderer with efficient ray-scene intersection queries and realistic light simulation
- Implemented an animation system with skeletal animation, linear-blend skinning, and particle simulation
Primitive Tagging for Everyday Objects Research, poster
- Developed user-in-the-loop semi-automatic methods for identifying 3D geometric primitives on an input mesh
- Enhanced user interface for intuitive region selection and primitive type specification, benefiting novice users
- Implemented advanced functionality to crop user-selected mesh data, optimizing for reduced mesh generation
- Utilized differential 3D learning techniques for automatic optimization of primitive shape parameters on PyTorch
CaCL (Change and Chance Language) Interpreter & Compiler
- Implemented parsing, type checking, annotations, template expansions, mutations, and diverse data type support
- Authored 1300+ lines of tests, thoroughly validating interpreter functionalities and error-handling mechanisms.
- Employed compiler rewrite strategies to optimize code dependencies and boost compilation speed
- Innovative features like parallel let, short-circuiting, and higher-order functions augment language capabilities
Flight App
This is an flight app based on a global airline management service.
I designed and tested a database of airline flights, their customers, and their reservations; I also prototyped the management service which is connected to a live database (in Microsoft Azure). The prototype uses a command-line interface. and allows for concurrent usage.
uMessage chat application
- Implemented various data structures: MinHeap, CircularArrayFIFOQueue, MoveToFrontList, AVLTree, and ChainingHashTable
- Used the above implementations on the back-end to drive word suggestion, spelling correction, and autocompletion in the chat application called uMessage
- The chat application reads from certain files and remembers the frequency of every N-Gram, then gives word suggestion as the user types in more words.
Campus Path Finder
Campus Path Finder for University of Washington, Seattle campus.
This is a course project for CSE331 in winter 2023. More information and specs about the project can be found here. HW5 to HW9 are for this project and it took 6 weeks of development.
- Developed a generic ADT and applied it to a campus map using Java, tested with 5000 lines of JUnit tests
- Designed a web app and utilized React and Java Spark framework to create a user-friendly GUI
- Analyzed a database comprising 5000+ campus coordinates for navigation between 52 buildings
- Applied MVC (Model-View-Controller) pattern for GUI and employed Dijkstra’s algorithm for navigation
Tetris
- Developed a fully functional Tetris game in Racket, showcasing programming proficiency
- Leveraged the Racket GUI toolkit to design an engaging and interactive user interface
- Innovatively incorporated extra Tetris blocks and a cheating function to enhance gameplay and user experience
“Buddies” App at DubHacks 2022 Hackathon
This is an app that connects students around you. University students could have a lot of things to do, such as looking for a study group, inviting others to a party, or looking for a person to walk home together when it’s 12am, and so on.
I led a team of four as the Project Manager and UI/UX Designer for the App using Flutter framework. We orchestrated team brainstorming sessions, managed project timelines, and designed the GUI using Figma. We showcased our project through a video demonstration and live presentation to a panel of judges
Seating Assignment Program
It can let the user create a seating layout and assign seats randomly for a class of students. More functionalities such as personalized grouping or splitting students are supported.
- Designed ADTs for user accounts and seating layouts using Java, enhancing data organization
- Implemented a GUI using Java Swing, facilitating effortlessly editing and exporting of seating plans
- Comprehensively tested with JUnit to ensure reliable application performance for a seamless user experience
- Enhanced seating arrangements with customization features, effectively lightening workload on teachers
FIRST Robotics Competition 2021, Team 5165: Yangtze
I am a programmer for FIRST (For Inspiration and Recognition of Science and Technology) Robotics Competition Team 5165 Yangtze, serving during the 2021 season. My responsibilities included writing the code for chassis control and PID tuning.
Pioneer Academics Summer Research Program
I conducted an individual research project and earned college credit from Oberlin College. My research focused on the mathematics of ranking. Under the mentorship of Timothy Chartier, Professor of Mathematics and Computer Science at Davidson College, my research titled “An Analysis of the Codeforces Rating System” explores the underlying algorithms and mathematical models used in the Codeforces rating system, utilizing a range of quantitative and qualitative data sources to provide an in-depth evaluation. I was rated as “top 5%, one of the best I have encountered” by my professor.
Powered by Jekyll and Minimal Light theme.