Computer Science (CS) is a project-centric class taught by Ms. Taricco, which explores a variety of topics, including algorithms, decisions, iteration and recursion, software design, and much more. Through developing, testing, validating, and employing our programs, we have been given a glimpse of the fundamentals, applications, and processes that take place every day in the industry.
The Stars program is a challenging program dedicated to visualizing a set of 10 randomly located and randomly sized stars across the user’s Applet screen. While I found this assignment challenging, I grew to appreciate the incorporation of trigonometric relationships and computer infrastructure within the Java AWT Graphics class. My approach included dedicating several pseudo-random variables to randomize the dilation factor and location, while using concrete, unchanging variables to ensure that the relationship between sides, internal angles, and general shape were being preserved despite its random transformation. You can find my code here, and scroll down to see what the output of my program is!
The ArrayList exercises are programs centered around the ArrayList class, which is a class focused on interacting with, altering, and constructing arrays that can be altered dynamically. This means that you can remove, replace, add, index, and construct a list of objects, each change altering the size of the array, unlike standard Arrays, which cannot be dynamically changed because it preserves the original number of objects in the array. These exercises were fun and challenging, yet I found the ArrayLists to be incredibly intuitive and easy to break down. The last challenge is Bulgarian Solitaire, which is a program in which a triangular number of cards is randomly distributed into a random number of piles, and the program removes the “topmost” card of each deck to construct a new pile until there are piles of increasing size (one pile with one card, another pile with 2 cards, and so on.) These exercises were pretty enjoyable, and I found it easier to navigate bugs with intuitive infrastructure. To see my code, refer to the pdf or click here.
The Apps for Good project is a key component of our Computer Science curriculum at Mass Academy. The project is dedicated to developing an app which fulfills a need or improves the lives of someone in our communities. I worked with Lindsey Paradise and Nick Giza to create shovelSmart, an app coded in Flutter which aims to improve snow shoveling practices by providing accurate, location-based snow shoveling time predictions.
Shoveling heavy loads of snow increases the risk of physical injury and heart attacks among homeowners. With an increasing level of risk being introduced due to climate change contributing to dangerous storms and heavier, wetter snow, this problem could drastically impact sensitive communities, especially the elderly or those who suffer from physical mobility issues.
The target audience of shovelSmart is anyone who finds shoveling snow difficult or time consuming. Primarily, this app will benefit elderly individuals who, as a result of the aging process, may not possess the strength required to shovel.
Our app consists of the following features which define out
minimum viable product, or required functional features:
(1) Snow weight prediction. The app will take in environmental data
including temperatures, humidity, and precipitation forecasts, to
give an approximation of snow weight to then send off to feature 2.
(2) Shovel Time Estimation. Using data collected by queries sent to
users and a mathematical model, the app will estimate shoveling
duration.
(3) Shovel Time Optimization. The app will alert
users when the best time is for them to begin shoveling their
driveway or other property features. This ideal time will be based
on whether the user wants to minimize the time or effort needed to
shovel and their recorded rate of shoveling. To do this, we will
take in local weather data to calculate the density and volume of
the snow (see feature 2).
To approach this problem, our team developed the mobile application shovelSmart, using the Flutter framework and Dart coding language. Through incorporating the Weather API, which provided us with historical, real-time, and forecasted location-based weather data, we developed a mathematical model which incorporates the data. Using variables such as dew point, temperature, duration of snowfall, wind speed, and more, our model makes algorithmic predictions regarding when the user should begin shoveling. The app's user interface allows the user to create Home objects, which store personalized data, as well as receive recommendations as to when the user should begin shoveling. The final app successfully makes predictions and time estimations and allows users to optimize their shoveling patterns. Future steps with this project include incorporating machine learning, pre-scheduling API pulls to notify the user of when to start shoveling, as well as testing our model with real winter weather conditions.
humanities
//
math modeling
//
spanish
//
physics
//
stem 1
//
stem 2