Computer Science

This course started with the development of our personal websites to gain a grasp on the pipeline to create a website. Later on, we delved into Java, and currently we are beginning to spend time on the apps for good project, where groups work together to create apps that benefit the community. This course is a great way to gain a new grasp on computer science concepts that can be valuable for a STEM career.


Sieve of Eratosthenes

The Sieve of Eratosthenes is an algorithm that can pick out all of the prime numbers in a certain range. This algorithm works by checking all of the multiples of prime numbers below the square root of the number at the top of the range and marking them as being not prime. After all of these numbers have been checked, all of the numbers that were not marked as not being prime are known to be prime numbers.


Bulgarian Solitaire


One of the programs I created for a computer science assignment was to simulate a game called Bulgarian solitaire. In Bulgarian solitaire you start with a pile of cards that is a triangular number (numbers that are the sum of increasing numbers – 1+2+3…). These cards can be split into any number of piles. Then, you remove 1 card from each pile and put all of those removed cards in a new pile on the right. You continue repeating this until the number of cards in each pile are in ascending order (1,2,3…). This code contains a function that randomly assorts a number of cards and runs a simulation of Bulgarian Solitaire.


Apps for Good


Problem Statement

One might gain the right to vote at 18, but the ability to form and express opinions is a natural right. Youth spend their teen years witnessing social and political conflicts, divides, and resolutions, but have not been enabled to express their beliefs in an explicit manner, even on subjects that directly affect them. Social media such as TikTok, Instagram, and YouTube have been mainstream outlets for young people to express their views, but a platform dedicated to civic engagement among adolescents and young adults is nonexistent.


Target Audience

The target audience for Censeo is teenagers and young adults. To encourage civic engagement and promote youth voter turnout in elections, the provision of a youth-based voting app, Censeo, hopes to inspire and promote the votes of younger generations in social and civic matters. GEM defines the age group of teenagers and young adults to be 15 to 24 based on the definition of youth by the United Nations (United Nations, 2023). The form of a social app targeted towards youth is important due to the rise in engagement of youth in other social media applications. Approximately 32% of youth report sharing their personal experiences on social media (Young People Created Media to Uplift Their Voices in 2020, 2021). Seeing as such a large proportion of youth look to social media as a platform to express themselves and their views, an app dedicated to solely the expression of societal and political views will be useful as an outlet for youth.


Solution

To address the issue, we propose Censeo, an app where youth can vote on polls sourced from current political issues to both learn more about current events and express their opinions. The app will also collect demographic data and compile statistics about poll outcomes to provide fresh insight into the political viewpoints of minors. Censeo aims to encourage civic involvement and education in youth to bring about a brighter political future.


Minimum Viable Product

Our minimum viable product consists of three core features.

First, there are politically-relevant polls presented to the user. These polls feature a title as well as a summary of the issue. This content was obtained by querying recent bills from the Congress API. Content may also be manually entered using ballot questions. The poll is then stored in the database, along with the date it was opened and the date it will be closed. On the user end, random polls are queried and displayed through a TikTok-like user interface.

Second, poll data is collected. After the user first creates an account through Google OAuth, they are prompted to enter demographic information. This information includes grade, age, gender, and location. These are used to provide more detailed data on poll results. When a user votes on a poll, a utility document containing a reference to the user and their answer to the poll will be created and linked to the poll. This document is also stored locally on the user’s phone, so that they can access the polls they’ve voted on.

Third, poll data is aggregated and presented to the user. When the closing date of a poll is reached, the linked vote documents are aggregated and summary statistics are compiled and stored with the poll. For the sake of storage, the vote documents are subsequently cleared. Users will be able to view these summary statistics and gain information on the outcome of the poll.


Testing

The application was tested by verifying various test cases necessary for the app to meet its goals.


Presentation


An image of the poster presented at the Apps for Good Fair

References