Inspiration

Just recently finishing UCLA’s tough introductory data structures and algorithms course, CS 32, all of our team members have experienced a common annoyance while working on difficult projects: cryptic error messages from the g++ compiler. We think that we could have saved so much time if we actually knew what some confusing error messages meant when we initially saw them. We also believe that if error messages were more beginner friendly, struggling programmers would be more encouraged to pursue computer science and software engineering. Thus, we were inspired to develop an IDE that would translate common convoluted error messages into friendlier messages, and also provide explanations of causes and possible prevention methods of errors, which would lead to a much smoother coding experience!

What it does

Compiles and runs C++ source files using the g++ compiler! Translates g++ error messages into easily understandable messages that beginner coders would understand! Highlights buggy code and explains the causes of errors in detail when you click on the highlighted parts! Educates programmers as they code!

How we built it

We divided the task into categories: collecting and translating common g++ error messages into beginner friendly messages, formatting g++ error messages into a text file that could be easily parsed, parsing the formatted error messages, and designing the UI of our program. Each teammate worked on a separate category, and we later combined our work to produce a complete product. In terms of equipment, we coded using C++ and utilized programs like Terminal, Microsoft Visual Studio, g++, and Xcode.

Challenges we ran into

Designing the UI took a very long time. Parsing the error messages was quite complicated. Figuring out how to combine our work was difficult. Xcode’s newest update produced buggy output that was unseen in earlier versions.

Accomplishments that we're proud of

Incorporating past C++ knowledge gained from CS 31/32 to develop our own beginner-friendly IDE in under 40 hours of coding.

What we learned

How to use the bash shell script; Aspects of UI engineering using C++; Extensive file input/output; Parsing of error messages.

What's next for SMIDE

A cleaner user interface, more beginner-friendly interactive features, and smarter error message interpretations!

Built With

  • c++
  • laughter
  • microsoft-visual-studio
  • teamwork
  • xcode
Share this project:

Updates