Feedback in learning and in decision making is important. Delayed feedback makes it difficult for us to evaluate our decisions; instant feedback makes it easier. When it comes to solving a problem or creating a solution, we naturally make decisions and choices. Sometimes, with computer programming, there is a right or wrong answer; for example, if the exercise was to perform a function that returned a count of characters in a string, and your answer isn't the expected output, then it's wrong and you have work to do.
In an effort to make learning more fun and to implement some learning science, we built Gandalf, our autocorrection system. Gandalf knows most things, so he can correct your exercises in earlier learning tracks.
What Does Gandalf Do?
In the first two tracks of our programs, you will have Quests and Exercises to complete. Gandalf essentially corrects your work and tells you which exercises you have passed and which ones you have not passed.
With over 400 learners on the platform as of today, students love Gandalf and the hate Gandalf. The love when Gandalf tells them they've got the right answer. They hate when Gandalf tells them for the third or fourth time that they don't have the right answer. However, what learners really enjoy and appreciate is having immediate feedback on their work, because it allows them to either gain confidence and move on, or continue focusing on the problem without context switching or waiting, meaning learning is both more enjoyable and more efficient.
How Does Gandalf Work?
Gandalf is a software program that you can use - we'll show you how to use Gandalf during orientation. He evaluates your code; he knows what it should be and when your output is incorrect and he tells you which exercises are not giving the right output.
Before you begin the program, we need to be clear: there's a very slim chance that Gandalf is wrong, so while you can blame Gandalf and say that he's not working, there's a far, far higher chance that either your code is incorrect, the file you had Gandalf correct is not the most recent, or you forgot a few things in the flurry of wanting to succeed at the exercise.
This leads us to think about why Gandalf exists: he is not responsible for correcting and testing your code and telling you why what you've built doesn't work or is not an optimal solution. You are responsible for your work and your learning.
Gandalf is Not an Excuse to Not Test Your Code!
Gandalf does not give you an excuse not to THINK about your code and the solution you've built to the problem. You are still responsible for testing your code! Testing involves critical thinking and trying to find all of the ways that someone or something could possibly break what you've built. A huge part of building software is learning to think in this manner.
Gandalf is there to give you immediate feedback that fuels your learning on early and fundamental principles in coding and software engineering. He is not responsible for testing your code: you are. In the real world, in a job as a software engineer, there is no Gandalf and engineers are undoubtedly expected to have tested their code before it goes to peer code review.