Hi, I’m Xu Shizheng. I graduated from University of Waterloo Computer Science in 2024. The strong areas during my undergraduate studies were app development (including application development, UI development, and UX design), and computational audio.

My Projects

Journey Together - CS446

Spring 2023

Spring 2023

Food Meetup - CS449

In the UWaterloo CS 449 (Human-Computer Interaction) course, we designed an application to help people find restaurants and connect with food lovers. We began by interviewing users to collect data and to generalize ideas. Then, we used Figma to design our application. Throughout the course, we made several presentations and improved our prototypes based on user feedback.

Food Share - Robinhood Social Good Hackathon

Fall 2023

Winter 2024

Computational Audio - CS 489

Starting with the most basic wave physics. I learnt the triangular wave, square wave, sawtooth wave first, understood the relationship between dB and volume, as well as the relationship between frequency changes and human hearing.
Building on this foundation, I got to know the knowledge of harmonics, audio compression and decompression, including the errors involved, as well as the principles and applications of high pass/low pass filters. I also reviewed the basics of mathematics and physics in this course, such as the period and frequency of waves, as well as Fourier transform, fast Fourier transform, and convolution of matrices.

Also, I applied the learned knowledge to analyze the characteristics of Chinese pronunciation. I used Audacity to analyze the initials, finals and codas in Chinese words, using both frequency spectrogram and  EAC analysis. See Language Analysis

User Interfaces - CS 349

Using React and TypeScript, I have learnt the theoretical knowledge of User Interfaces, including the basics of human-computer interaction, the design of user interfaces, and the architecture of user interfaces (MVC, MVVM), as well as various input events.

Although this class did not explicitly ban generative AI, our teacher considered this factor—we can only use the library provided by the teacher, which is very subtle and does not allow for code to be autogenerated by generative AI. Therefore, I spent a lot of time on this course. We had a total of four assignments, and I spent about 15 hours on each assignment on average. Don’t forget, we also had midterms and final exams!


Application Development - CS 346

With a group of 4, We used Kotlin to build an Android application, to simulate UWFlow (a webpage for rating classes and profs) but a job one. I did the News section, where I added several RSS sources, formatted and displayed in the frontend; the job display section, where fetches from database and used different styles to display data; and ‘post review’ section, which does a update or create for the selected database records.

We used compose UI for frontend, ktor for backend and API, and Azure as the cloud db server. After finishing and realizing the difficulty of developing in native Android, we have a more understanding of the difference between native Android and more modern ways (such as React).

Winter 2024

To be continued...

Scroll to Top