Home Math Humanities Physics Computer Science Spanish STEM I STEM II

Computer Science

Mrs. Taricco teaches Advanced Computer Science. This is a course that focuses on both programming and real-world software development. The class starts with web design using HTML and CSS, where I build and maintain a personal and professional website, and then moves into object-oriented programming in Java. Throughout the year, we learn core computer science concepts. The course emphasizes problem-solving, collaboration, and writing efficient, well-structured code, and it includes major projects such as developing a mobile app to address a real community need.

Apps for Good Project - End-of-Year Update

My Apps for Good project addresses the problem of people struggling to find reliable help, resources, or support in their community. Many users may not know where to begin, who to contact, or which resources are trustworthy. The target audience includes students, families, teachers, volunteers, and community members who need clear guidance. My solution is an app that organizes helpful information in one place and connects users with resources based on their needs. The minimum viable product includes a home screen, simple navigation, a way for users to select or describe their problem, and a results page with useful recommendations.

From a user's perspective, the app begins with a clear home screen that explains its purpose. The user can choose a category or enter information about the problem they are facing. The app then uses decision-making logic, such as conditionals, to decide which resources or suggestions to show. Lists or databases store categories, descriptions, links, and contact information. A matching algorithm compares the user's input with the stored resources and displays the most relevant results. Important features include search, filters, saved resources, accessible text, and a feedback form to help improve the app over time.

My original idea changed as I learned more about what users would actually need. At first, I focused mostly on making the app look good, but later I realized that clear organization, useful information, and simple navigation were more important. While building the app, I learned how computer science can solve real-world problems through user input, data structures, conditionals, and algorithms. In the future, I would improve the app by adding more resources, better personalization, stronger accessibility features, and a way for users to rate whether each recommendation was helpful.

GitHub Repo

Binary Counting

This assignment was an ACSL “Binary Counting” challenge where you start with a normal text string, convert every character into its 8-bit ASCII binary, smash it all into one huge binary string, and then repeatedly delete the counting sequence (0, 1, 10, 11, 100, …) by searching from the front and then the back each time until you hit a number that can’t be found anymore. After that, you convert whatever binary is left into octal (no leading zeros) and repeat the same deletion process in base 8 (0, 1, 2, …, 7, 10, 11, …), and the final output is the last octal number you were able to delete (converted to base 10), or -1 if you can’t even delete 0.

Independent CS Project – MAMS Schedule Creator

Because I have taken AP CS A in the past, which covers the object-oriented programming concepts in Java, I am also doing an independent CS project. I have decided to automate the scheduling process at MAMS. Currently, the schedule is manually created in Excel, having to balance all of the different schedule constraints and customization required. I am working on an app that uses an algorithm to generate the schedule each day based on different requests and templates.

Firstly, there is a Google Form where teachers can input any requests and constraints they have. The two types currently implemented are “All School” and “Avoid”. An all school request is used for tests, project work time, or any other events where the whole school meets at the same time. An avoid request is used so that a teacher won’t have any classes during that period of time.

Then, using Latin square formulas, a random schedule that meets all the constraints is generated. The schedule is then saved as an object. The data-structure was designed to be as customizable as possible. The data-structure can support any number of sections or as many classes as you want. The schedule is generated around templates, which are common class schedules that repeat.

There is also an editor that allows you to change certain classes, change times, or add blocks if needed. This was built with the Java Swing library. The editor also allows you to set any classes to OPEN. If generate is used afterward, the OPEN blocks are filled in with the missing classes if possible.

Finally, an HTML file is outputted using Java PrintWriter. The HTML file is generated based on the Day object and there is a corresponding CSS style file for the table formatting. This project is still in progress, but I am hoping to finish it by the end of C-term. It is my hope that this will help Mass Academy create the weekly schedules easier, rather than editing an Excel Spreadsheet.

GitHub Repo