Computer Science

Home About Me Academics

Humanities Computer Science Physics Spanish STEM I STEM II Math

Computer Science at Mass Academy teaches both Java and HTML. This class follows the AP Computer Science A curriculum that qualifies students to take the AP test towards the end of the school year. In class, we often complete Labs and Exercises where we are tasked to challenge our coding skills and create fun and useful Java programs. Additionally, in Computer Science, I made this website! Samples of my code can be found below.

This is a program I coded that executes the Sieve of Eratosthenes, a mathematical method for finding all of the prime numbers up to a certain bound. The Sieve of Eratosthenes counts up to the square root of a target number and eliminates all of the multiples of the numbers up to the square root of that target number, leaving only prime numbers. This program worked by creating a boolean array, representing every prime number up to an inputted upper limit. All of the elements were set to true and a loop ran through the list, eliminating multiples of prime numbers, marking them as false. Once this was complete, the program prints all elements labeled true, in rows of 16.

Another program I completed in CS was the federal income tax calculator which took in the income and marital status of an individual and outputted their estimated tax dues. This program operated by dividing individuals into two types of tax groupings: single or married/qualifying widow. Then, using tax bracket information provided by the U.S. government, the program would sort people’s income into a respective bracket. Given the bracket, the program could then calculate the resultant income tax. This program emphasized the importance of “if-else” statements for checking the validity of boolean (true/false) expressions.

Apps For Good!

My Apps For Good project aimed to predict the burden of snow removal and recommend the most optimal time to go out and shovel. Named shovelSmart, the app operates on Flutter and is compatible with IOS and Android operating systems, along with Windows, Mac and Linux.

The Problem

Shoveling is no easy task when snow deposits become deep or heavy as a result of prolonged storms or rises in temperatures or humidity during or following a storm. For elderly or other groups with muscular challenges, these environmental conditions may make shoveling an impossible task. Freshly fallen snow tends to weigh 3-4 pounds per cubic foot. On the other hand, wet snow can weigh as much as 25 pounds per cubic foot and slush can weigh as much as 55 pounds per cubic foot. This is a dramatic increase in weight and for many it may mean that walkways and entrances go uncleared. Without cleared walkways, people may resort to walking through snow which, when packed down, may become icy and dangerous to pass. If homeowners could shovel snow prior to extreme buildup or weight, walkways could more easily remain clear and safe for use.

The issue of heavy snow is becoming increasingly severe as climate change progresses. This is because as average temperatures rise, the air can hold more water. When the water is released, it takes the form of more intense precipitation events such as hurricanes and snowstorms. This results in storms with more, heavier snow. In fact, between 1995 and the present day, seven out of ten of both Boston and New York City’s highest two to three-day snowfall totals on record have occurred. This is congruent with the increase in average winter temperatures seen in the American Northeast.

Additionally, the process of shoveling heavy snow has shown to dramatically increase the risk for heart attacks. This comes as low temperatures can result in an increase in blood pressure and heart rate. Since shoveling is a task involving sudden and brief exertion, it can pose a high risk for many Americans, hospitalizing thousands and resulting in the deaths of nearly 100 people per year. Shoveling lighter snow can reduce the physical burden that can be so dangerous to many, encouraging safer shoveling practices.

Development Process

The development process for this project covered four main categories: research, design, implementation, and testing. Research was conducted using google and once the identified problem was sufficiently supported with data, data concerning the behavior of snow was collected. Then, on several large whiteboards the model formation commenced. Drawing out many flowcharts and system interactions aided in the development process. Once the app was thought out, the implementation process began. I learned flutter and along with my teammates we coded the model and added a UI to make the app functional! Since our app considered tons of different weather conditions and other factors, producing valuable test cases was difficult. Eventually, using for-loops to call our methods proved to allow for the processing of hundreds of thousands of test cases at once. Once testing was complete, so was the course. The app still has a long way to go. I had an absolute blast developing it!

The Final Product

The final product is simple. After filling out a brief form asking where you live and asking for a few estimations on your shoveling ability. Then, your home is added to the main menu of the app. From there, you can press a button titled "calculate shoveling time" where the app will run the math model, figuring out the best time to go out and shovel before. After about thirty seconds of processing, the app returns a pop-up stating the most optimal and second most optimal times to go out and shovel before.

Apps For Good Fair Poster