top of page

STEM Projects

Engineering & Design Projects

Skills: Onshore, Adobe Illustrator, 3D Printing, Laser Cutting, Vinyl Cutting, and Woodworking.

Coding

Coding Skills: Java, JavaScript, Python, and C++
Link to Github: https://github.com/echeng09

Coding Sample #1: JavaScript
Schedule Generator Code (AP CSP 2024)

Coding Sample #2: Python
Mini Sudoku (Honors CS Seminar 2025)

Robotics

Skills: Onshape, SolidWorks, Arduino, C++, Laser Cutting and 3D Printing.

Research

Optimizing Dancewear Fabrics: A Machine Learning Framework for Balancing Sustainability and Performance (2026)

Abstract
The textile industry is a major contributor to global environmental issues like carbon emissions, excess water usage, and waste production. However, consumers and designers lack the tools for evaluating fabric performance against its environmental impact. Dancewear in particular requires stretchy performance materials that endure intense activity and frequent washing, features that tend to rely on synthetic stretch fibers. This project investigates whether machine learning can help evaluate textile performance against environmental impact. Using a fabric inspection dataset and a sustainable fashion dataset, it predicts fabric quality from measured material properties and recommends blends that balance dancers’ performance needs with sustainability, defined here as a combined score of carbon footprint, water usage, and waste production. A Random Forest classifier trained on seven physical properties predicted fabric quality (high, medium, and low) with 49.6% accuracy (33.3% baseline). Restricting the model to just high vs. low quality raised accuracy to 77.7% (50% baseline). Because the sustainability dataset used branded materials rather than raw fiber types, only cotton and polyester had viable mapping between the two datasets, limiting the system scope to these two materials. Under equal property weighting, the system recommends a 70% cotton to 30% polyester blend, however the ranking changes as user priorities vary. In conclusion, a diagnostic ML model combined with a customizable scoring system can provide a useful decision support tool for efficient and sustainable material selection, although subject to limitations due to publicly available datasets.

School Coding Project Summary

# Extra Help

 This code can be used by students with GA teachers who would like to meet with their teachers for extra help. You can ask for a specific teacher, find all common free blocks with your teachers, or find other teachers who can meet with you if your teacher is not free. The separate SignUp class allows students to sign up and view daily times on the sign up sheet and for teachers to sign students up and view their extra help roster.

 

## Classes:

### ExtraHelp

- this class contains our **5 main methods**

1. classFree

    1. Enter a specific disicpline that you need help with and will return a list of teachers who can aid you

2. findCommonFree

    1. Enter all your teachers by block and we will tell you if you share a free block with them

3. teacherAvailible

    1. Takes in a a free block and a teacher and tells you if a teacher is availabe that block.

4. teacherFree

    1. asks what teacher you need to meet with and tells you all their availible free's and meeting times

5. checkTeacher

    1. a helper method used in the other 4 to check if names input by the student are valid GA teacher

### Tester

- this class runs all the methods in ExtraHelp by asking the student what information they need and using the correct corresponding method

### TeachersFreeBlock (csv)

- this is our csv file containing information about all GA teachers, including their names, classes taught, free blocks and other times availible

- this class is used in the ExtraHelp class by all the methods, depending on what information they need. Generally, the methods use their names and free blocks by spliting each line and iterating through every teacher

### SignUp

- this is an additional class that arranges a sign up sheet csv file that adds sign ups from user input within this class. it also can print an organized list for a specific teaacher and date

- this uses the SignUpSheet csv file

1. addInfo

    1. this adds information by asking student/teacher for their information (date, topic, etc) that will be used in the addSignUp method after

2. addSignUp

    1. adds the info from addInfo into the csv file as a new sign up input

3. printInOrder

    1. prints list of people signed up for a day's block (organized by block) to be used for teacher availability for a specific date

 

### SignUpSheet (csv)

- this is our csv file that contains the user inputs from the SignUp class to organize student info

- this uses the date, teacher, period, topic, and student name organized by commas

- this information is added to by the addSignUp method and used by the printInOrder

© 2026 by Elaine Cheng. All rights reserved.

bottom of page