# Computer Science

In Computer Science (CS) class, we have done multiple different projects in different languages. We started the year learning Hypertext Markup Language (HTML) and Cascading Style Sheet (CSS), and used our new skills to build the website that you are currently reading. In addition, we have been learning Java and object oriented programming. We do exercises and labs to learn and practice different programming concepts.

## Learning Exercises

This is an example of an exercise. Whenever we learn a new concept, we get multiple exercises to practice the concept. The program shown was a tricky exercise to practice using ArrayLists. In the exercise, we were supposed to model a game of Bulgarian Solitaire, where a set of piles are created from a group of cards. In each round of the game, one card is taken from each pile to create a new pile. This process continues until there is one pile each of size 1, 2, 3, ... until some maximum size pile.

## Labs

This is an example of a lab, where we practice object-oriented programming. In this lab, we were implementing a program to find the primes less than a number according to an algorithm by Greek mathematician Eratosthenes.

## Apps For Good

Our biggest CS project this year was Apps for Good. Apps for Good is a program that encourages high schoolers to solve different real world problems using technology, and is a highlight of the junior year CS course.

### Problem Statement

Many people often want to try learning to cook for various reasons including health purposes, saving money, or developing a hobby. In fact, 36% of Americans regularly cook at home. Often, one of the biggest struggles people face is being able to follow along with recipes, because it is difficult to keep a book or screen open while your hands are messy and occupied with cooking. This causes a lot of back and forth between different items, slowing the cooking process and making it difficult for people to try new recipes.

### Target Audience

This app is intended for the general American population.

### Solution

MiCook is an app designed to help people try different recipes. The app allows people to follow along with recipes in an intuitive manner, by presenting steps one at a time and allowing users to use voice commands to move between steps. This provides users a hands free option, making cooking and following along much easier.

### Important Features and Algorithms

1. Recipe database for multiple recipes to access

2. Buttons to navigate pages

3. A set of predefined voice commands to navigate while on recipe