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.
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.