Computer Science!

In Computer Science, which is taught by Ms. Taricco, we open with discussing web design using HTML and CSS. The first major project we do is our personal websites, which is what you're on right now. We need to design, develop, and maintain these websites over the course of our education at MAMS. The class then splits into two groups depending on how each person scored on the pre-assessment. One of the groups stays in class with Ms. Taricco and learns Java while the other group is tasked with creating their own independent project(s). These projects can be done individually or in groups. After this stage, we move on to Apps for Good, which is a program through which we create apps to fix some issue that our (algorithmically assigned) group comes up with.

"Relearning" Problems

Before starting our independent projects, the "outside" group focuses on doing some practice problems in order to refresh our Java knowledge. My solution to one of these problems is displayed below. For this problem, we needed to find the largest palindrome made from the product of two 3-digit numbers. I did have multiple iterations of this program, because I was trying to make it reasonably efficient, but I only attached the last version here.

Independent Project

As a member of the latter group, I worked with Vishal Balagani and Jacob Jiang. For our project, we thought for a while and eventually settled on designing a new course registration portal for our senior-year classes. This project came about because we were talking with Ms. Taricco and found out that this process is (currently) done on paper and causes issues for students and teachers alike. You can watch our progress on our Github repository. Below is a copy of the brainstorming document that we used to decide the project we wanted to move forward with.

Apps for Good

Apps for Good was a project that we did throughout the second part of junior year (C and D term). During this project, we work in small groups to create an app that solves some kind of issue for a client. I worked with Shaina Premraj, Vasudevan Lakshmanan, and Sasha Nandyala through this project. Our app is called Talksalotl, and it's designed to help people learning English with their pronunciation and reading comprehension. This app was created using the Flutter framework and SpeechSuper API. You can find our code in our Github.

Problem

Humans rely on one factor over all others within the world today: language. Through bringing people together, society capitalized on languages, often English, to express ideas, thoughts, and beliefs. However, some individuals in society—for various reasons—struggle with learning a respective language in their area, which greatly decreases the opportunities that are present to them. Our objective is to create an application that can help address two fundamental, but often undervalued, steps in language learning: Comprehension and Pronunciation. By creating a system that utilizes novel findings in language learning to enable the most optimal learning experience for users, our app aspires to elevate the process of learning a language for all.

Target Audience

The main audience of this app is those who are learning English. It is targeted at a younger audience, but anyone of any age can use it. This app is specifically designed for some students at a nearby public high school. We talked with their ESL teacher before starting the development of the app and sent them a survey to better understand their needs.

Solution

Talksalotl solves these problems for users with a few methods. For one, there is a pronunciation functionality where the user records an audio file and the app tells them how well they scored (on a scale from 0 to 100). There is also a high score system, so they can track their progress over time. The scores are interpreted as well; the app lets the user know how good their pronunciation was with positive affirmations.

Additionally, there is a comprehension aspect of the app. We created 57 fill-in-the-blank questions that are stored in a MongoDB database. The questions are retrieved and shuffled, and then displayed to the user. They can then go to answer the questions. After they finish the questions, they are taken to a congratulations page. There are only 57 questions right now, but the system is structured such that it will be very simple to add more later.

Features and Algorithms

Through creating comparative analysis between sample audio files, accessed through databases, and the collected audio file from the user, we hope to design that can compare the outputs. Then, it is vital to make sure that per a set of metrics, these objectives can be enhanced to assess the accuracy. Finally, this data will need to be stored and implemented in rotations accordingly.

After discussing with Madame Wildfong, a language instructor for over a decade, it was understood that the attitude toward the mentee in regard to the language is just as vital. By creating 35 variations, a number that signifies authenticity within each affirmation, it will allow for the users to obtain confidence in the actions that are carried out as the app is continuously used.

Madame Wildfong also regarded that it is critical that there are multitude forms of language acquisition implemented in the same timeframe. By utilizing images, words, with Fill-In-The-Blank/Reading Questions, we can witness that language acquisition will be reinforced greatly, resulting in an increased depth of knowledge for all users.

MVP

Our MVP is a system with functioning pronunciation and reading comprehension aspects. It should also work with all of the functions that are necessary for the app. A profile system would be nice, but is not required.