# Computer Science

Computer Science is taught by Mrs. Taricco. Beginner coders experience a fast-paced, project-centered curriculum based off of the AP Computer Science A curriculum. In CS, we gain experience in a variety of coding languages like Java, HTML, and CSS. We use Eclipse to solve fun problems and complete tasks using code. Our major projects include creating a personal website and Apps For Good.

## Lab 2: Time Display Program

The TimeDisplay Program asked us, when given a hard-coded number that represents “milliseconds”, to convert the time to seconds, minutes, and hours. This problem required our knowledge of variable assignment and creation.

## Lab 8: Sieve of Eratosthenes

The Sieve of Eratosthenes problem challenged us to simulate a method for identifying prime numbers. This method is called the “sieve” because in order to isolate all of the prime numbers, the multiples of all of the prime numbers less than the square root of the upper bound must be removed. As each multiple is removed, the amount of numbers between the lower and upper bound “trickle away” as if in a Sieve. This program required the use of static arrays and iterating for and while loops in order to sustain the repetitive pattern. You can find the code (and the output) here!

## Overview

Have you ever tried to use a calendar app to manage your tasks? It's hard to create a balanced schedule manually, especially when you have a large project to break up into blocks.

My team, which consisted of me, Rianna Santra, and Luke Pepin, created a mobile app that uses an algorithm to automatically schedule tasks for its user, taking into account factors like difficulty, due date, repeated tasks, and even the tasks currently scheduled. Our intended audience is students and self-paced individuals who are ambitious their projects and jump right into them!

#### Problem Statement

While there exists many applications that allow users to compile tasks and organize a schedule, these apps often rely on the user to begin and end “sessions”, or blocks of studying. This defeats the purpose of study apps, which we believe is not just meant to organize tasks but also to aid the user in completing them in a timely manner. Furthermore, many of these applications exist as a web application or website. This reduces the effectiveness of the apps, as users may be distracted by trying to juggle both a task organizer and the tasks themselves, which are likely to be computer- based.

#### MVP

The app will be able to keep track of the user’s planned study sessions, due dates, and other events. The app will include an automated timer that counts down and changes when a study session ends. The user will be able to create and store an ordered schedule in the app, and can create repeated routines.

## Features

We used Android Studio to create this app. After doing market research to narrow down our MVP and identify what we wanted to emphasize, we began to research Android Studio tutorials and begin working on the UI and algorithm.

There are three types of tasks that the user can input: One-time, project, and repeated. The algorithm uses unique parameters for each type of task to schedule the task on a particular date. Project tasks are broken up into 45 minute chunks and are automatically scheduled for each day until the duration of the task is complete. The user can access all tasks created by either clicking on the "All tasks" button or the calendar view. Once a task is scheduled for a particular time, a timer will start for the duration of the task. The timer will automatically include breaks and continue until all tasks on that day are complete, creating an automated study timer with minimal user input.