[PRL] Ramsey on FP
Matthias Felleisen
matthias at ccs.neu.edu
Sat Aug 23 12:18:14 EDT 2003
I think I sent this to the wrong person. Second try. -- Matthias
Begin forwarded message:
> From: Matthias Felleisen <matthias at ccs.neu.edu>
> Date: Sat Aug 23, 2003 9:48:18 AM US/Eastern
> To: prl at ccs.neu.edu
> Subject: Ramsey on FP
>
> Norman Ramsey is teaching a grad course on FP techniques.
> He is inviting people to join him if they are interested. At least
> for some of you, I think this is a wonderful opportunity to explore
> lazy FP and some advanced type topics and to get to know our
> one colleague at Harvard. -- Matthias
>
>
> Begin forwarded message:
>
>> From: Norman Ramsey <nr at eecs.harvard.edu>
>> Date: Fri Aug 22, 2003 3:47:41 PM US/Eastern
>> To: Matthias Felleisen <matthias at ccs.neu.edu>
>> Subject: Fall course
>>
>> Matthias,
>>
>> I'll be doing a seminar in functional programming this fall.
>> If any of your students are interested, I'd be pleased to have them.
>>
>>
>> Norman
>> Harvard University graduate course
>> CS252r-Advanced Functional Programming
>> Fall 2003
>>
>> Time and Place: WF 2:30-4:30, Maxwell Dworkin building
>> Dates: September 17 to December 12
>> Email: cs252r at eecs.harvard.edu
>> Home page: http://www.eecs.harvard.edu/~nr/cs252r/
>> Instructor: Norman Ramsey, Maxwell Dworkin 231
>> Teaching Fellow: Chung-Chieh (Ken) Shan, Maxwell Dworkin 221
>>
>> CS 252r will study advanced techniques in functional programming,
>> with
>> two ends in mind:
>> * To learn the best techniques used by functional programmers, so
>> you can use them in your work.
>> * To get a feel for some of the research questions at the
>> frontiers
>> of functional programming today.
>>
>> We will emphasize lazy functional languages such as Haskell; eager
>> languages get adequate coverage in the undergraduate curriculum. We
>> will also touch on topics in modules systems, which should be
>> relevant
>> to both lazy and eager languages.
>>
>> CS 252r will be run as a seminar; participants will meet twice
>> weekly to discuss papers. Each meeting will last two hours. We will
>> also spend some time presenting and discussing code written in
>> functional languages; we will study other people's code and write
>> some code ourselves. Because the seminar will be a collaborative
>> effort, we'll coordinate everything using a WikiWikiWeb, which is
>> located at http://liz.eecs.harvard.edu/cgi-bin/cs252r-wiki.pl. The
>> bulk of students' grades will be based on their class
>> participation, including contributions to the Wiki; a final project
>> may also be required. No examinations will be held.
>>
>> The class is in the spirit of the four Summer Schools on Advanced
>> Functional Programming (and we will read some papers from these
>> Schools). The exact topics to be covered will depend on the
>> interests
>> of the participants, but we expect to cover five themes:
>> * Basics of pure, lazy languages---why does any of this matter?
>> * How can a pure function do I/O? Monads!
>> * Type classes, which provide not only a principled approach to
>> overloading but also a slight flavor of
>> object-orientation---and
>> you can write Prolog programs in the type checker!
>> * Sexy types, including type variables of higher kind,
>> higher-rank
>> polymorphism, polymorphic recursion, and generic programming
>> * Modules, a deep area whose surface we will barely scratch
>>
>> The class will also include a few short programming exercises,
>> which
>> will be done partly in class and partly outside of class. We hope
>> to
>> organize these exercises around two problem domains:
>> * Construction of interpreters, which shows to advantage many of
>> the
>> language features we will be studying
>> * Functional abstractions for sensor networks, which is a
>> potential
>> area for new research and may be of special interest to
>> students
>> taking Harvard's CS 263 on peer-to-peer and sensor networks.
>>
>> Prerequisite
>>
>> Prospective participants must have some experience with functional
>> languages, preferably statically typed. CS 152 (Programming
>> Languages) covers functional programming at a suitable
>> level. Students without 152 or equivalent background must have the
>> instructor's permission to enroll in the course.
>
More information about the PRL
mailing list