Skip to content

fernandesi2244/CrowdCS

Repository files navigation

CrowdCS

A Fun and Engaging Crowdsourcing App for Learning Programming Languages

Inspiration

I have multiple apps on my phone for programming quizzes, and I really liked how using them helped me in Computer Science UIL. A couple of days before the hackathon that I created this app in, I read an article about the importance of crowdsourcing, and I realized that many of the apps that I had downloaded didn't emphasize the crowdsourcing aspect, which is essential to the learning process. That's how I came up with the idea to create this app.

What it does

This is an educational app for learning different aspects of multiple programming languages through quizzes. This app places emphasis on crowdsourcing, as each user that signs up through the app is able to create their own questions in addition to completing quizzes. This allows for question content to be the most up-to-date as possible, enhancing the learning experience without the need for out-dated pre-existing question databases. By completing the quiz questions with the highest percentage correct as possible, you can compete with others to become the best programmer out there!

Main Features: User Accounts Profile Page with Stats Quizzes for Multiple Programming Languages (Java, Javascript, Python, C++, C#, Swift, Ruby, Kotlin, Rust) Create Your Own Question for Multiple Programming Languages Utilizes Back4App, which is an open-source backend framework that uses Parse to save content to an online database, retrieve it, and edit it. Leaderboard: Coming Soon Connect with Others: Coming Soon

How I built it

I built the application using Java with Android Studio. This covered most of the activities of the app, but once I realized I had to save information to an online database, edit it, and retrieve it, I decided to use Back4App, which is an open-source backend framework that uses Parse to manipulate data in an online database.

Challenges I ran into

Some challenges I ran into included the following:

  • Retrieving information using ParseQuerys with various filters
  • Variable Issues with ParseQuery anonymous classes

Accomplishments that I'm proud of

I'm pretty proud of the fact that I didn't know anything about using Android 2 days ago (I've never created an app with Android Studio) and after 2 days of studying, I was able to program a well-designed application. I'm also proud of how I debugged certain anonymous class reference errors without any help. Finally, I'm proud of the amazing app that I made as well as the knowledge that I gained from this experience that I can take with me when building apps in the future.

What I learned

I learned a lot about using Android Studio and how to manipulate various components within an app to create a cohesive experience. I also learned a lot about how to create, edit, and retrieve data from an online platform in order to create a more connected experience for the user.

What's next for CrowdCS

In the future, I plan on adding several features including:

  • Leaderboard: There will be a leaderboard that ranks users based on their quiz question accuracy. This will enable competition between players in the fight to become the best programmer!
  • Connect with Others: Users will be able to connect with other user accounts, enabling them to keep track of each other's progress as well as be more engaged with the app.
  • Question Selection Scheme: I will need to come up with a better algorithm for selecting questions from the online database for each programming language as the database increases in size.
  • And most importantly... Dark Theme

About

A Fun and Engaging Crowdsourcing App for Learning Programming Languages

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages