Functional Language Teaching Survey [V. Long ~800 lines] 
Author Message
 Functional Language Teaching Survey [V. Long ~800 lines]

        Functional Language Teaching Survey : Version 3
        ===============================================

1. Introduction
---------------

This document started out as a summary of replies to a message I sent to the FP
mailing list about the teaching of functional programming "around the world".
I wanted this information to provide evidence to support my belief that we
should be teaching a functional language as the "first language" to our
undergraduates here at Newcastle. This debate/argument/war continues...

As usual with things like this I seem to have lumbered myself with maintaining
an informal "database" of this information. These things happen :-).

Here then is version 3. The format is as follows :

        1. Corrections to version 2.
        2. Tables showing use of particular languages, type of students being
           taught and recommended texts.
        3. The names and E_Mail addresses of the respondents.

I originally asked for respondents to provide a few comments about their
experiences with teaching functional programming which I then precised (sp?)
for this survey. Due to the length of this document (and the amount of work
involved) I've decided to discontinue this. If you want more information I
suggest you E_Mail the individual respondents.

As usual, I'd be grateful for any information about functional language
teaching which people send me. Send your information to :


My snail_mail address and phone number are at the end of this document. The
preferred "format" for messages is :

        Institution
        Respondent's name
        Respondent's E_Mail address
        Respondent's department
        Language(s) taught
        Student(s) taught (e.g. UG1,UG2,UG3,UG4, MSc, Ph.D. etc)
        First language?
        Course subject (FP language or other)
        Recommended textbook(s)

Students Taught : Where possible I try to distinguish between MSc. and Ph.D.
students. Where this isn't possible just use PG.

First language : Is a functional language the first programming language these
students learn?

Course subject : Is the primary purpose of the course to teach a functional
language or is the functional language just a medium for conveying algorithms.

The other "fields" are self-explanatory (I hope).

My thanks to everyone who's responded so far, particularly Dave Berry from
Edinburgh who put out a request for information on the SML mailing list
(replies included below). This document has been sent on the FP mailing list
and posted to the comp.lang.functional newsgroup. If anyone has access to a
mailing list that this survey could usefully be posted to then feel free to
forward it.

Finally, my apologies to anyone I've misrepresented in this survey. I will
correct any mistakes I'm informed of in version 4 which should appear later in
the summer.

2. Corrections To Version 2
---------------------------

2. Glasgow University, Scotland, U.K.

Phil Wadler tells me that they use [Bird & Wadler]. As he mentioned, this
should not surprise anyone.

5. Oxford University, Oxford, U.K.

Ditto.

4. Heriot-Watt University, Edinburgh, Scotland, U.K.

Apart from my inability to spell Edinburgh Greg Michaelson tells me that they
only teach SML and not ML as well and that they recommend [Wilkstrom] and
[Reade].

13. University of Sussex, England, U.K.

Dave Berry from Edinburgh informs me that Sussex's PML (which was an "in-house"
version of ML) is now a full implementation of Standard ML and is now a
standard part of the Poplog distribution.

3. Institutions Covered
-----------------------

The list of institutions was originally in alphabetical order. As information
about more institutions has arrived I've just added them onto the end of the
list. Consequently the ordering of institutions now has no significance beyond
when they first appeared in the survey.

3.1 Old Institutions

These are the institutions which appeared in versions 1 and 2 of the survey.

1.      Universite de Montreal, Montreal, Quebec, Canada
2.      Glasgow University, Glasgow, Scotland, U.K.
3.      Hatfield Polytechnic, Hatfield, England, U.K.
4.      Heriot-Watt University, Endinburgh, Scotland, U.K.
5.      Oxford University, Oxford, England, U.K.
6.      Nottingham Polytechnic. Nottingham, England, U.K.
7.      St. Andrews University, St. Andrews, Scotland, U.K.
8.      South Bank Polytechnic, London, England, U.K.
9.      University College London, London, England, U.K.
10.     University of Bristol, Bristol, England, U.K.
11.     University of Newcastle, Newcastle, England, U.K.
12.     University of Stirling, Stirling, Scotland, U.K.
13.     University of Sussex, England, U.K.
14.     University of York, York, England, U.K.
15.     Indiana University, Bloomington, Indiana, U.S.A.
16.     Massachusetts Institute of Technology, U.S.A.
17.     Oregon Graduate Institute, U.S.A.
18.     Simon Fraser University, Burnaby, British Columbia Canada
19.     SUNY, Stony Brook, U.S.A.
20.     University of Alabama at Birmingham, Birmingham, Alabama, U.S.A.
21.     University of Texas at Austin, Austin, Texas, U.S.A.
22.     University of Wisconsin-Milwaukee, Milwaukee, Wisconsin, U.S.A.
23.     Yale University, U.S.A.
24.     Chalmers University of Technology / University of Goteborg, Sweden
25.     Imperial College, University of London, London, England, U.K.
26.     Queen Mary & Westfield College, University of London, London,
        England, U.K.
27.     University of East Anglia, England, U.K.
28.     University Of Essex, England, U.K.

3.2 New Institutions

Institutions new to version 3 are :

29.     University of Edinburgh, Edinburgh, Scotland, U.K.
30.     Brunel University, London, England, U.K.
31.     Carnegie Mellon University, Pittsburgh, U.S.A.
32.     University College of Swansea, Swansea, Wales, U.K.
33.     University of Umea, S-901 87 Umea, Sweden

4. Languages Used
-----------------

Languages used :

Language                        Institutions Using Language     Total number
ML                              7,32                             2
SML                             3,4,6,12,13,17,19,20,21,24,26,  15
                                29,30,32,33
LML                             2,17,20                          3
                                                                --
Total "ML" style                                              20
                                                                --

Miranda                         1,2,9,10,18,21,22,25,26,27,28,  12
                                33
Orwell (Similar to Miranda)     2,5                              2
Glide (Similar to Miranda)      14                               1
                                                                --
Total "Miranda" style                                         15
                                                                --

Common Lisp                     20                               1
Lisp                            26                               1
Hope                            6,8,25                           3
Scheme                          15,16,24                         3
SASL                            7,11,22                          3
FP                              22                               1
Alfl                            23                               1
Id                              16                               1
                                                                --
Total "other" style                                           14
                                                                --

The types of students who have functional programming inflicted upon them are :

Students                Institution                                     Total
UG1                     1,3,5,9,10,13,15,16,23,24,25,27,29,30,32,33     16
UG2                     2,5,6,7,11,14,16,25,26,28,29,32,33              13
UG3                     2,4,6,7,10,14,15,19,21,22,23,25,28,29           14
UG4                     2,15,18,19,20,21,22,23,25,29,33                 11
PG                      1,4,8,9,10,11,12,13,15,16,17,18,19,22,23,25,    21
                        26,28,29,30,31

5. Textbooks Used
-----------------

Some people mentioned their own "In house" notes but this is restricted to
commercially published texts.

[Abelson & Sussman]
         "Structure and Interpretation of Computer Programs"
         H. Abelson and J. Sussman
        Institutions : 16,24

[Aho,Hopcroft & Ullman]
        "Data structures and algorithms"
        A. Aho,J. Hopcroft and J. Ullman
        Institutions : 33

[Bird & Wadler]
        "Introduction to Functional Programming"
        R. Bird and P. Wadler

[Field & Harrison]
        "Functional Programming"
        A. Field and P. Harrison
        Institutions : 1,6,22,25

[Henderson]  
        "Functional Programming : Application and Implementation"
        P. Henderson
        Institutions : 17

[Henson]
        "Elements of Functional Languages"
        M. Henson
        Institutions : 6,28,33

[Peyton Jones]
        "The Implementation of Functional Programming Languages"
        S. Peyton Jones
        Institutions : 1,21

[Reade]
        "Elements of Functional Programming"
        C. Reade
        Institutions : 4,6,30

[Schmidt]
        "Denotational Semantics : A Methodology for Language Development"
        D. Schmidt
        Institutions : 33

[Springer & Friedman]
        "Scheme and the Art of Programming"
        G. Springer and D. Friedman
        Institutions : 15

[Wikstrom]
        "Functional Programming Using standard ML"
        A. Wikstrom
        Institutions : 4,6,13,17,24,33

6. Contacts List
----------------

1.      Universite de Montreal, Quebec, Canada
        Contact         : Guy Lapalme

        Department      : Informatique et Recherche Operationnelle

        Students/Course : UG1 - after a semester of introductory Pascal
        Language        : Miranda
        Text            : [Bird & Wadler]

        Students/Course : PG (Implementation oriented course)
        Language        : Miranda
        Text            : [Peyton Jones]

------------------------------------------------------------------------------

2.      Glasgow University, Scotland, U.K.
        Contact         : John Hughes

        Students/Course : UG2 - Data structures via functional programming.
                          UG3 - Introduction to functional programming.
                          UG4 - More advanced course including transformation
                                and partial evaluation.
        Languages       : Miranda, Orwell, LML
        Text            : [Bird & Wadler]

------------------------------------------------------------------------------

3.      Hatfield Polytechnic, England, U.K.
        Contact         : John Wild

        Department      : Computer Science
        Students/Course : UG1 - First programming language
        Language        : ML in 1984-85, SML from 1986 on.
        NB. John was at Hatfield from 1983. He went to Southampton University
            in 1989. This information may be out of date - there was talk of
            moving to a lazy language.

------------------------------------------------------------------------------

4.      Heriot-Watt University, Endinburgh, Scotland, U.K.
        Contact         : Greg Michaelson

        Students/Course : UG3, PG - MSc.
        Language        : SML
        Text            : [Reade], [Wikstrom]

------------------------------------------------------------------------------

5.      Oxford University, England, U.K.
        Contact         : Richard Bird

        Students/Course : UG1 Maths and Computation - First language
                          UG2 Engineering and Computing
        Language        : Orwell (very similar to Miranda)
        Text            : [Bird & Wadler]

------------------------------------------------------------------------------

6.      Nottingham Polytechnic. England, U.K.
        Contact         : Alan Battersby

        Department      : Computing

        Students/Course : UG2 BSc. Computing Systems
        Language        : SML
        Text            : [Reade], [Wikstrom]

        Students/Course : UG3 BSc. Computing (Part Time) (Next year UG2)
        Language        : Hope
        Text            : [Field & Harrison], [Reade], [Henson]

------------------------------------------------------------------------------

7.      St. Andrews University, Scotland, U.K.
        Contact         : Tony Davie

        Students/Course : UG2
        Language        : SASL

        Contact         : Roy Dyckhoff

        Students/Course :
        Language        : ML

        Students/Course : UG3
        This is an implementation oriented course including lambda calculus,
        SECD and G-Machines.

------------------------------------------------------------------------------

8.      South Bank Polytechnic, London, England, U.K.
        Contact         : Peter Young

        Students/Course : PG - MSc. in Information Systems Engineering (1987-88)
                          (Abstract data types and functional programming
                          section of Software Engineering Option)
        NB : Pete attended this course in 87/88 so the information may be out
             of date by now. He now works for British Telecom. Course tutor was
             Simon Kestner from the Mathematics Department.

------------------------------------------------------------------------------

9.      University College London, England, U.K.
        Contact         : Chris Clack

        Students/Course : UG1 - First language?, PG - MSc. conversion course.
        Language        : Miranda
        NB : May use Miranda as first language for PGs as C++ has been
             a disaster.

        The next two entries for UCL come from Simon Peyton Jones

        The information conflicts with that above so I suppose one of them must
        be wrong. Since Simon is no longer at UCL the tables above assume Chris
        is correct.

        Contact         : John Campbell

        Students/Course : UG1 - First language?
        Language        : Scheme

        Contact         : Simon Peyton Jones

        Students/Course : PG - MSc. Conversion Course option in functional
                          programming.
        Language        : SASL
        Text            : [Bird & Wadler]

------------------------------------------------------------------------------

10.     University of Bristol, England, U.K.
        Contact         : Ian Holyer

        Department      : Computer Science

        Students/Course : UG1 Computer Science, CS with Maths, CS with a Modern
                          language, and Science Faculty Students with CS
                          subsidiary - First language (?)
        Language        : Miranda. Hoping to switch to Haskell next year.
        Text            : [Bird & Wadler] and "In house" notes which may be
                          expanded into a book.
        NB : 14 out of 72 lectures on Miranda, rest on Modula-2 and general
             issues.

        Students/Course : UG3/MSc. Functional Programming Option
        Language        : As above?
        Text            : As above?

------------------------------------------------------------------------------

11.     University of Newcastle, England, U.K.
        Contact         : Martin McLauchlan

        Department      : Computing Laboratory
        Students/Course : UG2, PG (MSc. conversion course) - 6 lecture
                          introduction to functional programming
        Language        : SASL
        Text            : [Bird & Wadler], [Field & Harrison]

------------------------------------------------------------------------------

12.     University of Stirling, Scotland, U.K.
        Contact         : Simon Jones

        Department      : Computer Science
        Students/Course : UG4
        Language        : SML

------------------------------------------------------------------------------

13.     University of Sussex, England, U.K.
        Contact         : Gavin Wraith

        Department      : Mathematics
        Students/Course : UG1 Fundamentals of Computer Science course
        Language        : PML ("In house" ML)
        Text            : [Wikstrom]

------------------------------------------------------------------------------

14.     University of York, England, U.K.
        Contact         : Colin Runciman

        Department      : Computer Science
        Students/Course : UG2, PG (MSc)
        Language        : Glide ("In house" - similar to large subset of
                          Miranda or LML. Move to Haskell may be imminent)

------------------------------------------------------------------------------

15.     Indiana University, Bloomington, Indiana, U.S.A.
        Contact         : Chris Haynes

        Department      : Computer Science
        Students/Course : UG1 Introductory Programming
        Language        : Scheme (Functional subset used for 75% of course)
        Text            : [Springer & Friedman]

        Students/Course : UG3/UG4/PG Programming Languages
        Language        : Scheme
        Text            : "In house" notes for this course which are soon to be
                          published as a programming languages text.
        NB : Emphasis in this course is on the use of Scheme interpreters to
             study a variety of principles in programming languages semantics.

------------------------------------------------------------------------------

16.     Massachusetts Institute of Technology, U.S.A.
        Contact         : Rishiyur S. Nikhil

        Students/Course : UG1, UG2 Structure and Interpretation of Computer
                          Programs
        Language        : Scheme
        Text            : [Abelson & Sussman] and "Notes on Parallel
                          Computation", by Rishiyur S. Nikhil

        Students/Course : PG Dataflow Architecture and Languages
        Language        : Id, Scheme
        Text            :  "Programming in Id: a parallel programming language"
                           DRAFT, by Rishiyur S. Nikhil and Arvind

------------------------------------------------------------------------------

17.     Oregon Graduate Institute, U.S.A.
        Contact         :{*filter*} Kieburtz

        Students/Course : PG - MSc., Ph.D.
        Language        : SML, LML
        Text            : [Bird & Wadler], [Henderson], [Wikstrom]

------------------------------------------------------------------------------

18.     Simon Fraser University, Burnaby, British Columbia Canada
        Contact         : Warren Burton

        Department      :
        Students/Course : UG4, PG Functional Programming
        Language        : Miranda

------------------------------------------------------------------------------

19.     SUNY, Stony Brook, USA
        Contact         : prateek mishra

        Students/Course : UG3,UG4,PG
        Language        : SML

------------------------------------------------------------------------------

20.     University of Alabama at Birmingham, Alabama, U.S.A.
        Contact         : Barrett Bryant

        Students/Course : UG4
        Language        : Common Lisp, Standard ML, and possibly Lazy ML.

------------------------------------------------------------------------------

21.     University of Texas at Austin U.S.A.
        Contact         : Hamilton Richards

        Department      : Computer Sciences
        Students/Course : UG3/UG4 Functional Programming option
        Language        : Miranda
        Text            : [Bird & Wadler]

        Students/Course : UG Programming Languages (4 lectures out of 26)
                          Just the bare basics.
        Language        : Miranda, SML
        Text            : [Bird & Wadler]

        Students/Course : PG Functional Programming and Implementation
        Text            : [Bird & Wadler], [Peyton Jones]

        Contact         : Dino Pedreschi

        Department      : Computer Sciences
        Students/Course : PG Functional Programming
        Language        : Miranda
        NB : Dino is currently on leave from the Computer Science Department at
             the University of Pisa, Italy. He taught this course last term
             (Autumn 89).

------------------------------------------------------------------------------

22.     University of Wisconsin-Milwaukee, Milwaukee, Wisconsin, U.S.A.
        Contact         : Deborah Knox

        Department      : Elec. Engr. & Computer Science
        Students/Course : UG3, UG4, PG.
        Language        : SASL, FP
        Text            : [Bird & Wadler]

        Students/Course : PG only (MSc. and Ph.D.)
        Language        : Miranda
        Text            : [Field & Harrison]

        NB : The text and languages used for these courses has varied
             depending on what was available when the course was taught. Above
             is last used version (I think...).

------------------------------------------------------------------------------

23.     Yale University, U.S.A.
        Contact         : Paul Hudak

        Department      : Computer Science
        Students/Course : UG3,UG4, All PG
        Language        : Alfl (soon to be changed to Haskell)
        NB : Introductory courses are taught mostly using Scheme or T.

------------------------------------------------------------------------------

24.     Chalmers University of Technology/ University of Goteborg, Sweden
        Contact         : Ake Wikstrom

        Department      : Computer Science

        Students/Course : UG1, Programming Techniques, Chalmers
        Language        : SML
        Text            : [Wikstrom]

        Students/Course : UG1, Programming Techniques, Gbg Univ.
        Language        : SML, Scheme
        Text            : [Wikstrom], [Abelson&Sussman]

        Course          : Programming languages and Compiling Techniques
        Language        : SML
        Text            : Special notes

        Course          : Artificial Intelligence
        Language        : SML and Scheme
        Text            :

        Course          : Foundations of Computer Science
        Language        : SML
        Text            : [Wikstrom]

------------------------------------------------------------------------------

25.     Imperial College, University of London, England, U.K.
        Contact         : Paul Kelly

        Students/Course : UG1. Integrated programming and maths course.
        Language        : Miranda.
        Text            :

        Students/Course : UG2. Language Processors (i.e. compilers)
        Language        : Hope
        Text            :

        Students/Course : UG3,UG4,PG. Optional courses on program
                          transformation, theoretical foundations, lambda
                          calculus, pattern matching, graph reduction, type
                          checking, algebraic transformation, abstract
                          interpretation and parallel functional programming.
        Language        :
        Text            : [Field & Harrison]

------------------------------------------------------------------------------

26.     Queen Mary & Westfield College, University of London, England, U.K.
        Contact         : Keith Clarke

        Department      :

        Students/Course : UG2
        Language        : SML & LISP (poplog environment)
        Text            :

        Students/Course : PG - MSc conversion Introductory Programming
        Language        : SML (simultaneously with Modula-2)
        Text            :

        Students/Course : UG4
        Language        : SML, Miranda, LISP
        Text            :

------------------------------------------------------------------------------

27. University of East Anglia, England, U.K.
        Contact         : Anthony Clare

        Contact         : Ronan Sleep

        Department      :

        Students/Course : UG1
        Language        : Miranda (after a term of Pascal)
        Text            : [Bird & Wadler]

        This information comes from Kevin Hammond at Glasgow University

------------------------------------------------------------------------------

28.     University Of Essex, England, U.K.
        Contact         : Martin Henson

        Students/Course : UG2. PG. 10 hours. Taught with other modules on
                          computability and other foundation topics.
        Language        : Miranda
        Text            : [Bird+Wadler], [Henson] (recommended reading rather
                                                   than course texts)

        Students/Course : UG3. PG. 40+ hours. Topics stressed are program
                          verification and transformation.
        Language        : Miranda
        Text            : [Bird+Wadler], [Henson] (recommended reading rather
                                                   than course texts)

------------------------------------------------------------------------------

29.     University Of Edinburgh, Edinburgh, Scotland, U.K.
        Contact         : Dave Berry

        Department      : Computer Science

        Students/Course : UG1,
                          UG2 (for practical work),
                          UG3 ("algorithm" language in {e.g.} knowledge based
                               systems course),
                          UG4 (project work),
                          MSc (Software tools course),
                          Ph.D.

        Language        : SML
        Text            : [Reade], [Wilkstrom]

------------------------------------------------------------------------------

30.     Brunel University, London, England, U.K.          
        Contact         : Chris Reade

        Department      :

        Students/Course : UG1 - First language
                          MSc (Advanced workshop projects)

        Language        : SML
        Text            : [Reade]

------------------------------------------------------------------------------

31.     Carnegie Mellon University, Pittsburgh, U.S.A.
        Contact         : Frank Pfenning

        Department      : School of Computer Science

        Students/Course : PG (Course on advanced lambda calculii)

        Language        : ML

------------------------------------------------------------------------------

32.     University College of Swansea, Swansea, Wales, U.K.
        Contact         : John Sharp

        Department      : Computer Science

        Students/Course : UG1 (Functional programming course)
                          UG2 (Theory/Lambda calculus)
        Language        : SML

        NB. The UG2 course will be given for the first time in the next
            academic year (I think).

------------------------------------------------------------------------------

33.     University of Umea, S-901 87 Umea, Sweden
        Contact         : Lennart Edblom

        Department      : Computer Science

        Students/course : UG1. Programming methodology (first language taught)
        Language        : SML
        Text            : [Wikstrom]

        Students/course : UG2. Algorithms and data structures
        Language        : SML
        Text            : [Wikstrom], [Aho, Hopcraft & Ullman]

        Students/course : UG4.Programming language theory (Denotational
                          semantics as "advanced functional programming" -
                          optional course)
        Language        : Miranda (mostly)
        Text            : [Henson], [Schmidt]

/user4/staff/ndah/Mail/fpt/summaries---------------------------------


Computing Laboratory                    PHONE: +44 91 222 7784
University of Newcastle upon Tyne
Newcastle upon Tyne NE1 7RU
U.K.

        Efficient : A program which delivers the wrong answer with minimal
                    space and time requirements.



Mon, 02 Nov 1992 17:01:32 GMT  
 
 [ 1 post ] 

 Relevant Pages 

1. ! PSYCHIC SAMPLES LINE/TRY IT FREE 1-800-688-15784

2. C++ vs Eiffel vs Smalltalk (warning--long language war)

3. C++ vs Eiffel vs Smalltalk (warning--long language war)

4. 800 x 600 vs 640 x 480 woes

5. Petit survey: What functional language do you use?

6. survey replies: functional languages and GUI's

7. survey: functional languages and GUI's

8. Survey of functional languages

9. Survey of functional languages

10. Looking for a Functional Language Article Abstract Survey

11. Scientific programming in functional languages (LONG)

12. Benchmarks: Functional vs Imperative Languages

 

 
Powered by phpBB® Forum Software