Computer Science
arrow

Computer Science:

Computer Science at Mass Academy follows an accelerated course in JAVA that is sufficient for taking the AP Computer Science A Exam. Since I have already taken the exam I am part of the advanced track, where I am working with another student on a project that investigates new areas of Computer Science that we haven’t explored yet. Later in the year we work on Apps for Good, which is a project dedicated to coding apps to help the community. Throughout the year, I have been working on the project and have been improving my skills in JAVA, Python, machine learning, and more.

Click the Buttons to Jump Around!

Work Samples

Apps for Good   CS Project   Agram

Apps for Good

(Back to Top)

During the last few months of the year, we worked on our final CS assignment for the year - a group project called Apps for Good. The project tasked us with creating an app or website that could serve communities, all while teaching us the steps that go into development. Myself, Justin Wang, and Karina Sargent developed Rkhive, a Mass Academy-specific interactive repository containing crucial information on the past and present students, faculty, alumni, and staff of our school. In the video to the right, we explain more in depth the project, its motivations, and provide some demonstrations. I specifically focused on the backend aspect of Rkhive, finding ways to funnel data from our school in and out of the site. Take a look at the video to learn more!


Problem

Over the past year, the COVID-19 pandemic has brought tremendous challenges to the Massachusetts Academy of Math and Science. The absence of regular in-person classes has created a disconnect between new students and the school’s history and culture. Many other challenges to mental health, including demotivation and lack of socialization have also limited the interactive experience of attending the school.


Description of the app and MVP

The Minimum Viable Product (MVP) of Rkhive consists of an interactive yearbook from the Class of 2021 onwards, with the ability to include information about every student at Mass Academy. Students input data through a Google Form, which allows editing of information after initial publishing. Each profile consists of an image, personal description, and quote, as well as details such as a student’s favorite class and section.

The app also contains an interactive alumni page, which includes updatable alumni profiles from every student with college and career information, opportunities or advice to current students, and contact information. In the future, we hope to populate the alumni section with previous classes as well as our own.

Rkhive is built on HTML, CSS, and Javascript. It utilizes Firebase, a Google service for database management. In the MVP, an adaptive yearbook page is built to contain the images, short descriptions, favorite classes, sections, and quotes of each student in a class. Classes can be navigated easily, and the app’s scripts will automatically change the HTML on the page and fill it with the proper data. This also makes adding a new year to the site very simple, as it avoids making an entirely new HTML page.


CS Project

(Back to Top)

As mentioned before, the CS project done by the advanced track is for investigating new topics and creating something with that new knowledge. Thus, my partner Karthik and I are learning about web scraping, scripts, data management, and machine learning in our project. We hope to create a tool that can listen to classical piano music and identify the genre, time period, and composer of that piece. This project came from our mutual love for classical music and our combined interest in machine learning. So far, we have completed the data collection, conversion, and compression process, and our initial machine learning model is ready to be trained!

Agram

(Back to Top)

Towards the beginning of the year, the advanced students were given a few problems from the American Computer Science League to try and solve. I chose this problem, Agram, which simulates a card game with the same name. My solution, done in JAVA, is shown. This was a really fun problem to do and helped me prepare for the real ACSL problems that we will be doing!