From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id XAA20716; Mon, 17 May 2004 23:14:19 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id XAA20703 for ; Mon, 17 May 2004 23:14:17 +0200 (MET DST) Received: from mxout6.cac.washington.edu (mxout6.cac.washington.edu [140.142.33.20]) by concorde.inria.fr (8.12.10/8.12.10) with ESMTP id i4HLEFSH028917 for ; Mon, 17 May 2004 23:14:16 +0200 Received: from mailhost2.u.washington.edu (mailhost2.u.washington.edu [140.142.33.2]) by mxout6.cac.washington.edu (8.12.11+UW04.02/8.12.11+UW04.03) with ESMTP id i4HLE0q0021335; Mon, 17 May 2004 14:14:01 -0700 Received: from lulu (mobile258.dyn.cs.washington.edu [128.208.7.79]) by mailhost2.u.washington.edu (8.12.11+UW04.02/8.12.11+UW04.03) with ESMTP id i4HLE0Ce008563; Mon, 17 May 2004 14:14:00 -0700 Received: from martine by lulu with local (masqmail 0.2.20) id 1BPpPm-6Rw-00; Mon, 17 May 2004 14:12:50 -0700 Date: Mon, 17 May 2004 14:12:50 -0700 From: Evan Martin To: =?iso-8859-1?Q?Sim=E3o?= Melo de Sousa Cc: caml-list@inria.fr Subject: Re: [Caml-list] Teaching OCaml Message-ID: <20040517211250.GB24708@lulu> References: <40A8A1F6.3090604@di.ubi.pt> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <40A8A1F6.3090604@di.ubi.pt> User-Agent: Mutt/1.5.5.1+cvs20040105i X-Miltered: at concorde with ID 40A92B27.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Loop: caml-list@inria.fr X-Spam: no; 0.00; evan:01 caml-list:01 2004:99 haskell:01 introductory:99 seattle:99 motivations:01 introductory:99 haskell:01 threads:01 ocaml's:01 who've:01 currying:01 evan:01 ocaml:01 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk 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 http://www.cs.washington.edu/341 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 martine@danga.com http://neugierig.org ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners