One of the advantages of working with a programming mentor is that the student hears repeated use of programmer lingo. Words like function, method, parameter, return value, class, instance and property are used by the mentor when helping the student. This is much better than the student simply reading what they mean. The repeated exposure and conversations in this new “language” drives home the concepts. Self taught programmers may know how to program, but might struggle with the communication skills to collaborate on larger teams.
Even in the drag-and-drop programming environment Scratch this is important. Words and phrases such as run, collision detection, user input, variable, and state can be used to take Scratch from a fun interactive drawing application to a programming environment.
In the type-based programming languages like Java, Python, and JavaScript, this is even more important. There are more words and phrases to know and they support more advanced concepts. The payoff is also more important. An error message is spit out when your program crashes. This is the first clue to what went wrong and understanding it will greatly reduce the amount of time it takes to fix the bug.
Let’s take a look at an example: “reference to undefined property incrementTotal”. Hopefully the student thinks “incrementTotal is a method, why does the computer think it is a property?” If so, the bug will be fixed within seconds. If not the search for a solution will drag on and frustration will start to build.
These days Google is one of the most useful programmer tools with sites like Stack Overflow and searchable help docs for all programming languages. But you have to know what to ask. You need to use the right words and more importantly, understand the answers – if you take snippets of code from various places without understanding what they do, you are asking for bugs that you don’t know how to fix!
This is just one of the many ways a programming mentor can lead to a better computer science education for your student. Please contact us if you’d like to discuss whether it’d be a good fit for your student.