Hi Linda,

Error messages generally serve as a way of trying to realign a gap between
what the user thought the computer was going to do on their behalf and the
model inside the computer. This is hard-ish, as if we knew what the user
wanted, we would probably have just done that instead :)

Based on observational studies, I've generally recommended to the Dart
<http://www.dartlang.org/> team that the verbose errors state:

- *What happened* (e.g. File 'stuff, ln 43:' class B doesn't implement
method foo)
- *Why it is a problem* (e.g. class B extends class A, which has an
abstract method foo. This means that class B doesn't have an implementation
of foo)
- *What the user can do next* (e.g. consider implementing foo, or making
class B abstract)

This seems to work reasonably well in verbose form, but does need to be
accompanied by a terser format, especially for experts who seem to on a
first pass only pay attention to where something went wrong, and ignore the
rest.

It's worth noting that being able to answer each of these questions well
requires careful attention during the design of the interpreter to keep the
necessary information around.

I agree this experience is critical in education. I conjecture that it's a
necessary component of maintaining self-efficacy amongst students. There
have been studies in the past indicating that this is an important factor
in success.

Please keep in touch with how you get on with the education-friendly
interpreter. If I remember correctly the folks from Grace
<http://gracelang.org/applications/> have given this problem some thought
and might have more insights.

Hope this helps,

Luke

On Wed, Apr 6, 2016 at 12:18 AM Linda McIver <linda.mci...@gmail.com> wrote:

> Hello PPIGers,
>
> I am trying to design a data science course for year 10 students that will
> be taught to, and in some cases *by* beginners. We'll be using Python both
> for its data science credentials and its user friendliness, but the error
> messages are a big barrier to success. Students hit one incomprehensible
> error message and run screaming in the opposite direction.
>
> I recall some research on error messages and their user friendliness, but
> I still can't find any interpreters with beginner friendly error messages,
> which surprises me.
>
> Am I missing something? Is there a treasure trove somewhere? If not, is
> there at least some solid research on which we could base the design of a
> beginner friendly Python interpreter?
>
> Any and all clues gratefully received.
>
> Linda
>
> --
>
> Exploring Life, Parenting and Social Justice:
> http://lindamciver.wordpress.com/
> Computational Science Education: http://computeitsimple.wordpress.com/
>
>
> Dr Linda McIver
> Teacher & Freelance Writer
> --
> Buy Fair Trade - Change the world one coffee at a time
>
> --
> You received this message because you are subscribed to the Google Groups
> "PPIG Discuss" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to ppig-discuss+unsubscr...@googlegroups.com.
> To post to this group, send email to ppig-discuss@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups "PPIG 
Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to ppig-discuss+unsubscr...@googlegroups.com.
To post to this group, send an email to ppig-discuss@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to