caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* Teaching bottomline, part 3: what should improve.
@ 2007-05-22 22:10 David Teller
  2007-05-22 22:22 ` [Caml-list] " William D. Neumann
                   ` (4 more replies)
  0 siblings, 5 replies; 43+ messages in thread
From: David Teller @ 2007-05-22 22:10 UTC (permalink / raw)
  To: OCaml

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


^ permalink raw reply	[flat|nested] 43+ messages in thread

end of thread, other threads:[~2007-05-24 15:01 UTC | newest]

Thread overview: 43+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-05-22 22:10 Teaching bottomline, part 3: what should improve David Teller
2007-05-22 22:22 ` [Caml-list] " William D. Neumann
2007-05-23 13:07   ` David Teller
2007-05-22 22:26 ` Erik de Castro Lopo
2007-05-22 23:16 ` skaller
2007-05-23  2:46   ` David Thomas
2007-05-23  9:19   ` Vincent Hanquez
2007-05-23 12:49     ` Brian Hurt
2007-05-23 13:36       ` Gerd Stolpmann
2007-05-23 14:06         ` skaller
2007-05-23 14:54       ` Florian Hars
2007-05-23 15:11         ` Brian Hurt
2007-05-23 21:48       ` Vincent Hanquez
2007-05-24  8:04         ` Markus E.L.
2007-05-24  8:32           ` Vincent Hanquez
2007-05-24  9:51             ` skaller
2007-05-24 11:22               ` Vincent Hanquez
2007-05-23 13:55   ` David Teller
2007-05-22 23:19 ` skaller
2007-05-23 10:41   ` Richard Jones
2007-05-23 13:04     ` David Teller
2007-05-24 13:51       ` Richard Jones
2007-05-24 14:00         ` Robert Fischer
2007-05-24 14:00       ` Jon Harrop
2007-05-24 14:20         ` Robert Fischer
2007-05-24 14:34         ` David Teller
2007-05-24 14:21       ` skaller
2007-05-22 23:39 ` Jon Harrop
2007-05-23 18:54   ` Richard Jones
2007-05-23 19:27     ` Robert C Fischer
2007-05-23 19:34       ` Brian Hurt
2007-05-23 19:54         ` Robert Fischer
2007-05-23 21:46       ` Jon Harrop
2007-05-23 22:14         ` Jacques Garrigue
2007-05-24  1:38           ` Revolution Jon Harrop
2007-05-24  2:40             ` [Caml-list] Revolution skaller
2007-05-24  3:21             ` Chris King
2007-05-24 14:24               ` David Teller
2007-05-24 13:40         ` [Caml-list] Teaching bottomline, part 3: what should improve Brian Hurt
2007-05-23 19:29     ` Jon Harrop
2007-05-23 20:20   ` David Teller
2007-05-24 14:18     ` Jon Harrop
2007-05-24 14:23     ` skaller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).