Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I'm not going to downvote you but this is pretty joyless

Just because the writing is not up to your standards doesn't mean the kid wasn't astonished when they realized you could put a function in a function. Kids love meta stuff (there's a book my niece & nephew were talking about and they were like "it's so weird!!" -- it was meta)

Also it's not that hard of a concept. Give kids some credit.



> Kids love meta stuff

Agreed!

> doesn't mean the kid wasn't astonished when they realized you could put a function in a function

This is where my credulity was stretched. It's interesting and exciting when you first learn about it only if it breaks a rule you've long had in your mind and enables you to do more interesting things.

A 6-year-old child hadn't spent years assuming you can't put a function in a function, and they'd have not the slightest idea what you could now do with it.

Generally, very small children have very flexible ideas about the structure and rules of the physical world, so showing them "math tricks" often earns you a, "Duh, of course you can do that!" reaction when you instead expect astonishment. The exception is when they've been doing painful work the slow way and you've given them a shortcut.


> This is where my credulity was stretched. It's interesting and exciting when you first learn about it only if it breaks a rule you've long had in your mind and enables you to do more interesting things.

It's still a new way of using a new idea. People (including children) pick up all kinds of assumptions along with the information that they obtain. If you describe something with certain examples, and then do something that isn't seen as possible or covered in those examples, that can be very surprising.

Different children are different people and therefore have different expectations and blindspots.


This. Programming isn't difficult, you can teach it to an adult in a one-week course and I've taught the fundamentals (if statements, functions, loops) in a two hour session with multiple adolescent friends, the core concepts are mostly intuitive for anyone with a simple grasp of logic. What is difficult is using those systems to understand larger systems, and all of the other crap that comes in programming.

In the last week I have a deal with a friend of mine -- I didn't feel comfortable accepting a gift from him in return for nothing, so I offered to teach him programming. So far, two one-hour sessions later he has a grasp of a lot of the concepts, but the two main things he struggles with are: the environment (i.e. stuff like the command line, etc.), and syntax. I'm teaching him python, in the first one-hour session we learned about variables includings lists and integers, if statements, statements/expressions, and function syntax. We used the second session to refamiliarize some of the syntax for those things, including stuff like telling him about leading whitespace, putting brackets around array indices, and the rest of the time just getting a python file into a folder and getting there in the command line so he could run the file.

He's a very smart person, but his lack of familiarity with the symbol keys on the keyboard, along with the lack of the ability for the command line to cope with spaces in filenames, made it difficult for him.

His main problems aren't knowing how to use the concepts -- he knows what he wants to do -- but the syntax and grammar of the environment constantly get in his way.


> along with the lack of the ability for the command line to cope with spaces in filenames

Put quotation marks around the file name?


It's hard for people new to programming or talking to a computer to understand how to be precise enough

And I think filenames with spaces is a great example of this


sure, it's an easy fix, but it's one more hurdle to jump across.


Exactly. And when the inevitable "but why?" comes, you can either say "don't worry about it for now, magic" (disempowering) or explain the actual reason why...when you have lots of these little segues simple tasks and simple concepts become suddenly complex. There's a lot to take in, and although the fix is simple, it's yet one more thing to hold onto that can be imprecisely remembered.

If the next time they sit down to do something at the command line they write the equivalent of `cmd "arg 1 arg 2 arg 3"` it should not be surprising, and frustration that it doesn't work as intended should be expected... especially when they're not even trying to learn about their command line in that moment.


Do you recall the name of the book?


Story Thieves: The Stolen Chapters




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: