About Me
I am a scholar and developer who has experience using Python, Java, TypeScript, and modern web frameworks like React and NestJS for projects. My experience spans across both front-end and back-end development, utilizing tools such as Docker and databases like MySQL, PostgreSQL, and MongoDB. I also have a keen interest in Machine Learning and Software Engineering, applying advanced frameworks like Pytorch to solve complex problems. Fluent in both English and Chinese, I excel in multicultural environments, bringing strong communication skills, academic writing skills, and qualitative analysis skills to my work.
Research Experience
Mentored by Dr. Zesheng Cheng and contributed to his research in UG-STNN model, which is a Spatial-Temporal Neural Network based on an unsupervised graph representation module for traffic flow prediction. The paper will be presented at the conference SMC 2024.
Mentored by Dr. Zesheng Cheng and contributed substantially to his research in STGCN(SVD) model, which introduced a SVD-based denoising layer to the traditional STGCN model to enhance the performance of graph neural networks in traffic flow prediction.
Software Management under COVID-19 Study
Mentored by Dr. Paul Ralph on an interview study about the hybrid working mode in Hybrid Software Engineering during COVID. Compared teams under hybrid working mode, co-located software engineering mode, and fully remote working mode. Second author of the unpublished paper “Hybrid Software Engineering trades Coordination and Trust for Flexibility and Cost Savings.”
Clobber Game Conjecture Study
Mentored by Dr. Ryan Hayward on a Game Theory project about proving a conjecture mentioned in the paper “An introduction to Clobber” published in the Journal INTEGER. The project includes mathematical proving as well as developing an algorithm for solving an NP-Hard problem.
Work Experience
Software Engineer Intern
Haier Smart Home - Qingdao, China
July 2023 - August 2023
- Participated in the development of the speech control module for the Casarte (Haier) washing machine.
- Contributed to the code of Haier’s IoT packages, including the startup sound feature, voice-switching feature, sleep mode voice activation feature, and washing and drying voice activation feature.
- Participated in group meetings to report project details and coordinate project progress with project managers.
Research Assistant
Dalhousie University Software Engineering Lab - Halifax, Canada
May 2022 - September 2022
- Worked on an interview study discussing the Software Industry’s hybrid working mode during the COVID pandemic.
- Supervised by award-winning computer scientist Dr. Paul Ralph.
- Conducted interviews, collected data, and transcribed the information for analysis.
- Presented research findings to groups of people.
- Performed qualitative analysis of interview data.
- Engaged in academic writing to contribute to scholarly discourse.
Web Development Intern
Qingdao Yuezhenq Electronic Technology Co., Ltd. - Qingdao, China
October 2020 - January 2021
- Worked on a Vocational School Education Management System project (Teacher’s interface).
- Wrote supporting code for web applications.
- Evaluated code to ensure its validity, proper structure, compliance with industry standards, and compatibility with various browsers, devices, and operating systems.
Education
University of Alberta
B.Sc. Computing Science (Honors)
September 2022 - June 2025 (Expected Graduation)
- Current GPA: 3.75/4
- Relevant courses and skills:
- Android development with Java (Gradle), software development principles and design patterns for robust and scalable mobile applications.
- Course on cross-platform development using React Native, NestJS, and TypeScript, focusing on Agile methodologies and software management practices.
- Database query implementation (SQLite, MongoDB) and database scaling and normalization.
- Software quality improvement using Black Box testing, White Box testing, AB testing, and performance testing.
- Searching and Planning in Artificial Intelligence, converting realistic scenarios into a Constraint Satisfaction Problem for AI algorithms to perform searching.
Dalhousie University
Bachelor of Computer Science
January 2022 - September 2022
- GPA: 4.3/4.3
- Relevant courses and skills:
- Course on using HTTP, CSS and JavaScript to build web pages, as well as basic network communication principles.
- Use Python’s data science libraries such as numpy, pandas, and matplotlib to perform data science analysis and data visualization.
- Agile Development’s philosophy, implementation methods, and basic management principles for software engineering teams.
- Use tools such as Wiresharks to capture and analyze network packets, as well as the basic concepts and applications of cryptography.
The Australian National University
Bachelor of Information Technology
February 2020 - January 2022
- Relevant courses and skills:
- Use Java to implement basic data structures and algorithms.
- Use Haskell to get familiar with Functional Programming and implement game artificial intelligence algorithms in Game theory.
- Use Assembly Language ARMv7 to code STM32 discovery kits.
Projects
Discovery Kit Music Player
ARMv7, STM32 Discovery Kit
A music player based on an STM32L476 discovery kit and programmed with ARMv7.
- Music will be played when users plug their headphones in, with three different tracks selectable using the Joycon. LED lights flash when the corresponding button is pressed.
An Android app built with Java (Gradle).
- Users can scan QR codes to obtain scores and compete with friends online, while a Google Maps API displays nearby “QRCode Hunter” users and their scores, and a leaderboard ranks all users’ scores in descending order.
A TypeScript project by a startup company aiming to manage home appliances and provide maintenance solutions.
- Uses React Native as a presentation layer, NginX and NestJS for business logic, and PostgreSQL for DB service. The project is dockerized and deployed on Cybera Cloud.
- APK file can be found here.
AI-powered Ninuki Game
Python, Minimax, AlphaBeta, MCTS
A Python project that allows human players to compete against AI opponents in a GoGui.
- The game features multiple levels of difficulty to cater to players of varying skill levels. AI opponents are implemented using different algorithms: a Minimax-based player for basic strategic moves, an Alpha-Beta pruning-based player for more efficient decision-making, and a Monte Carlo Tree Search (MCTS) player for advanced and probabilistic strategies.
Volunteer Experience
Volunteer for Prairie Urban Farm: Summer Gardening.
- Participated in various summer gardening activities, including planting, watering, and maintaining garden beds, contributing to the community’s food sustainability efforts. Worked with a diverse group of people, learning about urban farming practices and teamwork in a collaborative outdoor environment.
City of Edmonton: Drop-in Tree Planting Program.
Awards
2024 Dean’s Honor Roll - University of Alberta Faculty of Science.