On 6/04/16 4:49 pm, Linda McIver wrote:
To clarify my data science unit: It will be a basic intro to data analysis and visualisation, with some spreadsheet work and some programming work.
I sought (Research beginner understand error message)

http://ics.p.lodz.pl/~stolarek/_media/pl:research:stolarek_understanding_basic_haskell_error_messages.pdf

    reports on trouble with Haskell error messages and explains how to
    read them.  (The examples actually look pretty good to me, but I
    am not a beginner.)  A review of this sort might be helpful to your
    students.

https://cs.brown.edu/~sk/Publications/Papers/Published/mfk-measur-effect-error-msg-novice/paper.pdf

    is the paper Mark Guzdial mentioned, I think.

http://digitalcommons.morris.umn.edu/cgi/viewcontent.cgi?article=1029&context=horizons

    looks further at DrRacket (and also at C++).

http://www.cs.bham.ac.uk/research/projects/cogaff/sloman.beginners.html

    is about what beginners need in general, by someone who had a great
    deal to do with the POP-11 (POPLOG) system and teaching it.  He
    has little to say about error messages, but a fair bit of attention was
    given to them in POP-11, as I recall, and the editor VED was supposed
to help a lot. (Me, I was completely baffled by it...) This reminds me
    that some teaching environments used language-sensitive editors that
    tried to catch syntax errors as you typed.

http://se.ethz.ch/~meyer/publications/teaching/compiler-errors.pdf

    One of the authors is Bertrand Meyer, inventor of the Eiffel
    programming language, very keen on helping people to write
    correct programs, and amongst other things developer of a
    course (and associated book) using Eiffel, with some novel
    ideas.  "The results indicate that more detailed messages do
    not necessarily simplify the understanding of errors but that
    it matters more where information is placed and how it is
    structured."

http://www.chargueraud.org/research/2015/ocaml_errors/ocaml_errors.pdf

    This is specifically about type-error messages, a special problem for
    functional languages (SML, OCaml, F#, Clean, Haskell, Mercury) using
    type inference, where types can be quite complex.  Looks like a
    nice piece of work, but not really relevant to Python.  (The worse
    for Python!)

http://www.hindawi.com/journals/ahci/2010/602570/

    I suppose the Human-Computer Interaction field is where we should
    expect such things to be published.  I think you would agree with
    "It is striking that there is little concern on devising techniques to
    help the user of the system ... to do their job properly.  This issue
    is ignored, not only in compiler textbooks (no matter how recent
    ... or advanced ... they may be), but also, and most importantly,
    by current research directions.  This paper has a useful survey of
    previous work.

http://www.nomensa.com/blog/2010/4-rules-displaying-error-messages-user-experience-perspective

    is about error messages in form processing, but
    1. The error message needs to be short and meaningful
    2. The placement of the message needs to be associated
      with (the thing that's complained of).

https://web.cs.wpi.edu/~kfisler/Research/#novices

    mentions work Kathi Fisler is doing in this area; surprise surprise
    it's in the context of DrRacket.

http://gracelang.org/applications/home/

    Grace has already been mentioned in this thread.
    To me it looks harder to get started with than Python.

http://ints.io/daveagp/research/2015/error-frequency.pdf

    Asks which error messages are commonest because the
    author wanted to "write(e) error explanations for novices".
    Has "large data sets [for] Python and Java".
    Now this paper says "There is copious literature on writing
    good error messages" and lists 6 papers.  Explanations
    were written for 36 messages.  One of the papers is a
    1974 one "What the compiler should tell the user" that I
    was meaning to mention anyway, although it's rather
    batch-oriented.

    This might actually be directly useful to you.


Finally, why Python?  If your intention is to teach *data science*,
there is a case to be made for (shudder, nausea) Excel.  The
R programming language is admittedly somewhat arcane, but
"R Commander" (http://socserv.mcmaster.ca/jfox/Misc/Rcmdr/)
should be a lot easier for beginners to cope with.

I'm not saying that Python is *wrong*, especially not with NumPy,
SciPy, and so on available, just that it's not *obviously* the best
choice for teaching *data science*.  (For teaching *programming*,
that's another question.)





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