With the widespread coronavirus outbreak, we have seen how computer-science teaching has been compromised, especially in a digital setting. Many styles of instruction are strictly lecture-based and not interactive. With Code Together, students can join virtual classrooms hosted by the teachers to code and compile within the app, thus fostering an enjoyable learning experience that can be accessed wherever you may be.
What it does
CodeTogether is a web app that creates a virtual CS learning environment where students submit their solutions for problems that the teacher creates. First, they enter their name into the introduction screen and are then prompted to begin their 1st problem. The students begin coding and compiling their potential solutions, and the app automatically tests their input to instantly give them feedback on their test case passes.
How I built it
We used MongoDB, React, JSX, CSS, and other languages/APIs to create a full stack web application. We used the MongoDB, hosted on Google Cloud, to store data on the students in the class. We used express to deploy an API to allow the front-end to get access to some information in the database. Check out the code at https://github.com/anthony-zhou/education-app
Challenges I ran into
It was hard to integrate the database with the rest of the application. It was our first time working with the full stack, so we had a lot of errors when we made API calls from the front-end to the express server. We also found creating the database and having it interact with the express server challenging.
Accomplishments that I'm proud of
We're proud of utilizing a variety of languages and APIs to create an educational app that benefits aspiring programmers.
What I learned
In the beginning, we were unfamiliar with many of the technologies we used, and it was rewarding to learn how to use them. We learned that manipulating the database was challenging, as well as integrating it with the React app, but we now know what to do in the future.
What's next for Code Together
We plan to include some of the following features:
- Leaderboard for fastest answering students
- Allowing teachers to create sets of problems
- Better integration with Zoom
- Danny Zhang - deze#8741
- Zach Tang - noobtangerang#8155
- Anthony Zhou - adada#3093