←back to thread

284 points borski | 3 comments | | HN request time: 0s | source
Show context
mrexroad ◴[] No.44685626[source]
Ga Tech used to teach Scheme as an intro to CS course. I vividly remember sitting in lecture and being struck w/ the implications of functional programming as the professor said you could pass functions into functions and modify them. It was as formative of a moment as my 2nd Grade teacher showing us a really complex looking (at the time) rainbow flower in LOGO (she had one of few color Mac classic), and showing us it was simply the work of drawing the path of one petal, then repeating same “work” after changing two values (starting angle and color).
replies(2): >>44687419 #>>44688652 #
cs_throwaway ◴[] No.44687419[source]
It is possible that this doesn't work anymore.

I distinctly recall the following episode when I last taught intro CS in Scheme: I revealed first-class functions. After lecture, the brightest kid in class came up to me and said something to the effect of, "What's the big deal? You can do this in Python."

replies(1): >>44688867 #
1. zahlman ◴[] No.44688867[source]
That should be the beginning of the formative experience for that kid rather than the end. Yes, you can. How often do you? What are you missing by not thinking about problems in that way more often? What idioms could be unlocked that way? (How many Python programmers out there are aping wholly unnecessary "design patterns" created for C++ or Java? Or rather: shouldn't a design pattern be about the design rather than the implementation? What is a design, in the pure abstract, really?)
replies(1): >>44690757 #
2. cs_throwaway ◴[] No.44690757[source]
Don’t worry, aforementioned kid is doing just fine, machine learning PhD IIRC. There is a lot of other remarkable stuff in modern computing.
replies(1): >>44697015 #
3. zahlman ◴[] No.44697015[source]
Oh, I don't doubt that. Smart kids usually land on their feet just fine (and even when they don't, they cope and mask their problems better). But when I get the opportunity to teach things, I strive to allow smart students to rise to their own level.