Computer Science

This course begins with web design and moves to fundamental concepts of object-oriented programming

Course Overview

During the first few months of school, students are responsible for designing, developing, and maintaining their own personal and professional electronic portfolio in the form of a website. For the remainder of the year, the course is similar to the AP CompSci A curriculum; specifically, students develop computational thinking and problem-solving skills through programming practices and learn how to write and analyze software programs. Later in the year, mobile application technologies are encountered as students help develop applications that benefit the community (aka AppsForGood).


Meet the team!

The LaunchGuide Team!

The team includes me (left), Nihitha Reddy (middle), and Amy Chen (right). We also closely worked with Jack Peacock who specializes in creating devices to increase accessibility.


Community Need and Target Audience: This app was specifically designed for visually impaired users to improve safety and independence. When VIPs (visually impaired person) are crossing intersections, oftentimes the pedestrian crosswalk signals fail to provide sufficient non-visual information for crossing decisions by VIPs.

Our Motivation: This app aims to emphasize accessibility by aiding visually impaired pedestrians as they navigate crosswalks.


What is LaunchGuide?

This app was made for the Apps For Good project. The app uses the camera and an on-device image classification model to monitor the user’s surrounding continuously and passively for a “walk” or “stop” pedestrian crosswalk signal. Based on what is detected, the app will return a visual and audible signal indicating whether it is safe to cross.

Our MVP: (1) When opening the app, it will open to a camera that will constantly be scanning the environment for a match on crosswalk signal: hand and person symbols. When the match is made, an auditory sound will play. (2) The app should be able to run a binary-class image classification machine learning algorithm to identify the walking symbol or red hand and countdown. This could use Google vision API for image and text recognition. (3) The app will then return a decision based on the image classification. For the MVP, it will tell the user to start walking if the crosswalk signal has the white walk symbol, and tell them to wait if it has a Portland orange hand signal. (4) The app should have text-to-speech and speech-to-text features, be compatible with voiceover, as well as a VIP-friendly interface.

UI Specifications

When developing an app for VIPs in Android Studio, there are key specifications to be considered. First, the app should be designed with accessibility in mind, using features such as screen readers and voice commands to make it easier for visually impaired users to navigate. The app should also use high-contrast colors and large fonts to improve visibility for users with low vision. Additionally, the user interface consists of standard logos and placements for directory buttons. By considering these specifications when developing a blind people friendly app using Android Studio, our project aims to be accessible, compatible, and user-friendly for visually impaired individuals.

App UI Dark Mode App UI Light Mode

Project Proposal

To learn more about our app, please read the project proposal listed above. For any further questions, feel free to reach out to me (, Nihitha (, Amy (, or Jack Peacock (

Bulgarian Solitaire

In this programming assignment, we had to model the game of Bulgarian Solitaire. This program utilizes array lists to mimic the triangular number of cards and plays Bulgarian Solitaire until the piles have sizes 1,2,3,4,... in some order. In every round, one card is taken from each pile and made into a new pile.


For this graphic design program, we needed to design a class that made stars of different sizes. This exercise called for trigonometry and static arrays to design an applet.

Below the code, there is a picture of the stars!