Browse thread
Teaching bottomline, part 3: what should improve.
- David Teller
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: | 2007-05-22 (22:10) |
From: | David Teller <David.Teller@u...> |
Subject: | Teaching bottomline, part 3: what should improve. |
Third and (probably) last part of my Teaching bottomline. I hope some of you find this useful. Let's start by problems I didn't cause. = Not my fault = == Environment == * OCamlWinPlus, in its current incarnation, is just awful. To improve it, one would need to fix the bugx, make it possible to remember the list of modules loaded, link it to the documentation, etc. * Camelia IDE is simple and good but difficult to install, as it requires Cygwin. It lacks project management, though -- and, now, ocamlbuild support. I believe that it could draw some inspiration from Dr.Java. * Students just can't install LablGtk, LablGl, Camlimage... by themselves, nor would I expect them to. A nice, centralised, installer, would be nice. * Building projects is just too hard. I hope ocamlbuild will solve this. * It seems that Graphics doesn't work with Cygwin, hence with Camelia for Windows. Which is bad, as they seem to enjoy both Graphics and Camelia. What prevents Graphics in Cygwin+X ? == Error messages == * Error messages of the type system are somewhat obscure. The reflex of many students is "OCaml wants it to be of type XXX", rather than "there is a contradiction in what I wrote". It would be nice if there was a way to ask OCaml to display additional information on type errors. Say something like, whenever typing of an expression fails, restarting the type algorithm but printing out the various unifications as they take place. == Documentation == * Documentation of LablTk is non-existent. I'm thinking about taking a student to write a more OCaml-ish layer on top of LablTk but I don't know if/when this will happen. * Type 'option' doesn't appear in the list of types of the documentation. Nor do 'Some' and 'None' appear in the list of values. * A nice *beginner-oriented* tutorial is really missing for students who failed to pay attention to the beginning of the lecture. Something more applied than _Developing applications with OCaml_ and less technical than http://ocaml-tutorial.org . Say, leading a beginner to define a Connect 4 game. I'm willing to participate into writing this, but not alone. I might launch a thread on this subject on the ML. = My fault = * That's not OCaml-specific but there must be some construction better suited than "for" or "while" to write loops without having to handcode a recursive loops. Right now, I can't think of anything better than a "hidden" Y combinator, but there must be something. * Arrays of arrays (of arrays...) are a bit obscure for students, although they're getting better at it. * Some students rely too much on references. * The usual note-taking/attention deficit/motivation deficit problems. * Anonymous functions are still beyond most of them. -- David Teller ------------------------------------------ Security of Distributed Systems ----------------------- -- http://www.univ-orleans.fr/lifo/Members/David.Teller ----- Laboratoire d'Informatique Fondamentale d'Orleans