Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
[Caml-list] Teaching OCaml
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2004-05-17 (21:14)
From: Evan Martin <martine@d...>
Subject: Re: [Caml-list] Teaching OCaml
On Mon, May 17, 2004 at 12:28:54PM +0100, Simão Melo de Sousa wrote:
> There is, in the Computer Science department of my university, a
> interesting discussion about the programming languages that we should
> teach.  Because I defend that functional programming (Haskell,
> etc... but Ocaml in particular) has to be teach among other
> "classical" paradigms, I have to prepare a talk about the relevance of
> the functional programming paradigm in general and OCaml in
> particular.

By "OCaml in particular", do you mean the ML family of languages?

I'm currently a teacher's assistant in an introductory programming
languages class at the University of Washington (USA, in Seattle), in
which we've spent about half of the class using New Jersey SML:
Visit for the course webpage, though it
doesn't discuss the motivations for choosing SML.  (The current
professor has indicated he wants to switch to OCaml but we're sticking
with SML for this quarter because that's what's been used in the past
and he's new here.)

(You weren't especially clear about the level of your class, so the rest
of this mail discusses teaching at the introductory level.)

Which programming language to teach as a "first Computer Science course"
is always under debate at this school; there's always tension between
teaching a language that is useful in the industry and teaching a
language that provides a good foundation for the concepts.

As for a class dedidicated to programming languages, I would say that
functional programming is of course important (there's a whole side of
history that includes LISP that feels like it's been more or less
forgotten by both the industry and the curriculum of school).  On top of
that, a language that forces you to be both careful and (sometimes)
explicit about types is a very valuable teaching tool.

Of course, Haskell fits that description as well as ML does.

To respond to some other threads: it seems doubtful to me that OCaml's
object oriented support would be useful for an introductory class.  I
think students who've only seen languages like Java have enough trouble
grasping currying.  :)

Evan Martin

To unsubscribe, mail Archives:
Bug reports: FAQ:
Beginner's list: