Menu
Close
Theme
Close

Themes

Languages 语言

中文

Individual Interests, Projects, and Learnings Timeline

This is a good chance for me to clean up what I have been working on during the past years.

Time: yyyy-mmOne-Line Summary
2024-05Making my own Static Website Generator using vanilla JavaScript and Rust-Lang
2024-05Visualizing Connect Four Game Graph using Three.js
2024-05Making my Barnes-Hut Tree Implementation Rust-Lang Crate
2024-02Trying to accelerate the Connect Four solving process
2023-12Solving Connect Four
2023-11Refactor my Graph Layout algorithm in Rust-Lang
2023-09Redesign my website using Next.js
2023-08Redesign my website using React.js
2023-05Refactor my Graph Layout algorithm in C++, with knowledge from UIUC CS128, CS225 courses
2023-02Visualizing One-Plus-One Game Graph, with Three.js
2022-12Learning Three.js in an organized way, taking Bruno Simon's Three.js Journey course
2022-10Making interactive maze games to learn human learning patterns using Angular.js
2022-01Making my personal website using Angular.js and Express.js
2021-12Learning Web Development
2019-11Start to learn and implement Graph Layout algorithms using Python
2019-09Teaching Recursion Drawing in Scratch
2019-05Learning Non-line-of-sight Imaging
2019-01Plotting movie box-offices using Python and Pandas
2018-09Having fun and "simulating" Three-body using Python and Matplotlib
2016-01Having fun with Scratch and recursive patterns like the Hilbert curve
2013-01Having fun with Minecraft commands and 'red stone' circuits

To Organize

Dec 2023 - Present: Solving Connect Four

I have reproduced and replicated the algorithm, ideas, and results of Pascal Pons' blog about solving Connect Four. I think this experience is indeed a very comprehensive summary of my previous learnings, including ideas from competitive programming and full-stack web development.

Nov 2023 - Present: Graph Layout III

Oct 2023 - Present: Learning "Competitive" Programming III

I started to learn a new programming language: Rust-lang.

Oct 2023 - May 2024: Personal Website II

After I interacted with a few course websites, textbooks, and documentations rendered from markdown, especially the rust's official "mdbook" idea, I feel that is a good way for me to build my website, considering the composing experience and customizability.

Aug 2023 - Sept 2023: Personal Website II

After I had learned Three.js and React.js and rewrote the graph layout project, I planned to build a new website to display my graph visualization results.

May 2023 - Sept 2023: Graph Layout Restart II

Finally, I had time to rethink the types and algorithms of graph layout in C++.

Feb 2023 - Apr 2023: Visualizing One Plus One Game Graph

Dec 2022 - Jan 2023: Three.js Journey

Previously, I have interacted with the Three.js library for drawing 3D graphs. This time, I took time to systematically learn how to create 3D things on the web with Three.js and Blender, along with computer graphic knowledge.

Oct 2022 - Nov 2022: Cognitive Games: Making Interactive Maze Games

Aug 2022 - Oct 2023: Learning Competitive Programming in a Non-competitive way II

After I finished CS128 in the summer semester of 2022, I decided to continuously archive interesting competitive programming problems I have studied.

Nov 2021 - 2022 Jun: Personal Website I

Aug 2021 - 2022 Jun: Coursera Period

I have completed 20-ish Coursera courses, ranging from UIUC's Accelerated Computer Science Fundamentals to web development, machine learning, and even a bit of game development.

Nov 2019 - 2021 May: Graph Layout Visualization

I started to learn Yifan Hu's Mutli-level Force-directed graph layout algorithm in the hope of plotting graphs of game states in the future. At the time, I was learning to use Python to implement the algorithm. To create visualizations, I directly inserted codes to draw and store images during the visualization process. Thinking back now, that's indeed not a good choice, but these visualizations were very rewarding.

Nov 2019 - Nov 2019: HIMCM Computational Part

Sept 2019 - Dec 2019: Teaching Sorts and Recursions in Scratch

May 2019 - Dec 2019: Yau-award competition

At that time, I was trying to replicate the results of a paper given by my instructor about non-line-of-sight imaging. While knowing nothing about matrices, I learned the idea that light reflections are somewhat similar to multiplying a matrix about the coefficients of energy loss at different angles. In the finale, as I can remember, one professor from Cal-Tech caught the problem about the potential inconsistency of the matrix. But that's still a very important experience to me regarding research and communicating with instructors and teammates. I'm glad that the professor caught the problems in our understanding.

Jan 2019-Feb 2019: Visualizing Movie Box offices with Python and Pandas

Sept 2018 - Present: Learning "Competitive" Programming Part I

Sept 2018-Jan 2019: Visualizing Three-body with Python and Matplotlib

Before 2018: Learning Recursion, Hanoi Tower, and Fractals with MIT's Scratch

I would say that I was attracted by the idea of recursion. Debugging recursive drawings is really interesting. One moment before, the lines were completely messed up, and with a change in a line, the lines were in the right position and forming beautiful geometric patterns. I still remember how a best friend pointed out that my calculation of imaginary numbers was missing a negative sign, and the whole problem was fixed with the negative sign in the correct position.

Before 2018: Minecraft Command Blocks

I guess this experience was my first exposure to computational minds. I still remember how I created a skeleton archer riding a zombie who was skilled in both close-quarter combat and ranged attacks.

1771445321852