Computer Science

Me.jpeg

CS at Mass Academy works with many different applications of computer science. At the start of the year, we learned web development with HTML and CSS, which is how you’re seeing this website right now! Afterward, we started our Java unit, which is similar to the AP Computer Science A curriculum. Next, we will be working on creating apps for good!

A major group of assignments in this class is labs. In labs, we are given one tough coding program that we have a few days to solve. One of our labs was the Sieve of Eratosthenes, where we made a program that could find all prime numbers up to a certain range. To do this, I represented all the numbers up to the given number in a boolean array, and used the rule that defines the Sieve of Eratosthenes to modify that array accordingly. The code I made for the program is on the right.

We are also often given general coding exercises to work on. These are generally hard coding questions that require strong knowledge of the topics taught in class. This set of exercises was completed after we learned about ArrayLists in Java. There are problems where I had to do general operations with ArrayLists, but in others I had to do more scenario-based coding, such as performing a Bulgarian Solitaire on a randomized deck of cards. You can find the code on the left.

Project: Apps for Good

Motivation and Audience: When elementary and middle school students return from school, they rarely reach for their homework or chores first due to their strong desire to engage in screen time, play video games, and hang out, rather than getting a jumpstart on a long-term project, assignment, or a household task. This lack of motivation to get important tasks done often leads to procrastination, causing kids to complete their tasks at the last minute. With this, we are developing an app for children and parents that allows students to input their tasks into a gamified To-Do list and earn points for completing their tasks that can be exchanged for rewards in a parent-managed system. Motivation will be established due to the engaging user interface, the decrease in points as the due date approaches, and the desire to get a reward. Parents will also benefit from their improved knowledge of their kid’s assignments and due dates, their ability to decline irrational tasks, and provide reasonable and personalized rewards that can fit their budget and lifestyle.

MVP and Features: Our proposed app, in the form of the Minimum Viable Product (MVP), has a few core features for its main functionality. One of these features is a two-sided view of the app, for parents and for students, which allows for the addition of task by the child, parental task approval, and parental reward management. With this, students can input their tasks, which get sent to the parent’s view for approval. In this view, parents can assign a specific star value to a task that will rewarded to the student once they complete that task. The set value is the maximum amount of stars obtainable for completing that task, and these stars can then be used to redeem parent-set rewards. However, as the due date approaches for a given, its star value decreases, so students will be more likely to complete their tasks in a timely manner to secure the most possible stars. Therefore, motivation will be increased, and procrastination will be tackled in a positive manner. Outside of general functionality, our app requires users to provide certain information to improve and provide the app’s basic functionality. To create an account on the app, users are prompted to enter an email, name, and username to create an account. Along with this, a parent account must be created by adding a parent pin which can be accessed in the settings menu upon making the initial account. Account information is stored in Firebase for security, flexibility, and the ability to access live-updating data in real-time.

Poster: Below, you can find our poster for our app: