Hello MadHacks!

Paper++

Have you ever felt the desire to code on paper? Have you ever had difficulty correcting a student's handwritten code? If your answer was yes, we provide a solution: you provide picture(s), and we provide output. It's that simple!

Disclaimers & limitations in current version:

  • Cannot import external libraries
  • Java classes on the paper must be marked public or private
  • API limits scope of handwriting recognition (very particular)

APIs used:

Challenges we faced, and our takeaways:

Sarah - "I worked on developing a frontend with React and connecting it to the backend with Axios. The biggest challenges I faced were figuring out how to handle image data and making requests to the backend."

Haruto - "I was in charge of image processing, java file creation, middleman of communication connecting the front end and the back end and the janitor cleaning up created files. Challenge I faced include connecting to the front end to send data back and forth and figuring out how to run the back end and process errors efficiently."

Nico - "I created the compilation environment that the uploaded files were sent through. We faced a few separate challenges when creating the compilation environment for the users' code. Mainly, executing a java file from a java file. We ended up tackling it with reflections, but we tried several different methods and learned a lot."

Wen - "I was involved in executing the parsed user code and handling the output. It was challenging to execute another program while running my own, especially having to handle potential faulty code that complicated the development process, as it is difficult to differentiate an implementation error. I eventually figured out how to automate compilation for multiple files, cleanups of *.class,. It was really fun!"

What's next:

  • Provide users with the option to download the scanned files onto their computer
  • Expand usability to any popular coding language
  • Include external imports
  • Host on google cloud
  • Output time complexity of code
Share this project:

Updates