Inspiration
In our AP Computer Science A class, many of our peers understand the computer science concepts and ideas from the lessons they learned in the classroom. However, when told to apply their knowledge and concepts, they usually struggle and are unable to actually code their answers and ideas. This is very common amongst computer science students, and with this platform, these students can practice and learn units they have trouble with. The platform is designed to understand students' knowledge with the diagnostic test and cater to their weaknesses by promoting lessons on those topics.
What it does
This platform allows students to take a diagnostic exams, which the platform evaluates to determine which topics should be recommended to the student. It tests them on significant units and lessons they should be able to apply in the real world, universal to all programming. Our application is catered toward Java for now as the language is widely used among students taking computer science courses in high school and college. After the exam, the app lists key units that they missed during the diagnostic. The user can then use the Lessons page to read over the units they had struggled with in the exam. After reading over the lessons, they can take the exam again, which is intended to test their knowledge on a separate bank of questions. From our experiences in hackathons, we know projects are the best way to learn- paired with a comprehensive curriculum, students draw upon their cumulative knowledge to create applications that have real-world implications.
How we built it
We built CodeU using NextJS, Typescript, React, and RapidAPI. All of these frameworks help stabilize the project for further scaleability and help ease the development process.
Challenges we ran into
A challenge we ran into was implementing RapidAPI, because we were trying to use an API (Judge0) to help compile code in the backend for certain input questions on the exam.
Accomplishments that we're proud of
We are proud of the exam and lesson functionality, and also the compiler that allows users to input code to answer questions.
What we learned
We learned a lot about using NextJS, Typescript, and RapidAPI, because it is the first time we have used this framework combination.
What's next for CodeU
CodeU is scalable, which means we plan on adding more languages and more exams in the future. Thankfully, the nature of the application being soft-coded permits us to change content very easily. However, we may consider utilizing a database or content management system to optimize the process of updating lessons and exams so we can easily add more data without touching the actual code. We also plan on implementing a projects section that counts as an exam, as we mentioned project-based learning is extremely effective in teaching students how to apply their programming skills to the real-world. We have only built the skeleton of the application thus far and designed it in such a way that will allow us to add updates and new features easily in the future, so performing comprehensive research on successful learning techniques will amplify our application's effectiveness in teaching students how to code. For instance, to optimize active recall and minimize burnout, we will limit the amount of time a student stays on the site (e.g. after completing 3 lessons consecutively a warning will pop up to take a break) or email the student after every week to review certain topics.
Built With
- nextjs
- rapidapi
- react
- typescript

Log in or sign up for Devpost to join the conversation.