CS

My teacher for Computer Science is Ms. Tarrico. We started the year by learning HTML and CSS and designing our websites. After this, we moved to learning the basics of Java through smaller assignments and larger labs. For each topic, we were given a document to take notes on, and at the end of the document, there were small assignments to practice the topic. We are often given lab assignments, which take longer and involve multiple steps. These labs are an opportunity to demonstrate our skills.

Rock Paper Scissors

One of the first projects we worked on was programming a computer to play rock paper scissors. This involved using the scanner class and the random class. In addition, this program helped us use if else statements. The program first asks the user for either “rock”, “paper”, or “scissors” and then assigns the player a 1, 2, or 3 depending on what was chosen. The computer randomly generates a number between 1 and 3, and if the human’s number is bigger, except for 3, the human wins.

The Sieve of Eratosthenes

The Sieve of Eratosthenes is a numerical system to find primes. You start with an array of numbers and starting with the number 2, cross off every number divisible by 2. Take the next number, in this case 3, and cross off every number divisible by 3. Keep going until you reach the square root of the upper bound of numbers you would like to find the primes under. For this program, we had to automate the Sieve to find prime numbers under a certain number n. This was practice for our for loops, of where we had to figure out where to start and stop the for loop.

Apps For Good

Apps for Good was a project where groups of students worked together to program an app that could help those in need. I worked with Caroline and Matt to create an app that would track a user’s mood long term. In our research, we found that mental health disorders are becoming an increasing problem amongst teenagers. Thus, our target audience were middle school and high school students. Our solution was having teenagers document how they were feeling in addition to their activities. Then, our app could use a correlation algorithm to determine if there was a connection between someone’s feelings and their activities.

Our MVP, or minimum viable product, was an app that could ask the user for their mood, time of day, and activities. The app could store that information and over time, could display any correlations between their mood and activities.

Our research was relatively straightforward. We searched for the percentage of people with mental health problems and compared that to the percentage of teenagers with problems. We also searched for the percentage of teenagers with problems over time, to see if mental health problems were rising. Our conclusion was that it is indeed becoming an increasing problem.

There were many possible designs for our app, including a message based app between clients and their doctors, or a collection of videos designed to guide the user. But for our final design, we decided on having the user track their emotions and their activities. Since there are multiple emotions, the user would pick an emotion, say “happiness”, and rate that from 1-10. The user would also input what time of day it was, as well as what activities they were doing. The app would then continuously run a correlation algorithm with all of the data to determine if there was a correlation between the user’s mood and their activities. The correlation algorithm was based on the ANOVA test, and we chose this statistical test because it allowed comparisons between 3 or more groups, allowing for multiple variables to be tested.

We used Android Studio and Java to program our app. We had a few road bumps going into the project, since we were all new to Android Studio. Over time, we learned how to use Android Studio in conjunction with our knowledge in Java. As we neared the end of the project, we focused more on our MVP and less on other features.

For testing, we ran our app on Android devices. Caroline and I had android tablets borrowed from Ms. Taricco to test our program, and Matt had an emulator on his computer. As with other programs, we often got results we didn’t expect, so there was a lot of work going back into the code to fix any errors. It was also a challenge to get everyone on the same pace, as two people could be working on different aspects, but their code needed to work together. Apps for Good was a challenging experience, but I learned a lot about teamwork and programming.