The Project: Our team sought to provide a new approach to learning new coding languages, based around how schools teach spoken languages. We created a website to encourage and guide the user through their journey to learning a new language using a known one as reference. Rosetta supports 6 popular programming languages, offers 35 problems of increasing difficulty, and offers all the built in tools to write and run code to improve as a programmer!
Team Name: Rosetta The Team: Anubhav Sinha, AJ Romeo, Grant Caile, Carlos Schober
APIs used: -Vercel: Google Authentication -SupaBase: User data base -Judge0: Runs user's code -Claude: Generate starter and reference code for questions -Monaco Editor: Code editor interface
Front end: -Vercel: Deployment -React
Back end: -SupaBase
Acknowledgements:
Claude: Assisting building the UI
Optional Reflection: Because we love learning, tell us about what you learned this weekend!
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 motivated your team to choose this project? Are there bigger ideas or features for the project that you’d want to implement in the future?
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.
In the future, we would like to improve the website's capabilities to guide the user's journey, as well as implement more unique languages.
Tell us about a tricky bug, a design challenge, or that you encountered. How did your team tackle it together?
We spent a lot of time deciding the structure and design of our home page. We wanted a UI that was very clear, orgnaized, and user friendly, and after a lot of time and tweeking we produced a design we're proud to present! A particularly tricky part was figuring out how to generate the starter code without unintentionally getting the solution code.
Tell us about one fun or interesting experience that you had with other hackers! Did you get coffee with new friends? Did you attend a workshop that inspired you? Did you meet someone new?
Our team took the opportunity to eat every lunch, dinner, and breakfast together. In the process we got to learn about each of our interests, skills, hobbies, and worst of all we learned that Anubhav knows how to code in Basic!