As students are beginning to code, problems arise in trying to figure out what is wrong with their code and how to solve their issues. There is a huge learning curve for students who are just learning to code and stack overflow can be very daunting to any beginner coder. As our group has experienced and seen in younger students, it can be very frustrating trying to decipher what very vague error messages mean. Sometimes, the coder can get discouraged and feel that they are not capable enough to continue in the field. Therefore, Rubber Duck Learner (RDL) aims at making tough technical terms more colloquial so users can understand their problems more easily and learn from their mistakes a lot faster. We hope our application empowers students, particularly those often impacted by 'imposter syndrome' to work through their problems and continue in the coding field with more confidence.
What it does
RDL chats with users through the coding problems they are experiencing trying to move them towards a solution.
How we built it
We used IBM Watson Assistant in order to create nodes for pathways that the users might take in a conversation. We used Android Studio in order to host the chatbot. We also used “WatBot” open source for the widget that the chatbot operates in on Android Studio
Challenges we ran into
One of our main challenges was moving the chat pathways we created out of IBM Watson platform and into Android Studio for users to be able to use. Once we found a compatible source we had to connect IBM Watson and Android Studio together. This proved to be more complicated than we initially thought.
Accomplishments that we're proud of
We found an idea, found several technologies, and found solutions to our problems that none of us had ever experienced before. None of us have created a chatbot or even knew where to start and now we have a fully functioning code base.
What we learned
We learned more about IBM Watson and the different technologies offered. None of us had created a chatbot before so we got to work with the complexities of nesting pathways and child nodes to create what we wanted for our users. We had no idea how much work would go into training an assistant. Additionally, we learned how to use Android Studio for this specific purpose.
What's next for Rubber Duck Learner
We will be expanding the amount of pathways our program can take. We want users to be able to ask about many different languages, platforms, and issues coders may run into. We will be training our assistant to be even more concise in his speech and in understanding what users are asking. Additionally, while exploring the potential of IBM Watson, the ability to reach an audience in a different language is within reach. The capabilities provided to us via proper implementations of an API can even go as far as sending a picture in of computer code and analyzing it to output recommended solutions.