In computer science, we learn not just how to code, but the fundamental concepts that drive the world that we live in today. From binary operations to understanding how a compiler runs, we dive beneath the surface level of plain code to see what lies beneath. We then can take this knowledge and apply it to benefit real-world situations.
In the Apps For Good project, groups of students are challenged to create an application that solves a problem in the community around us. We worked in small groups and went through the entire brainstorming process and then developed the app in Android Studio. My group was made up of myself, Anshika Shekhar, Nathan Lam, and Riley Harn. Together, we created the app Hearitage,
Distance can separate families. The Hear-itage™️app works to combat distance by allowing a family’s culture, stories, ideals, to be shared through a mobile platform, accessible from any mobile device. Stories can be passed across generations––straight from the mouths of those who experienced it. Family history can be accessed by the tap of a button, important information can be stored in a personal way, the lives of our ancestors can be heard the way our ancestors wanted to tell it. The Hear-itage™️app empowers families to find connections across generations.
The Hearitage™️app aims to serve people who want to save family memories and explore their family’s lives. This app appeals to those who want to capture their life and the lives of those in their family at the current moment to share it with future generations. People who want to save audio recordings of their loved ones telling stories will want to use the Hearitage™️app to organize their loved ones’ recordings. Once the app has been established within a family, those who are curious about their family history will be able to use the app to listen to their ancestors in a never-before accessible, intimate setting.
Record and store audio locally and on the cloud
Search through audio recording using audio transcripts
Share recordings across users in family groups
This first problem presents the unique challenge of finding all of the prime numbers before a certain value. While at first this seems like a daunting task, by using a simple technique known as the Sieve of Eratosthenes. Starting at two (the first relevant prime number), you take all of the multiples of two that come after, and eliminate them from the list of primes. Then, continue to the next number that is not eliminated, 3. Once again, remove all multiples of 3 that are still in the list. Continue this with all the prime numbers under the square root of the final threshold. All of the numbers that are not eliminated are the prime numbers below the threshold.
One of the most interesting parts of this problem for me was taking this method that could be easily explained in words and “translating” it into code. Doing this helped me work on remembering the various uses for different classes and functions allowing me to synthesize all of my prior knowledge into one functional product.
As I mentioned previously, what we do in CS is not purely theoretical code that we use to learn functions. Instead, when we want to learn, we apply them to real-world use cases. This program exemplifies this ideology. To better understand arrays and decisions structures, I created a program to take a person’s yearly income and calculate the amount of Federal taxes they would have to pay for that year. My favorite part of the program is how I was able to utilize the arrays to hold all of the various tax brackets. This, along with utilizing integers to store the person’s status allowed me to code a simple solution to a real-world problem!