Computer Science

Computer Science is a class taught by Mrs. Taricco. In the intermediate section, students learn about the basics of Java and in the advanced section of the class, students can choose any project that they would like to work on. We also do ACSL (American Computer Science League), either Classroom or Advanced divisions, competitions in the class; and work on our website. In addition to that, we work on an "Apps for Good" project where we create an app that solves a problem in the community.

Assignments

Agram Problem

Agram is one of the most popular card games in Niger. It uses the Aces, 10, 9, 8, 7, 6, 5, 4, and 2 of each suit of the deck. The ace of spades is removed from the deck. The remaining 35 cards are shuffled and placed into a deck. For this program the following strategy will be used to determine which card the dealer (program) will play:

  1. The dealer must play a card of the same suit if he can.
  2. He plays the lowest card in that suit that is of a higher rank than the card the opponent played.
  3. If he does not have such a card, he plays his lowest card in that suit.
  4. If he does not have a card in that suit, he plays the lowest ranking card regardless of suit.
  5. If there is a tie, he plays the card in the following order: clubs, diamonds, hearts and spades.

Page: /

Advanced CS Project: Cryphor (The Game)

Cryphor is the game that is being developed by me, Rishit, and Medhansh. It is a 3v3 multiplayer capture-the-flag style game where players can choose from a variety of characters, each with their own unique abilities and powers. The game is being developed using Unity and C#. The game is still in development and we are working on adding more features and fixing bugs. Below is a sample of the game:


RePlate

Connecting Restaurants and Pantries to Fight Food Waste

App Logo App Screenshot 1 App Screenshot 2

Statement of Goals:
Our application addresses food waste and food insecurity by connecting restaurants and grocery stores with local food pantries and food banks. The platform streamlines the donation process, enabling businesses to list surplus food in real-time and allowing food banks and pantries to efficiently claim and schedule pickups. This system aims to reduce food waste, support those in need, and make food redistribution much more efficient.

Minimum Viable Product (MVP) Features:

  • Real-Time Donation Listings: Restaurants and grocery stores can post surplus food, specifying quantity, type, and expiration details.
  • Claim and Pickup Scheduling: Food pantries and banks browse and claim donations, then schedule pickups directly through the app.
  • Searching & Matching System: The app matches donations with nearby food banks using location, preferences, and need levels.
  • Notifications: Real-time updates for new listings, claims, and pickup reminders.

User Interface Overview:

  • Home Screen: Displays active food donations, search and filter tools.
  • Business Dashboard: For listing, tracking, and managing donations.
  • Food Bank Dashboard: Shows available donations, claiming options, pickup scheduling.
  • Profile Settings: For managing business/food bank details and notification preferences.

Data & Technology:

  • User-generated business/food bank profiles and donation data.
  • Pickup scheduling and food requests.
  • Cloud storage (Firebase), authentication (Google OAuth), real-time database, Google Maps API for location and routing, Google Calendar API for scheduling.

How It Works (User Path):

  1. User selects "Business" or "Food Pantry" at sign-up, provides key info.
  2. Businesses list available food donations (at least 3 required on registration).
  3. Food pantries/banks search and claim food based on type, location, or keyword.
  4. Both parties confirm and schedule a pickup through the app.
  5. Notifications and reminders are sent throughout the process.

System Flow Chart:

Flowchart

Persistent Storage:

  • User profiles/logins (businesses, food banks, potential drivers)
  • Donation and request listings (active and past)
  • Pickup schedules and confirmations
  • Location data
  • Stored securely in Firebase, with authentication and access control

Technologies Used:

  • Frontend: Flutter (Dart)
  • Backend: Firebase Cloud Database, Google OAuth Authentication
  • APIs: Google Maps API, Google Calendar API