Computer Science

Computer Science at Mass Academy is taught by Ms. Taricco and covers both web development and Java programming. The course begins with building personal websites using HTML, CSS, and JavaScript, then transitions into the AP Computer Science A curriculum. Throughout the year, students complete labs and projects that reinforce programming concepts and problem-solving skills.

Random Circle

Random Circle is a Java graphics assignment where I generated circles with randomized positions, sizes, and colors to create a dynamic “art” pattern. The goal was to practice loops, variables, and random number generation while learning how coordinate systems work in graphical programs. I also focused on clean structure (helper methods + readable constants) so the code could be easily adjusted to create different visual effects.

Page: 1 / ?

Sieve of Eratosthenes

In this assignment, I implemented the Sieve of Eratosthenes to efficiently find all prime numbers up to a given limit. The project emphasized array-based logic, nested iteration, and algorithmic efficiency—marking multiples as composite instead of checking every number with trial division. I used this lab to practice writing clear, scalable code and to understand why some algorithms perform dramatically better as input size grows.

Page: 1 / ?

Apps for Good

A.R.T.I.C.U.L.A.T.E. is an Apps for Good project designed to make spoken communication more accessible for people with atypical speech patterns, including individuals with dysarthria, Down syndrome, or other speech-related disabilities. The problem this project addresses is that many people with speech differences are misunderstood by voice assistants, classmates, teachers, caregivers, and the general public. Existing speech recognition tools are usually trained on typical speech, which means they often produce inaccurate transcripts when the speaker has unclear articulation, irregular pacing, or nonstandard pronunciation. This can make everyday communication frustrating, isolating, and less independent for users who already face barriers when expressing themselves verbally. The target audience for A.R.T.I.C.U.L.A.T.E. includes people with atypical speech who want a simple way to make their spoken words clearer to others. It is especially useful for students, children, patients, and adults with speech or motor conditions that affect pronunciation. Secondary users include teachers, caregivers, family members, speech-language pathologists, and peers who may need help understanding the user’s intended message in real time. The goal is not to replace a person’s natural voice, but to support communication by helping their words become easier to understand. Our solution is a browser-based speech correction app that records a user’s voice, sends the audio to a machine learning backend, converts the speech into text, corrects the grammar and clarity of the transcript, and then speaks the corrected sentence out loud. The system uses a two-stage transformer-based pipeline. First, a fine-tuned Whisper speech recognition model transcribes the user’s audio into raw text. This model was trained using atypical speech data so it can better recognize speech patterns that standard speech-to-text systems may struggle with. Second, a fine-tuned Flan-T5 grammar correction model takes the raw transcript and improves it into a clearer sentence using a “Fix grammar:” prompt. The corrected output is then returned to the frontend, displayed on the screen, and read aloud using text-to-speech. The minimum viable product, or MVP, is a working web app with a record button, live audio waveform, Hugging Face backend connection, speech-to-text transcription, grammar correction, corrected text display, and speech playback. The user can tap the main button to start recording, tap again to stop, and wait while the app processes the audio. Once processing is complete, the corrected sentence appears on the screen and can be spoken aloud. A “Speak Result” button was added to improve iPhone compatibility, since iOS browsers sometimes block automatic speech playback unless it is triggered directly by a user tap. Important features include a simple one-button recording interface, animated waveform feedback, a processing spinner, status messages such as “Connecting,” “Recording,” and “Processing,” a high-contrast accessibility mode, and a settings menu with help and information sections. The backend uses lazy model loading so the Whisper and grammar correction models load once and remain available for later requests, improving efficiency. The frontend uses fallback API routes for Gradio upload and prediction endpoints, making the app more robust if the server path changes. It also parses server-sent event responses from the Hugging Face Space to extract the corrected sentence from the returned JSON. The main algorithms behind the project are transformer-based automatic speech recognition and transformer-based grammatical error correction. Whisper uses an encoder-decoder transformer architecture to convert audio features into text. The grammar correction model uses a sequence-to-sequence Flan-T5 transformer to generate a cleaner version of the raw transcript. During inference, the grammar model uses beam search decoding, which compares multiple possible corrected sentences before choosing the strongest output. Together, these algorithms allow A.R.T.I.C.U.L.A.T.E. to transform unclear or grammatically incomplete speech into a more understandable spoken message, helping users communicate with greater confidence, independence, and accessibility.

Page: 1 / ?