About Me
- I am a second year undergraduate student in Computer Science at the University of Washington. I am currently in Gilbert Bernstein’s group but I’m not doing research with him. I’m also a student in the PLSE group.
- I’m actively looking for summer internships and research opportunities.
- Despite early in my academic journey, I’m broadly interested in programming languages, computer graphics, theory of computing, and machine learning.
- Before college, I grew up in Wuhan, China. I am fortunate to attend Wuhan Foreign Languages School for middle school and Wuhan Britain-China School for high school; the learning experiences from both schools have given me perspective and courage to study abroad.
Skills
- Programming Languages: Proficient in Java, C/C++, Python, JavaScript/TypeScript, SQL, OCaml, Racket, Ruby, MATLAB, Excel
- Programming Concepts: Proficient in Object-Oriented Programming (OOP) and Functional Programming (FP); Familiar with Applications with Convolutional Neural Network (CNN)
- Frameworks: Proficient in JUnit Testing, ReactJS, PyTorch, Java Spark, NumPy, SQL Server, NoSQL; Familiar with Java Swing, Figma, Flutter
- Mathematical Background: completed two challenging honor math series, proficient in advanced calculus, differential equations, linear algebra, topology, real and complex analysis
Research Interests
- Programming Languages: compiler construction, program synthesis, formal verification
- Graphics: primitive tagging
News
- [Jan. 2024] I started doing research on primitive tagging. Our project focuses on developing user-in-the-loop semi-automatic methods to identify the type and shape parameters of geometric primitives that best fit a given input mesh.
- [Jan. 2024] I took an extremely challenging but interesting grad course CSE599O Diff&Prob PL. I learned a lot about abstract math, programming languages, and their applications.
- [Sep. 2023] I joined professor Gilbert Bernstein’s group.
- [Sep. 2023] I participated in the 2023 TAPIA Conference, a conference promoting and celebrating diversity.
- [Jun. 2023] I volunteered in the 2023 ACM SIGMOD/PODS Conference, helped with six research and tutorial sessions.
- [Jun. 2023] I started doing summer research with PhD student Remy Wang on SQL.
- [Jun. 2023] I joined PLSE as an undergraduate researcher.
- [Mar. 2023] I became a TA in CSE 341 Programming Languages.
- [Jan. 2024] I joined UW CIRCLE as a CIRCLE Ambassador, volunteering for international students.
Projects and Experiences
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.
Primitive Tagging for Everyday Objects Research
- 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
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.
Teaching
-
I am a current teaching assistant in CSE 341 & 413 Programming Languages, for 4 consecutive quarters. The course is mainly functional programming that taught language design and interpreter construction, using OCaml. Other instructors have been using languages including Racket, Scheme and Ruby.
-
I am the owner of the “StanleyYang Talking about Math Video” channel on WeChat. I created and posted math tutorial videos on a biweekly basis. I supported the math studies of over 350 students, in 26 videos.
-
I was a tutor for The Sailors, a student-run tutor group. I taught 7 students with varying academic backgrounds and needs. I taught math, physics, and computer science.
Coursework
Spring 2024
- CSE 431: Introduction to Theory of Computation
- CSE 446: Machine Learning
- CSE 492R: Guided Research Program for Undergraduates
- CSE 499: Undergraduate Research
- CSE 590P: Programming Languages Reading Group Seminar
- MATH 336: Accelerated Advanced Calculus (Complex Analysis)
Winter 2024
- CSE 344: Introduction to Data Management - Flight App
- CSE 492R: Guided Research Program for Undergraduates
- CSE 499: Undergraduate Research - Primitive Tagging
- CSE 590P: Programming Languages Reading Group Seminar
- CSE 599O: Differentiable & Probabilistic Programming Languages - CaCL
- MATH 335: Accelerated Advanced Calculus (Real Analysis)
Autumn 2023
- CSE 312: Foundations of Computing II (Probability & Statistics)
- CSE 332: Data Structures & Parallelism - uMessage
- CSE 390R: Introduction to Research in Computer Science & Engineering
- CSE 498: Undergraduate Research - SQL-Summer-Research
- MATH 334: Accelerated Advanced Calculus (Topology & Real Analysis)
Spring 2023
Winter 2023
- CSE 331: Software Design & Implementation - Campus Map Finder
- CSE 341: Programming Languages
- MATH 135: Accelerated Honors Calculus (Differential Equations)
- ENGL 131: Composition: Exposition
Autumn 2022
- CSE 143: Computer Programming II (Intro to Java)
- CSE 190B: Direct Admit Seminar
- MATH 134: Accelerated Honors Calculus
- PSYCH 101: Introduction To Psychology
- GEN ST 199: The University Community
In High School:
Selected Awards
- UW ICPC (International Collegiate Programming Contest) Winter Programming Contest 2024 - Second Place
- Canadian Computing Competition (Senior Division) 2022: distinction, top 5%, honor roll group 4
- Oxford University Computing Challenge 2021: China National High Distinction; Elite Global Finalist Round: High Distinction
- American Computer Science League 2021: individual top score, team bronze award; All-Star Round: National Individual Silver Award
- USA Computing Olympiad Jan. 2021: promoted to Gold division
- Canadian Mathematical Olympiad (CMO) 2021: 14 out of 35 points. The Median was 9 out of 35
- American Mathematics Competition 12 2021: certificate of distinction, promoted to AIME
- Canadian Open Mathematics Challenge (COMC) 2020: national gold award, rank 7 in China, invited to the Canadian Mathematical Olympiad (CMO)
- High School Mathematical Contest In Modeling (HiMCM) 2020: Honorable Mention
- Outstanding Club Achievement Award for .EXE Club, 2020
- Wuhan High School English Academic Debate Tournament 2019: Octo-finalsit
Volunteering
Misc
- I am a crazy cat lover, though not currently having one. Puff is the cutest cat in my opinion. Her mom is an American shorthair, her dad is a Scottish Fold, and she had a younger Ragdoll cousin called Paofan. I have tons of merch of Puff, including two pillows, two T-Shirts, a card holder, dozens of stickers, and thousands of stickers in my phone.
- When I am not coding or reading papers, I enjoy playing board games, petting cats, playing video games, doing sports, cooking, watching movies, and reading fictions. I am also a veteran LTK (Legends of the Three Kingdoms) player, in which I had once reached the top 20 globally in the 10th Anniversary server.
- I applied for Oxford University for undergraduate school, but I got rejected. Maybe I messed up with my interview but I was feeling ok for it. There are a MAT (Maths Admissions Test) and I got surprisingly good on it, getting a 97 out of 100 which ranks top 1% among 2816 competitors. I felt so close to Oxford but what a pity…
- My Chinese name is 杨光 (Yáng Guāng), which means sunshine. It is a very common Chinese name and lots of people have the same name as me. Fun fact: I have a neighbor, who is doing PhD in CSE, with the exact same name (first and last!) as me.
Powered by Jekyll and Minimal Light theme.