Computer Science

Computer Science is taught by Ms. Taricco. We start our year by learning HTML and CSS to get the first version of our websites. We then learned the basics of Java and applied these concepts to labs in preparation for the AP Computer Science test. The labs in this class let students solve interesting problems that are related to the real world. Two examples of labs I have completed are shown below.

Sieve of Eratosthenes

In this lab, we had to create a program that outputs a list of all prime numbers up to an input number. It is possible to do this by checking if a certain number is divisible by all numbers below that. However, this method is inefficient. We had to employ a sieve method to ensure that the program would run in a reasonable amount of time. It does so by first assuming that all numbers are prime, then removing those that are not, as demonstrated in the gif. This method is much faster.

If the pdf does not load, click here

Stars

A random arrangement of scattered stars

The objective for this lab was to display 10 stars with random location and random size. I made a function that draws a star based on a given center position and a size. I also made two different types of stars by changing the ratio of the inner and outer radius. It was interesting to see how Trigonometry can be related to something as simple as drawing a star.

If the pdf does not load, click here

Apps For Good

In Apps for Good, groups of 3 to 4 students work together to develop an app that addresses a problem present in our community. I worked on a team consisting of myself, Shuling, and McKenna. Together, we made an app to help people who have difficulty choosing their food. The approach we took to address this problem is to allow users to input whether they like or dislike simple ingredients. Then, our app gives the user a suggestion of a food they may be willing to try. Our app currently returns an ingredient similar to them. The recommendation system we used relies on Singular Value Decomposition (SVD). We encode data from Firebase about recipes and the ingredients they contain into a matrix. Applying SVD to this matrix returns another matrix containing information about how ingredients relate to each other. Using this, the app then displays a recommended ingredient to the user.

If the pdf does not load, click here