Lambda the Ultimate

inactiveTopic Teaching Purely Functional Programming in First Year
started 8/22/2002; 5:44:10 AM - last post 8/23/2002; 2:07:59 AM
Ehud Lamm - Teaching Purely Functional Programming in First Year  blueArrow
8/22/2002; 5:44:10 AM (reads: 1318, responses: 2)
Teaching Purely Functional Programming in First Year
The Pros and Cons of Teaching Purely Functional Programming in First Year - DRAFT - Manuel M. T. Chakravarty and Gabriele Keller. Accepted for presentation at Functional and Declarative Programming in Education (FDPE02).

We argue that teaching purely functional programming as such in freshman courses is detrimental to both the curriculum as well as to promoting the paradigm. Instead, we need to focus on more general aims.

I like the fact that the authors are happy students found the exercises to be interesting. This goal is ignored all too often.

It's about time we have a SICP-like Haskell book.


Posted to teaching/learning by Ehud Lamm on 8/22/02; 5:44:32 AM

Chris - Re: Teaching Purely Functional Programming in First Year  blueArrow
8/22/2002; 9:09:47 PM (reads: 602, responses: 1)
When I was an undergrad, we used Pascal and C++. Lisp was given about one week as part part of a class on "other" programming languages. I didn't learn of or appreciate functional programming until years later. Many people I work with today do not even know that there is such thing as a functional programming language.

I had a friend from UC Berkeley. He said that first semester CS students take Scheme. Second semester they take assembly language. After that, other languages pretty much fall somewhere on the spectrum between those two languages. This is probably not the easiest way to learn computer programming, but I think it creates a broad, informed frame of reference.

Ehud Lamm - Re: Teaching Purely Functional Programming in First Year  blueArrow
8/23/2002; 2:07:59 AM (reads: 656, responses: 0)
Haskell ras a first language raises more interesting problems than Scheme, because it is both lazy and purely functional.