Inspiration
As programmers we understand that learning a new coding language is very similar to learning a new spoken language. However, whereas most institutions teach second languages using the student's first for reference, programming languages are more often than not taught in a vacuum. We wanted to present a new way to learn coding languages that matched the tested and trained methods of teaching spoken ones.
What it does
A user selects a language which they are familiar with and a language they want to learn. They are then taken through a list of questions which they can solve at their own pace. These questions start from the most basic concepts (print "Hello, World!") to some very advanced ones such as memoizations. While they are going through these questions, a solution to the question is provided in the user's known language. This allows them to more quickly understand differences in syntax as they are able to compare two languages and see the differences.
How we built it
Brainstormed Made skeleton of the frontend while setting up the database We established all the API keys and the prompts Cleaned up the UI and rounded out the edge cases
Challenges we ran into
1) Prompt engineering: how to get claude to output the starter code and not the solution. 2) How to connect the code editor with with a remote code execution system 3) How to change the protocals of the database so it would accept a new user
Accomplishments that we're proud of
We have a working product which we would all actually want to use.
What we learned
Anubhav: I learned how to use an api key and to write prompts which get exactly what you want from an LLM.
Carlos: I learned a lot about coding using React, as well as integrating APIs to manage backend and user interfaces.
AJ: I learned how to structure a web app.
Grant: I learned a good amount of react and how to setup a database.
What's next for Rosetta
Implement more questions and languages. Add more question categories. Expand the frontend.
Built With
- claude
- judge0
- monacoeditor
- react
- supabase
- vercel
Log in or sign up for Devpost to join the conversation.