teaching lambda calculus early
Sep. 15th, 2008 11:15 amI wonder... if we taught lambda calculus to high schoolers / college freshmen, wouldn't that be an excellent way to give them (1) skills to express themselves precisely, and (2) familiarity with abstract concepts?
As an added benefit, when they become instructors someday, they'll be able to write their textbooks and homeworks in a way that is unambiguous (all mathematical questions can be translated into questions about the output of a single computer program).
I think that most of the confusions experienced by people studying math (regardless of level) are about variable binding, quantifier scope, etc. I have a BS degree in math (and a Master's in logic), and most of my confusions are of this type also, when I'm learning unfamiliar math.
Isn't the meaning of the word "abstraction" fully captured by lambda abstraction?
The idea of first-class functions is all about turning verbs into nouns... Function calls are usually understood as applying a verb to a list of nouns. Dealing with first-class functions involves changing (extending) metaphors: now, functions can be objects too, i.e. verbs can be nouns too. This may be related to the fact that computer scientists like making nouns out of verbs, verbs out of adjectives, etc.
The extended metaphor may be that functions are "machines": they do something but they can also be fed into other machines.
---
Tangentially, Kiczales's class has interesting reading: Lucy Suchman - Human Machine Reconfigurations
As an added benefit, when they become instructors someday, they'll be able to write their textbooks and homeworks in a way that is unambiguous (all mathematical questions can be translated into questions about the output of a single computer program).
I think that most of the confusions experienced by people studying math (regardless of level) are about variable binding, quantifier scope, etc. I have a BS degree in math (and a Master's in logic), and most of my confusions are of this type also, when I'm learning unfamiliar math.
Isn't the meaning of the word "abstraction" fully captured by lambda abstraction?
The idea of first-class functions is all about turning verbs into nouns... Function calls are usually understood as applying a verb to a list of nouns. Dealing with first-class functions involves changing (extending) metaphors: now, functions can be objects too, i.e. verbs can be nouns too. This may be related to the fact that computer scientists like making nouns out of verbs, verbs out of adjectives, etc.
The extended metaphor may be that functions are "machines": they do something but they can also be fed into other machines.
---
Tangentially, Kiczales's class has interesting reading: Lucy Suchman - Human Machine Reconfigurations
(no subject)
Date: 2008-09-15 10:33 pm (UTC)Seriously, though, I think it makes sense to teach lambda calculus somewhere between basic algebra and basic calculus.
(no subject)
Date: 2008-09-15 10:42 pm (UTC)(no subject)
Date: 2008-09-15 11:13 pm (UTC)(no subject)
Date: 2008-09-16 12:41 am (UTC)(no subject)
Date: 2008-09-16 12:38 am (UTC)yesyesyesyesyes
i dispute that everything "abstraction" means is captured in lambda abstraction. for one, there are so many other things one can abstract over. but it's definitely a very good introduction to the idea of abstraction, which i think is sorely sorely missing in high school education and earlier.
(no subject)
Date: 2008-09-16 12:50 am (UTC)(no subject)
Date: 2008-09-16 12:52 am (UTC)(no subject)
Date: 2008-09-16 12:57 am (UTC)(no subject)
Date: 2008-09-16 01:05 am (UTC)(no subject)
Date: 2008-09-16 09:14 pm (UTC)It's an important concept in discrete math, to be sure, but even there I'm not sure that "most" is quite right. There's plenty of other confusions to go around, and lambda calculus isn't confusion-free on its own.
That said, I think the lambda calculus (and various other bits of computer science) is probably a good thing to teach early, though perhaps less abstractly than in the standard university course. A lot of people (hi!) don't really get off on the pure beauty of it all and need to be engaged in other ways.
(no subject)
Date: 2008-09-16 12:53 am (UTC)(no subject)
Date: 2008-09-16 12:56 am (UTC)(no subject)
Date: 2008-09-16 09:08 pm (UTC)