Course Projects
View By Categories
CU Walk: A Mobile Application
Group Project | April - May 2023
  • Developed an Android mobile application for campus walking route recommendation and sport recording in Java, using Android Studio.
  • Created user-friendly interfaces with fragment display, incorporating a panoramic map of CUHK campus using Google Map API and interactive map markers for route guidance.
  • Developed route recommendation and navigation feature, allowing user to choose start and end points among frequently visited locations on campus
  • Implemented Dijkstra algorithm to optimize route recommendations.
  • Developed a walking recorder feature, utilizing GPS and background services to track users' sports activities, recording location, time, and distance traveled.
  • Developed a walking history feature, enabling users to review and analyze past sports records, including detailed maps with start and end points.
Technologies
Java Android Studio Google Map API Mobile App Development
Online Book Ordering System
Group Project | Febuary - April 2023
  • Built an online ordering system for books in Java, using JDBC with Oracle database.
  • Designed and constructed E-R diagrams and relational schemas.
  • Created SQL commands for book search, order placement, order updates, and order history queries.
Technologies
Java SQL Oracle Database
Space Travel Game
Group Project | November - December 2022
  • Implemented a Space Travel Game based on OpenGL and C++ from scratch, including object rendering, transformation, lighting, texture mapping, skybox, shader, and interaction.
Technologies
OpenGL C++ Computer Graphics
The Prediction of Summer Olympics Medal Counts
Individual Project | October - December 2022
  • Predicted countries' summer Olympics medal counts based on different fields of data
  • Applied various data processing and analysis techniques, such as correlation analysis, to analyze possible factors contributing to the summer Olympics medal counts
  • Implemented Linear Regression, Decision Tree, and Neural Network Classifiers to predict 2020 Tokyo Olympic medal counts, and analyzed their performances
Technologies
Python Data Mining Machine Learning
Yinsh Game AI Agent
Group Project | April - May 2022
  • Implemented an autonomous agent that can play and compete in a tournament for the game Yinsh
  • Applied various AI techniques, including Monte Carlo Tree Search, Alpha-beta Pruning Minimax, A Star, and Greedy BFS
  • Designed heuristic functions and reward shaping on nodes expansion to improve the performance of the agent
  • Analyzed design decisions, strengths and weaknesses of different techniques, challenges, and improvements
Technologies
Python MTCS Reinforcement Learning
"Oh! Heaven" Game
Group Project | May 2022
  • Applied software engineering knowledge, design patterns and principles (e.g., Strategy Factory, Singleton, Information Expert, Polymorphism, and Observer) to refactor and extend the system of the game to support new behaviours
  • Ploted the UML design class diagram to reflect the actual implementation of the changed system, and the design sequence diagram to demonstrate how the software objects collaborated
Technologies
Java GRASP patterns GoF Patterns Software Modelling and Design draw.io
Twitter Sentiment Prediction
Group Project | April - May 2022
  • Developed a Twitter sentiment classifier based on the given dataset
  • Implemented different machine learning methods, including Naïve Bayes, Logistic Regression, SVM, and Stacking Model, compared and analyzed their performances, advantages, and limitations on this task
  • Implemented different data preprocessing techniques (e.g., stop-words removal, tweet tokenization, stemming, and lemmatization), feature extractors (e.g., Bag-of-Words, TFIDF, unigrams, and bigrams), and evaluation metrics; analyzed the critical factors and reasons for improving model performance
  • Ranked 8th out of 343 groups in the Kaggle prediction competition of the course
Technologies
Python Machine Learning NLP
"Snakes and Ladders on a Plane" Game
Group Project | April 2022
  • Applied software engineering knowledge, design patterns and principles to refactor and extend the system of the game to support new behaviours
  • Ploted the domain class diagram, design class diagram to reflect the actual implementation of the changed system, and the design sequence diagram to demonstrate how the software objects collaborated
Technologies
Java GRASP patterns GoF Patterns Software Modelling and Design draw.io
Diabetes-Home: A Diabetes Management Web Application
Group Project | March - May 2022
  • Developed a web application for patient-clinician data management and deployed the website on Heroku/Render. (https://diabetes-home.onrender.com/)
  • Designed and implemented frontend UX/UI using Adobe XD, Handlebars, CSS, and JavaScript with responsive design.
  • Implemented authentication and authorization using Passport.js and role-based redirection upon login.
  • Developed the backend using Node.js and Express.js, and managed data with MongoDB.
  • Implemented REST APIs for patients and health records management, including searching and filtering.
Technologies
Adobe XD UX/UI HTML/CSS JavaScript HandleBars.js Node.js Express.js MongoDB Heroku Passport.js REST API
MLFQ Scheduler
Individual Project | December 2021
  • Implemented a Multilevel Feedback Queue (MLFQ) scheduler in C according to the given scheduling rules, process information and queue information based on the framework.
  • The scheduler passed all the test cases and got full marks in the evaluation.
Technologies
C Linux Operation System
Research on Daily Activities and Sleep Quality
Group Project | April 2021
  • Proposed the idea and methodologies for investigating the relationships between college students’ daily activities and sleep quality.
  • Collected, plotted, and analyzed the raw data from online questionnaires. Fitted the data with different distributions and gave estimations with a 95% confidence interval.
  • Exploited conditional possibilities to indicate the most suitable activity time intervals to improve the sleep quality.
  • Self-studied multivariate normal distribution and tried to apply it on our data set.
  • Finished a 21-page report together with other group members and gave a presentation to the class.
Technologies
Statistics LaTeX
A Smart Walking Stick: “Eye-Cane”
Group Project, Group Leader | April 2021
  • Proposed the idea of an innovation: an intelligent walking stick for the visually impaired to travel, designed its appearance and general functions.
  • Investigated the working principles and technical specifications of the technologies used in our innovation.
  • Designed the prototype of the product and proposed the project development plan including the project schedule with a Gantt Chart, required resources and the budget plan.
  • Finished a 21-page technical specification and a 17-page product proposal together with other group members, and gave presentations of our product.
Technologies
Adobe Illustrator
Surveillance vs. Privacy
Group Project | March 2021
  • Studied on the digital privacy and the role of surveillance.
  • Investigated on how electronic products monitor people's behaviors, possible consequences of privacy disclosure, and explored possible ways to prevent privacy from revealing.
  • Finished a report article together with other group members and submitted to the department student forum.
Technologies
Internet Privacy
Reversi Game
Individual Project | December 2020
  • Built a board game Reversi using Java based on the GUI and basic frame, implemented functions to judge valid moves and the end of the game.
  • Implemented an extension to the basic game to allow the user to load a game board from a file using inheritance, and save current game board and current player setting on window closing.
Technologies
Java
Data Analysis and Fraudulent Detection via Benford's Law
Group Project | December 2020
  • collected and analyzed a variety of data in different fields from professional statistical websites, classify the data types into types that may or may not obey Benford's law, and summary the possible conditions of Benford's law.
  • Collected real-world data from social media platforms, votes and stock market using Python, and analyzed them by different verification methods to find out the possible data fraudulent according to Benford's Law.
  • Finished a 48-page report (including forms and charts) together with other group members and gave a presentation to the class.
Technologies
Python Probability LaTeX
Conway's Game of Life and Turing-completeness
Group Project | April 2020
  • Implemented Conway's Game of Life in Python.
  • Reproduced the proof of Turing-completeness of Conway's Game of Life using equivalent conditions and logical gates.
  • Studied the patterns, features, and Turing-completeness of different cellular automatons such as Rule 110, collected and studied more Turing-complete Examples such as Minesweeper.
  • Gave oral presentations to the class. Here is the poster designed and made by me.
Technologies
Python Linear Algebra Adobe Illustrator
Checkers AI Player Program
Individual Project | November 2019
  • Developed a checkers program in C language that supports both human-human players mode and human-AI players mode
  • Implemented the Alpha-beta pruning algorithm to allow AI players to execute the best strategy in 5 seconds via lab PC
  • Ranked 2nd out of 45 students in the AI player tournament of the course.
Technologies
C

This page was last updated at 2024-02-19 21:19.