I’m a sophomore undergraduate student studying Computer Science in Shanghai Jiao Tong University. I’m expected to graduate in 2022.
My real name is Chi Zhang. As the name is too common in Chinese culture, I’m generally referred to as Alex Chi.
Reinventing the wheels is a great fun. This “learn by doing” process brings me sense of achievement, and ultimately powers me to dive deeper into the fields interesting to me. Some of my projects are listed below.
Currently I have research interest in computer systems.
After self-studying MIT 6.S081, I made an experimental xv6-like operating system on RISC-V CPU with the Rust proramming language.
core-os-riscv Rust / Jan 2020
🖥️ An xv6-like operating system on RISC-V with multi-core support. Documentation available online.View on GitHub
Thanks to MIT 6.824 and PingCAP’s kvraft lab in Rust, I made a distributed key-value store based on Raft consensus algorithm.
raft-kvs Rust / Apr 2020
⛵ A distributed key-value store based on Raft.View on GitHub
I implemented a RISC-V CPU simulator with Tomasulo algorithm and Speculation, based on Y86-64 architecture in CS:APP and dynamic scheduling in CA:AQA.
RISCV-Simulator C++ / Jul 2019
💻 RISC-V Simulator of RV32I ISA. Out-of-order execution with Tomasulo algorithm and Speculation. Support runtime visualization. Project report available.View on GitHub
I enjoy reinventing the wheels. I’ve implemented a variety of interesting things in distributed systems, computer graphics, programming language, and machine learning.
raytracer.rs Rust / 2018 - 2019
⚡ A path tracer implemented in Rust based on "Ray Tracing in One Weekend" featuring multi-threaded rendering and a variety of preset scenes.What did it render?
I’m also capable of using web-based and GUI tools to visualize data and create user-friendly UI.
BlueSense TypeScript / May 2017 - Present
🌈 BlueSense is a low-cost IoT platform for collecting and visualizing environment data. It has been collecting climate data in Shanghai for over 2 years.
You may wonder why I put this section at the end of this page. From my perspective, the above projects I’ve done are more valuable than those scores.
- First Year GPA: 92.79/100 (1/151)
- Second Year GPA: 94.06/100
I really enjoy studying courses in computer science. And I get full score (100/100) in the following courses.
- CS154: C++ Programming Language (Fall 2018)
- CS149: Data Structure (Spring 2019)
- MS125: Principle and Practice of Computer Algorithms (Summer 2019)
- CS241: Principles and Practice of Problem Solving (Fall 2019)
Honors and Awards
National Scholarship (Ministry of Education of P.R. China), 2019
1k+ LoC: Go, Ruby, Haskell, Kotlin, PHP, R, MATLAB, LaTeX