...

Marco Haoyu LIU

Computer Science Graduate Student @UCSD

BS. Computer Science @CUHK

Hi, I'm Marco Liu đź‘‹

I'm a first-year master student in computer science at the University of California, San Diego. I am interested in Full-stack Software Development and AI/ML. Contact Me

Education

  • ...
    University of California, San Diego

    Master of Science in Computer Science

    Sep. 2023 - Dec. 2024

  • ...
    The Chinese University of Hong Kong

    Bachelor of Science in Computer Science

    Sep. 2019 - May 2023

  • ...
    University of Melbourne
    Term-time Exchange

    Feb. 2022 - June 2022

  • ...
    Peking University
    Summer School

    July - August 2021, July - August 2020

Work Experience, Research & Selected Project

Video Analysis Module for Tellus AI Assessment Platform
Capstone Project
Supervisor: Irwin King, Professor, CUHK | Sep. 2022 - April 2023
Product Introduction | Website
  • Designed and constructed E-R diagrams, UML class diagrams, and database schema based on use cases.
  • Integrated Microsoft Azure AI Face Service and Python libraries/frameworks (e.g., OpenCV, MediaPipe, DeepFace) to facilitate facial, emotion, accessory, and body language analysis, boosting analysis accuracy by 30%.
  • Utilized React, TypeScript, and Material UI to create real-time camera calibration feature and visualization dashboard.
  • Developed algorithms using Python for interviewee presentation skills auto-evaluation and cheating detection.
  • Designed scoring & commenting algorithms to achieve 93% analysis accuracy and 40% faster runtime.
  • Designed 100+ unit and integration tests using Pytest for application testability and security, keeping 80% code coverage.
  • Employed REST APIs for video management and implemented CURD operations on evaluation results using MySQL.
Technologies
Python Microsoft Azure Machine Learning Computer Vision Video Analysis Software Engineering System Design React Material UI Node.js MySQL JavaScript/TypeScirpt Git REST API
Deep Learning-Based Time Series Analysis and Forecasting
Summer Research Intern & Term-time Student Helper, CUHK Reliable Computing Lab
Supervisor: Qiang Xu, Professor, CUHK | May 2022 - Oct. 2022
  • Built a large-scale repository for time-series analysis and forecasting on GitHub, including different state-of-the-art deep learning models
  • Collaborated on creating a systematic pipeline to utilize and evaluate time series prediction models, implementing unified data preprocessing procedures, model instantiation interfaces, and standardized evaluation procedures
  • Reproduced and implemented various spatio-temporal traffic prediction models and dataset loaders; modified the models to be compatible with repository interfaces, configurable, and adaptable to different datasets and tasks
  • Implemented model evaluations and comparisons to ensure the characteristics and the original results of the models are well preserved
Technologies
Python PyTorch Linux Machine Learning Deep Learning Time-series Forcasting Anaconda Git
Simultaneously Deblurring and Segmentation for Cataract Surgical Instruments
Summer Research Intern, Surgical Robotics and Instrumentation Lab, CUHK
Supervisor: Shing Shin Cheng, Assistant Professor, CUHK | June 2021 - Sept. 2021
  • Worked on a spatio-temporal information-based network for cataract surgical instrument segmentation, consisting of a deblurring module and a subsequent segmentation module, with PyTorch and TensorFlow frameworks
  • Improved the performance of the segmentation network by incorporating leading-edge deep learning modules
  • Designed and conducted experiments on model evaluation and comparison, successfully proved the strength of the network under different special scenarios
  • Designed and constructed a cataract surgical instrument dataset for integrating both deblurring and segmentation procedures to demonstrate the holistic novelty of the network
  • Investigated the background and current state of research in the field of surgical skill assessment, proposed the motivation and the future research directions for the project
Technologies
Python TensorFlow PyTorch Docker Linux Anaconda LaTeX Machine Learning Deep Learning Computer Vision

My Course Projects

CU Walk: A Mobile Application
Group Project | Supervisor: 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 | Supervisor: 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 | Supervisor: 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 | Supervisor: 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 | Supervisor: 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 | Supervisor: 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 | Supervisor: 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 | Supervisor: 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 | Supervisor: 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 | Supervisor: 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 | Supervisor: 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 | Supervisor: 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 | Supervisor: 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 | Supervisor: 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 | Supervisor: 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 | Supervisor: 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 | Supervisor: 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

My Publications

  1. Cataract Surgical Instruments Segmentation Free of Motion Blur Influence (Manuscript)
    Xuebin, Sun, Jingxin, Du, Haoyu, Liu, Danny Siu Chun, Ng, and Shing Shin, Cheng
    2022

My Coursework