I’m a junior undergraduate student studying Computer Science in Shanghai Jiao Tong University (SJTU). 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.
I’m a bad researcher. In my second year at SJTU, I applied for a research internship. It turned out that the whole experience was a disaster for me. For half a year I had nothing to do, except attending weekly lab meetups. I had no idea of what the team was doing, and what I could do. I suffered a lot, questioning myself, “Am I qualified for this position?” The next semester I quit that team. Only then did I find myself more of an engineer than a researcher.
I enjoy making toy projects. This “learn by doing” process is so much fun. My past experience focuses on building system software with the Rust programming language. In addition to individual projects, I love becoming part of the open-source community. I contributed to the TiKV project. And I’m currently a maintainer at SJTUG mirror.
Mentee in TiKV Community Bridge mentorship (May 2020 ~ July 2020)
My project for the program is Full Chunk-based Computing. I migrated the TiKV coprocessor to use the TiDB Chunk format during the computation process, and added some new features. I became TiKV Committer in the Coprocessor SIG. I also shared my experience in TiKV blog. In TiKV monthly meeting, I talked about this project.
PPCA Ray-Tracing Project (July 2020 ~ August 2020)
PPCA is a project-oriented course for first-year undergraduates, where they use what they have learned to build a toy application in one month. I mentored 13 students to make a ray-tracer with the Rust programming language. Here’s the showcase.
Maintainer of SJTUG mirror (May 2019 ~ Now)
SJTUG = Shanghai Jiao Tong University Linux User Group. SJTUG mirror serves 12000 users and 600k requests per day. I’m in charge of adding new mirrors, the SJTUG mirror website, and handling new mirror requests from our users. Currently I’m also president of SJTUG.
I have built a lot of toy projects, mainly in the Rust programming language. For example,
- a toy operating system based on xv6 (Rust, Jan. 2020)
- a distributed key-value store based on Raft (Rust, Apr. 2020)
- a dynamic-scheduling RISC-V simulator (C++, July 2019), also a MIPS simulator (Haskell, Apr. 2020)
- a simple ray-tracer (Rust, Jan. 2019)
- a real-time environment monitoring service (Vue, golang, Python, May 2017 - Now), [website]
The following things are necessary parts of an academic profile, but I don’t think they are meaningful to myself. From my perspective, what I’ve actually done is more important than those scores and awards.
- First Year GPA: 92.79/100 (1/154)
- Second Year GPA: 94.94/100 (1/155)
I enjoy studying courses in Computer Science, and I did well in most of them.
- Full-score (100/100) 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) [final project + presentation]
- CS307: Operating System (Spring 2020)
- CS356: Operating System Projects (Spring 2020) [final project + presentation]
- CS145: Computer Architecture Experiments (Spring 2020) [final project + report]
- Other major courses
- (95/100) CS359: Computer Architecture (Spring 2020)
- (96/100) EI209: Computer Organization (Spring 2020)
- (92/100) CS214: Algorithms and Complexity (Spring 2020)
Honors and Awards
National Scholarship (Ministry of Education of P.R. China), 2019
I was also qualified for National Scholarship in 2020, but I gave that chance to my classmates. It’s boring to get the same award every year.
- Build system software with C++ and Rust (10k+ LoC)
- Visualize data with R language (1k+ LoC)