# [CS]

## Class Description

Computer Science is taught by Mrs. Taricco. At the beginning of the year, we focused on web design through HTML and CSS. We used our knowledge to develop our personal website, the one you are looking at right now. Afterward, we shifted our focus to Java, learning fundamental ideas such as data types and loops. Even with these basic parts, we were able to solve complex problems, which I will talk about more below. This class emphasizes problem-solving and creativity, which are required when writing code.

## Stars

In this program, we had to graphically display ten randomly sized stars that were drawn in randomly chosen locations. I liked this problem as it required various elements to solve. I had to employ loops, conditional statements, and the random class. In addition, some geometry was necessary to make the stars perfect polygons which made it more fun. I decided to be extra, so I made the stars vary in shape. The image at the beginning of this web page is what the program would output.

## Sieve of Eratosthenes

A classic and elegant algorithm, we implemented the Sieve of Eratosthenes. The program finds all primes up until your desired amount and is known for its efficiency and simplicity. I enjoyed coding it as I only needed a couple of loops and if statements to create it. It felt like magic when it outputs all the primes up to a thousand in a fraction of a second.

## Apps For Good

### Project Description

During C and D terms, students engage in a significant team project called "Apps for Good". Here, students work in small groups to deliver an app that meets the needs of a client or organization. I worked alongside Anyee Li and Giang Pham to create Learn2Do, an app that allows individuals with learning disabilities to gain independence in performing daily tasks. We created this app using the game engine Godot.

### Problem

There are a variety of problems that can affect the ability of a person to perform daily tasks. One of which can be learning disabilities such as dyslexia, autism, or ADHD. With over 20% of the U.S. population alone having some sort of learning disability, it is imperative that they gain the ability to complete daily tasks on their own. Although there are caretakers or family members that can assist individuals with learning disabilities with their everyday tasks, those with learning disabilities would like to be more independent and learn how to do tasks by themselves instead of being too dependent on a caretaker. Therefore, an application that can teach them independence is necessary.

### Target Audience

Learn2Do appeals to adults with learning disabilities unable to complete daily tasks such as washing hands, brushing teeth, or showering alone. Specifically, this app is meeting a need expressed by a Seven Hills Foundation home where the caretakers for many adults with learning disabilities are aiming to help their patients gain a sense of independence in daily life.

### Solution

To teach them certain tasks, Learn2Do uses a game-like UI and functions to make learning fun and simple. The app makes the user order a set of steps for each task, so they can learn both the steps and the sequence of steps to complete each task. This way, the user is able to complete these tasks independently or with minimal help.

### Features and Algorithms

The primary feature of the app is that it allows users to sequence a series of steps for a particular task. The user can order steps by dragging and dropping, making it interactive and like a game. Since the user performs the sequencing themselves without being taught, it instills a sense of independence. Additionally, the app will give feedback to the user if they sequence incorrectly, allowing them to try again and improve. Another significant feature is the user interface. Unlike pre-existing apps, the UI is not childish and appeals to adults. The interface must also be simple, smooth, and easy to use. It will use a combination of text and images to make it intuitive, allowing the users to become more independent without feeling like they’re being treated like a child. The content for the steps of tasks will be compiled from various public health online sources. Users will not need to provide any information to use our app. The app reads from one main JSON file and there is a framework for each drag-and-drop menu. This makes it incredibly easy to add new tasks.

### MVP

The app should enable the users to drag and drop tasks in a sequential manner. The drag and drop should be simple to use and functional. The user interface must be simple and not clustered while remaining serious and not childish. Navigating the app should be intuitive and easy. Finally, the task sequences must be correct and instructive.