Inspiration

I started coding only a few years ago and one of the major challenges I faced was finding resources to help me learn a language and retain that knowledge. I never truly started to retain large quantities of computer science knowledge until I started taking a Comp Sci class in school for 50 minutes per day. I wanted to use my knowledge to develop something that would help other people avoid the all-too-familiar struggle I faced when it comes to learning a programming knowledge. I decided to make a tool that directly translates English to Java code to help people learn the language better. This idea to utilize direct translation with code- stems from the same technique which has been used to teach people foreign languages for many years. I also wanted to make sure that this was in a mobile application to maximize where and when someone can practice their java, someone should not have to be in front of their computer or TV to learn a coding language, they should be able to do it from anywhere as long as they're on their phone.

What it does

The app has a main screen that accepts user input in English text. After the text is written the user can press 'submit text' and scroll to the right to show the java equivalent of what they have typed. They can keep scrolling to the right to do this unlimited times allowing for endless practice anytime, anywhere.

How was it built

The app was entirely coded in Swift but knowledge of the fundamentals of Java was used to turn English text into java syntax.

Challenges that were faced

One of the greatest challenges was taking all the jargon and convention associated with English text and using Apple's NSLinguisticTagger to extract the useful keywords from inputs. Another challenge was having the app recognize which arithmetic operations (if any) the user wanted to invoke on his/her variables. Furthermore, a challenge that can continue to be developed in the future is the ability for the app to recognize higher-level arithmetic like exponents and square roots and implement those in Java.

Accomplishments that I am proud of

I am proud that the app managed to properly translate several sentences of user inputted English text into Java and that the Java code came out clearly and was presented with proper formatting on a table (as pictured). I am also proud that the overall user interface came out relatively clean and easy to use. Lastly, since this was my first hackathon, I am proud of my ability to remain focused on one project for a long period of time and actually have something to present at the end of it.

What was learned

A lot more was learned about Swift and user data entry on iOS. This includes how to receive and manipulate user data in Swift. Also, many of the similarities between Java and Swift were realized which can hopefully make me a better programmer in both languages.

What's next for JLT?

Hopefully, development can be brought to the point where one day the list of guidelines (pictured) will not be needed, this would mean that the program can adapt to anything the user types in and convert that input to Java code.

Built With

Share this project:

Updates