From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.1.3 Received: from discorde.inria.fr (discorde.inria.fr [192.93.2.38]) by yquem.inria.fr (Postfix) with ESMTP id E042CBC0A for ; Wed, 23 May 2007 00:10:25 +0200 (CEST) Received: from dedibox1.ambre.net (dedibox1.ambre.net [88.191.29.66]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id l4MMANCs029645 for ; Wed, 23 May 2007 00:10:25 +0200 Received: from [192.168.2.8] (rrcs-24-173-161-251.se.biz.rr.com [24.173.161.251]) by dedibox1.ambre.net (Postfix) with ESMTP id B01FF114C113 for ; Wed, 23 May 2007 00:10:22 +0200 (CEST) Subject: Teaching bottomline, part 2: what went right. From: David Teller To: OCaml Content-Type: text/plain Date: Tue, 22 May 2007 18:10:20 -0400 Message-Id: <1179871820.6966.77.camel@Blefuscu> Mime-Version: 1.0 X-Mailer: Evolution 2.10.1 Content-Transfer-Encoding: 7bit X-Miltered: at discorde with ID 46536A51.003 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; univ-orleans:01 recursive:01 ocaml:01 ocaml:01 univ-orleans:01 lifo:01 d'orleans:01 closures:01 abstract:01 functions:01 exercices:01 exceptions:01 marshal:01 loops:02 modules:02 A number of things went well, sometimes impressively. * A number of students seem to get the hang of functional programming (programming without side effects, returning closures, functions as first-class citizens, recursive loops...) * Modules seem generally rather well understood. * The students enjoyed Graphics immensely. * When asking students to write a specific function, it's much easier to show examples with OCaml than with, say, Java. Consequently, exercices are generally better understood. * Some of the students have started answering some mathematical questions with OCaml programs. * One of my students did manage to write a function with type 'a -> 'b without using Obj or Marshal. Others managed to explain me (almost) correctly why this shouldn't be possible. * The students seem to have understood exceptions, as well as file management. Two things they just couldn't do at all in Java. * Most students seem to have no problems using references when they need them. * I believe that students actually understand better Java now that they have seen something a bit more abstract. Plus they had much more fun. * #trace is good. Very good. -- David Teller ------------------------------------------ Security of Distributed Systems ----------------------- -- http://www.univ-orleans.fr/lifo/Members/David.Teller ----- Laboratoire d'Informatique Fondamentale d'Orleans