caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* Teaching bottomline, part 2: what went right.
@ 2007-05-22 22:10 David Teller
  2007-05-23  7:44 ` [Caml-list] " Hendrik Tews
  0 siblings, 1 reply; 3+ messages in thread
From: David Teller @ 2007-05-22 22:10 UTC (permalink / raw)
  To: OCaml



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


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

* Re: [Caml-list] Teaching bottomline, part 2: what went right.
  2007-05-22 22:10 Teaching bottomline, part 2: what went right David Teller
@ 2007-05-23  7:44 ` Hendrik Tews
  2007-05-23 12:54   ` David Teller
  0 siblings, 1 reply; 3+ messages in thread
From: Hendrik Tews @ 2007-05-23  7:44 UTC (permalink / raw)
  To: caml-list

David Teller <David.Teller@univ-orleans.fr> writes:

   * One of my students did manage to write a function with type 'a -> 'b
   without using Obj or Marshal. 

It's easy if the function doesn't have to terminate:

   let f x = raise Not_found;;

Does the students function terminate without exception or other
kinds of runtime errors?

Bye,

Hendrik


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

* Re: [Caml-list] Teaching bottomline, part 2: what went right.
  2007-05-23  7:44 ` [Caml-list] " Hendrik Tews
@ 2007-05-23 12:54   ` David Teller
  0 siblings, 0 replies; 3+ messages in thread
From: David Teller @ 2007-05-23 12:54 UTC (permalink / raw)
  To: Hendrik Tews; +Cc: caml-list

No, it fails at runtime, of course:
let f _ = List.hd []

I'm just happy that that student managed to produce such a function.
Remember that they've had only one term of OCaml/functional programming,
no type theory, no lambda-calculus, no semantics of programming
languages, etc.

Cheers,
 David


On Wed, 2007-05-23 at 09:44 +0200, Hendrik Tews wrote:
> David Teller <David.Teller@univ-orleans.fr> writes:
> 
>    * One of my students did manage to write a function with type 'a -> 'b
>    without using Obj or Marshal. 
> 
> It's easy if the function doesn't have to terminate:
> 
>    let f x = raise Not_found;;
> 
> Does the students function terminate without exception or other
> kinds of runtime errors?
> 
> Bye,
> 
> Hendrik
> 
> _______________________________________________
> Caml-list mailing list. Subscription management:
> http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
> Archives: http://caml.inria.fr
> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
> Bug reports: http://caml.inria.fr/bin/caml-bugs


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

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

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-05-22 22:10 Teaching bottomline, part 2: what went right David Teller
2007-05-23  7:44 ` [Caml-list] " Hendrik Tews
2007-05-23 12:54   ` David Teller

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).