Taught by Ms. Taricco, Computer Science teaches us HTML, CSS, app development, and problem solving. This course follows the AP Computer Science A curriculum and requires no prior experience! As we become more comfortable with programming languages we are presented with problems of increasing complexity. Later, we work in teams to develop an app to help the community.
Many of our CS assignments come in the form of labs where we work on a specific set of skills. For this assignment, we used for loops alongside the Java Applet to create a drawing. The curves you see are just an illusion–everything here is made of lines! View my code here!
Stars is another program which utilizes the Java Applet, though we had to work with static arrays rather than for loops. For this assignment, we had to create ten stars of random sizes in random locations. Each time you run the code, a new figuration of stars will appear! View my code here!
Apps for Good
Apps for Good is the second part of our curriculum. By identifying a community need, brainstorming app ideas, implementing our solution, testing the application, and deploying the app to the world, we go through the entire app development process. For this project, I worked with Ila Chakravarthy and Raihan Ahmed. Together, we're proud to present Maps for Good! (get it?)
Navigating public spaces presents significant challenges for individuals with disabilities, particularly when attempting to locate essential amenities such as restrooms, benches, and handicapped parking spaces. While some mapping tools and databases currently exist, they are often limited in scope, lack real-time accuracy, and frequently fail to account for accessibility requirements. The absence of a centralized, user-friendly, and accessibility-focused resource contributes to widespread inconvenience and alienation especially among those with mobility limitations or chronic medical conditions.
To address this problem, we introduce Maps for Good, a comprehensive and community-driven platform designed to assist with these challenges by mapping key accessible amenities in an integrated and reliable manner. Unlike existing tools that concentrate on a single type of facility or provide static, data-heavy interfaces, this platform consolidates information on handicapped-accessible restrooms, public seating, and designated parking spaces into one interactive and intuitive map. Maps for Good encourages community participation through features that allow users validate the accuracy of reported amenities and report on amenity statuses through a series of preset complaints, such as “broken amenity” or “dirty”.
Maps for Good was created using HTML/JS/CSS and the Leaflet library. We researched accessible benches, bathrooms, and parking lots in the Greater Boston and Central Massachusetts area, and using a combination of government-provided and volunteer-based information, we built a main database for our app. To allow users to contribute feedback by liking or disliking locations, we integrated Firebase.
Upon loading, the map automatically centers on the user's location and sorts amenities by proximity. The user can also search via zip code if desired. Our map uses the Haversine formula—a mathematical method for calculating the shortest distance between two points on a spherical surface (i.e. Earth). Users can provide feedback by liking or disliking existing amenities on the map, as well as contribute additional information by pressing a button and submitting details about a new amenity. These user-submitted amenities are reviewed and verified before being added to the main database, ensuring accurate information for all users!
MVP & Testing
A Minimal Viable Product, or MVP, is a version of a product with just enough features to gather feedback for future development. In other words, it's the bare minimum an app should be able to have to fufill its purpose as an unique app. With Maps for Good, we wanted it to file and pinpoint available amenities into a database and onto a map, allow users to like or dislike map pins to attest to their accuracy, and continuously update and refresh the map based on recent validated responses.
We ran around 60 test cases on our app—ranging from UI to security—across both PC and mobile devices. The app only failed 10 test cases, showing us that our idea results in a viable product, albeit one that needs a bit more work. If you're interested in seeing our testing process, view our Test Plan here!
App Fair Poster