Live data from Hacker News

Conversations with a six-year-old on functional programming

byorgey.wordpress.com

111–120 of 319 posts

Re: Conversations with a six-year-old on functional programming

#111
post #90

I had a somewhat similar encounter with a 4 year old (!), who blew me away with his ability to solve arithmetic puzzles: http://heinrichhartmann.com/blog/2016/06/12/Box-Counting-Ari... It's a great joy to work with such gifted young minds.

Such precociousness is often[1] an indicator of abnormalities and handicapped general intelligence. For example, if our son independently began to read too early the initial reaction of my spouse, a Speech-Language Pathologist, would be to freak out rather than to be filled with pride. Perhaps you know this and used "gifted" in its more euphemistic sense. In any event, I mention this not to correct you but to address…

The comment above is condescending and misleading.

Being precocious doesn't mean autism, and no professional SLP would "freak out" at an early reader.

Being smart is an "abnormality", and autism is not "handicapped general intelligence".

Warning signs for autism include obsession with letters and numbers without understanding meaning, not being able to reason about math and discuss mathematical topics.

Re: Conversations with a six-year-old on functional programming

#112
post #45

Brent is one of the greatest teachers I've ever experienced. I used to take classes from him (and TA some others he taught) and was consistently blown away by his enthusiasm and capacity for sharing concepts. He has a great essay on pedagogy as well ( https://byorgey.wordpress.com/2009/01/12/abstraction-intuiti... ) If you're interested in learning some of the beautiful foundations of functional programming, I highly…

Agreed! I taught myself programming, and Haskell was my second language. I was at Penn so I emailed Brent out of the blue, and he responded and was so helpful with understanding helping me understand Monoids, not at all judgmental, and so different from all the educational experience I had up until then. And it was serious gateway drug to mathmatics. Funny thing is a few years later I TAed an advanced Haskell class with Stephanie Weirich (https://www.seas.upenn.edu/~cis552/current/index.html), who was Brent's thesis advisor. All started with Brent!

Re: Conversations with a six-year-old on functional programming

#113
post #99

Earlier quoted context omitted.

You did CS at Hendrix College? I did too ('11) and can't help mentioning it even though I have little to say... because hey, small school, tiny department, it's not often you run into another Hendrix CS alum, even virtually. And after years in "industry" I really appreciate the surprisingly good CS education there for a not well known school How's the dept doing these days? Is Ferrer still there?

Hi Domingo, This is Dr. Ferrer. I am pleased to tell you that I am still at Hendrix College, now completing my 16th year. We're doing well. We hired Dr. Mark Goodrich after Collins retired (2014), and we hired Dr. Brent Yorgey (the author of this blog post) in 2015 after Burch departed for Google. Both have been fantastic contributors to the CS program and to Hendrix College. I'm glad that your education has served y…

I love HN for all these random connections, even if I have no skin in the game!

Re: Conversations with a six-year-old on functional programming

#114

If this anecdote is credible (and I don't see any reason it wouldn't be) then in four years this kid will ask, "What are you reading?" and then the father will say what he's reading - and then sheepishly as for help from the ten year-old on the part he's stuck on. I mean this kid is clearly superlatively gifted.

The parent is also superlatively gifted.

http://ozark.hendrix.edu/~yorgey/

Re: Conversations with a six-year-old on functional programming

#115

Fun(ctional)! When my daughter was in 4th grade, I volunteer-taught a group of pull-out 4th–6th graders, so that she could have some peers to do math with. You might enjoy this set of math worksheets I created for them. https://www.scribd.com/document/15720543/Squarrows [EDIT: now also at https://drive.google.com/open?id=1hfzm3Rvm4xpwp_xHUKBHxuIEgf... ] I was learning category theory at the time. I gave them some ele…

Is there a non-scribd (Google Drive) way to download the PDF?

Re: Conversations with a six-year-old on functional programming

#116
post #3

What is truly astounding about this is the patience to even attempt to explain free theorems to a 6 year old. Most parents would likely answer "math" and that would be the end of it. I don't (yet) have kids, but when I do I hope I have the wherewithal to recognize and take advantage of moments like these.

I'm a father of two girls, ages four and nine. Explaining things to them and seeing the dawn of understanding in their eyes in easily my greatest joy in life. As a parent, I basically get to relive this xkcd[0], over and over, every day. We take it to an extreme - we unschool[1]. We do our best to treat our daughters as any other member of the family, expecting to act as adults to the extent that they're able to do s…

My problem is unschooling is that just because you’re not interested in something (as a kid) doesn’t mean you shouldn’t learn it.

It’d be nice if traditional school had a better balance where personal interests could be explored in a structured and formally accepted way.

Re: Conversations with a six-year-old on functional programming

#117
post #66

Earlier quoted context omitted.

A phrasing more to the point is that one expects the input to have some effect on the output . One usually obtains this by, colloquially speaking, performing actions on the input, since if you don't act upon the input in some way, you're going to get a constant result. Of course, you are correct in that some actions don't really do anything, but they're observationally indistinguishable from not acting on the input i…

Your comment seems confused in exactly the same way as coldtea's. How are you imagining turning input 20 into output 6 without acting on the input? If you don't act on the input, you have an identity function , not a constant function. Constant functions must alter their input whenever it doesn't match the constant output. Nobody ever complained that the problem with Procrustes was that he didn't do anything to the g…

A constant function doesn't act on its input. `f(x) = 6` doesn't perform a different action on each input. But given your comparison to `f(x) = 0*x + 6`, let's move away from numbers and consider a different function. `f'` which I'll define as:

    const :: a -> b -> a
    const a _ = a
    
    f' :: a -> ()
    f' = const ()
Now I can give `f'` anything at all. Can you try to explain the action of `f'` in any way but that it ignores its argument?

Re: Conversations with a six-year-old on functional programming

#118
post #115

Fun(ctional)! When my daughter was in 4th grade, I volunteer-taught a group of pull-out 4th–6th graders, so that she could have some peers to do math with. You might enjoy this set of math worksheets I created for them. https://www.scribd.com/document/15720543/Squarrows [EDIT: now also at https://drive.google.com/open?id=1hfzm3Rvm4xpwp_xHUKBHxuIEgf... ] I was learning category theory at the time. I gave them some ele…

Is there a non-scribd (Google Drive) way to download the PDF?

I put it at https://drive.google.com/open?id=1hfzm3Rvm4xpwp_xHUKBHxuIEgf.... Please let me know if that fails, and I’ll try to fix it.

Re: Conversations with a six-year-old on functional programming

#119

This is fantastic. Reminds me of Hofstadter's conversations between Achilles and a Tortoise. The trouble with most math I've encountered isn't the concepts, it's the quality of the abstractions we use to represent and interpret them. The best(worst) example I can think of is the Alice/Bob description of cryptographic protocols, where somebody's idea of teaching is, "let's take these symbolic representations and inste…

I disagree with your example being a bad and reason is right there in your comment: the word "protocol". From wikipedia we find that a "communication protocol is a system of rules that allow _two or more entities_ of a communications system to transmit information...", where I have underscored the essential phrase and cryptographic protocols are just a subset of communication protocols. The reason that Alice and Bob…

(A)lice and (B)ob set up a channel. (E)ve is an evesdropper.

When the only thing you change is to personify A, B, and E in your narrative description of a logical protocol, you are not making an analogy or an abstraction.

Sequence diagrams, BAN logic, UML, pseudo code and other protocol notations are not teaching analogies, they are specifications. Some more useful than others.

Teaching analogies and abstractions are more of a mix of use cases, literally analogous functional relationships, black boxing, edge cases and boundary conditions. The "why" behind the "how."

That Alice and Bob can be replaced in every situation with (A) and (B) means they are not abstractions or analogies, and are therefore patronizing cartoons that obfuscate useful information.

Re: Conversations with a six-year-old on functional programming

#120
post #111
post #90

Earlier quoted context omitted.

Such precociousness is often[1] an indicator of abnormalities and handicapped general intelligence. For example, if our son independently began to read too early the initial reaction of my spouse, a Speech-Language Pathologist, would be to freak out rather than to be filled with pride. Perhaps you know this and used "gifted" in its more euphemistic sense. In any event, I mention this not to correct you but to address…

The comment above is condescending and misleading. Being precocious doesn't mean autism, and no professional SLP would "freak out" at an early reader. Being smart is an "abnormality", and autism is not "handicapped general intelligence". Warning signs for autism include obsession with letters and numbers without understanding meaning , not being able to reason about math and discuss mathematical topics.

I never said precocious necessarily meant anything. And there's a reason I used the conjunctive "and" in "abnormalities and handicapped general intelligence", though I could have worded it better.

And I never said "early reader", I said "independently ... too early". Both qualifiers were intentional and important; in particular, I very much intended "too" to be non-specific.

And you're wrong about behaviors like hyperlexia, and wrong precisely in a way that proves my point. Hyperlexia also strongly correlates with obsessions with letters and numbers, but they're distinct phenomena. The latter is an even stronger indicator of autism, but many times hyperlexia is what both parents and others will take notice of first. (Which is a very important point--for this and other reasons, a young child that is both hyperlexic and shows obsessive traits, only the former is likely to be discussed in anecdotes about children with surprising abilities.)

My whole point was that for many of the examples and anecdotes you stumble across on the internet and in discussion, especially the more extreme ones, keep in mind that the children may have other, debilitating developmental abnormalities. Of course, it would be better if these stories received little or no interest or if people didn't naturally internalize these anecdotes in a way that leads to anxiety in their personal lives; but that's not how the majority of people naturally behave.

Regarding the alleged condescension, I possess professionally diagnosed traits that make me "gifted" in many senses of that word, including the euphemistic sense. What I find condescending is how people use "gifted" to elide the complex reality, rather than to put in the effort to discuss things in more concrete terms (i.e. with greater specificity and context), which is really the only way to both avoid prejudice and misunderstanding while being honest and respectful.

Post reply on HN