Research Project Title:
Expanding JavaTutor: A Code Translation Tool
abstract:Many tools already exist for those who want to learn their first programming language, but fewer for those who want to learn a second language. Our group has designed the JavaTutor system to help students who know Python translate that knowledge to Java. We are now working on adding more languages and tutoring for higher-level software engineering skills. My project is to develop a phrase-based programming-language translation system, analogous to Google Translate but for code. We will focus initially on data-query languages like SQL and MongoDB. Our goal is for the system to help with syntax, as well as learning the semantic, conceptual, and pragmatic differences between two languages: we hope to support multiple translations for a given query and help users distinguish between them.
I've long had an interest in the linguistic side of computer science and have done some work using NLP machine learning models in the past. This project combines linguistics and CS not just in its execution, but also in the subject matter itself. I'm excited to get more experience with machine learning, NLP, and data query languages -- and to produce a tool with such incredible applications and implications.