Functional programming entered our department in 89 when I
taught a science of programming course.  The original
intention of the course was probably to teach programming in
"Dijkstra-style".  I however thought that (i) pattern-
matching  (ii) recursively defined types and induction on
them (iii) equational reasoning to do transformational
programming (iv) polymorphic type inference etc. were
sufficiently formal and mathematical to justify adding FP to
the Science of Programming (SOP) course.  Needless to say,
the course was theoretical and "advanced," which means that
it did not influence anything else in the curriculum.

Our department has come some way from 1989.  For the last 3
years I have been teaching introduction to programming to
fresh students, using gofer in the last 2 years.

Since I expect that many of you would be in similar
scenarios, I am writing this to ask your opinion on the
following points:

  a.  The SOP course has after 3 years once again fallen
      into my lap.  I want to spend at least some fraction
      of the course in the science of functional
      programming.  For students who already know gofer and
      Bird and Wadler, what directions are open to me?

  b.  The algorithms course is likely to fall to me (or onto
      impressionable young teachers that I can influence!!)
      What material is available on the design and analysis
      of algorithms using a functional approach?

  c.  How would one run a data-structures course which
      follows an introductory programming course taught in a
      functional style?  This is a somewhat theoretical
      question in my context because in my world "data-
      structure" invariably means "pointer-structure."
      Nonetheless I am interested in the approaches others
      use.

Reply via email to