Andrew Chao

My School Projects!

Master’s Thesis Project

McGill University (September 2021 - October 2023)

Title: Design, Development, and Usability Evaluation of a Mobile Application for Monitoring Voice and Upper Airway Health

Funding: Fonds de Recherche du Québec - Santé (FRQS) and Centre for Research on Brain, Language (CRBLM).

Background:

Project Overview
Project Overview

Objective:

Methods:

Project Overview
mHealth Design Prcoess

Results: The results indicate that the AIrway app was easily understandable to individuals with nine years of formal education and high colour constatct (12.15: 1 for app background and text). The app received a high uMARS overall mean score of 3.6 out of 5.0 and an IQVIA overall median score of 8 out of 11. These scores align with similar mHealth apps in the literature (MARS: 3.0-4.2 and IQVIA: 6-10). Open-ended feedback suggested incorporating more graphical icons for better user interface display and improving the input field for the password reset function.

Project Overview
1a) Login page1b) Register page 1c) Register page with info. 1d) Forgot password prompt.
Project Overview
2a) Today interface 2b) Report interface 2c) Profile interface 2d) Help interface.

Conclusion: The app met mobile app design principles and development guidelines, achieving appropriate color contrast, readability, and layout presentations. Additionally, asthma and COPD diaries, medication profiles, and action plans were developed based on clinically validated guidelines. These steps are essential for meeting industrial standards and ensuring the app’s credibility, accessibility, and usability. Future steps include expanding the app’s compatibility to cross-platform frameworks to enhance accessibility and equity.

This project aglins with the DMADV methodology

COMP551 Applied Machine Learning Projects

McGill University (September 2022 - December 2022)

Project 1: Getting Started with Machine Learning (Grade: A)

The goal of this project is to build K Nearest Neighbour (KNN) and Decision Tree (DT) models on two health datasets (Hepatitis and Diabetic Retinopathy Debrecen Messidor Dataset) and compare the model performance. The project report can be found here.

What I learned:

image image
A feature selection example for the Hepatitis dataset KNN Evaluation

Project 2: Classification of Textual Data (Grade: A)

The goal of this project was to build logistic regression and multiclass regression models and compare them to a KNN model on two textual datasets (IMDb and 20 Newsgroup). The project report can be found here.

image image
Z-score selection for IMDb dataset Heat Map based on the highest weights for the multi-class classifier

What I learned:

Project 3: Classification of Image Data (Grade: A)

The goal of this project was to build a multilayer perceptron (MLP) and CNN model to classify the Fashion-MNIST dataset (a collection of fashion-based images). The project report can be found here.

What I learned:

L2 regularization term = λ * (wᵢ²)

Optimal Energy Management of Mini Greenhouses (ECE Capstone Project)

University of Alberta (September 2020 - May 2021) - (Grade: A)

Problems: Greenhouse operations in Alberta are often restricted in scale as a consequence of low-profit margins arising from high energy costs. Reducing these high costs through the incorporation of greenhouse technology could make greenhouse operations more feasible and common in Alberta. Since careful environmental control is required to ensure a crop’s quality and yield, growers are challenged to have enough knowledge to interpret the information provided by the monitoring system and adjust control setpoints accordingly.

Objective: The goal of this project is to address this need with the development of an integrated mini-production facility equipped with sensors, controllers and actuators that features both a monitoring-reporting system and an artificial intelligence- based control-decision-making system to optimize conditions for plant growth and the overall energy cost.

Design:

cachedImage

Tasks:

Highlights:

How does Retrofit API work?

public class Details {
    @SerializedName("temperature")
    @Expose
    private String temperature;

    @SerializedName("humidity")
    @Expose
    private String humidity;

    // Getters and Setters
    public String getTemperature() {
        return temperature;
    }

    public void setTemperature(String temperature) {
        this.temperature = temperature;
    }

    public String getHumidity() {
        return humidity;
    }

    public void setHumidity(String humidity) {
        this.humidity = humidity;
    }
}
public interface Api {
    String BASE_URL = "http://192.xxx.x.xx";
    
    @GET("Apppi.php")
    Call<List<Details>> getstatus();
}

Retrofit retrofit = new Retrofit.Builder()
        .baseUrl(Api.BASE_URL)
        .addConverterFactory(GsonConverterFactory.create())
        .build();
private void fetchData() {
    Api api = retrofit.create(Api.class);
    Call<List<Details>> call = api.getstatus();
    call.enqueue(new Callback<List<Details>>() {
        @Override
        public void onResponse(Call<List<Details>> call, Response<List<Details>> response) {
            if (response.isSuccessful() && response.body() != null) {
                List<Details> adslist = response.body();
                Details details = adslist.get(0);

                // Use details to update UI...
                float power = details.getCurrent() * 120;
                temperaturetxt.setText(details.getTemperature());
                humiditytxt.setText(details.getHumidity());
                timestampstxt.setText(details.getTimestamps());
                currenttxt.setText(String.valueOf(power));
                heatertxt.setText(details.getHeater());
                humidifiertxt.setText(details.getHumidifier());
            }
        }

Screenshots:

The numerical sensor data view The graphical data view The mushroom image view