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

I couldn't agree more. Whenever I'm learning something, I find that breaking things is the best way to get concepts to sink in. You don't know what a null pointer is until you dereference one.

If I were to teach programming to a class of kids in the 8-16 range, I'd probably get a Python environment up and running and spend:

- Two to five minutes explaining a small concept (start with the print statement, go to variables, then operators, then functions, and so on and so forth) - A couple of minutes playing around with the concept using some neat functions or classes which you write before the lesson. Like a send_email() function, where you supply each kid with a disposable email address and password. - Up to an hour repeating the first two steps. - A few seconds giving them an optional homework assignment which they can work on and show off to their classmates when they come back.

I'm sure they'll be hooked when they find five hundred emails in their inbox, that's certainly the sort of thing that got me hooked back when I first started.



I agree with you on your first point where you say that the best way to get concepts is by breaking things. But two to five minutes for explaining such CS concepts as variables, functions, and even operators may prove to be nothing more than just a fleeting moment, especially if you are dealing with a group.

Do you mean 8-16 as an age range or a number of students in the class?

Also, not all kids get excited at the first sight of scale. It often requires taking time to explain things and give different examples of this phenomenon.


Sorry, I should have been more specific. When I say "explain operators", I mean something along the lines of "To add numbers, you can write '2+5 <enter>' and it will give you 7". In two to five minutes you can probably explain addition, subtraction, multiplication and division and then link it back to variables. So "Type 'i = 3 + 3 <enter>'. Now type 'i <enter>'. It should give you '6'."

It seems to me that attention span is the biggest hurdle. You're unlikely to hold a ten year old's attention for more than a couple of minutes if they don't have a solid understanding of why the concept you are teaching is important and how it ties in to the other concepts they have learnt. If you can show them how useful a concept is, they're probably more likely to go and gain a more thorough understanding on their own.

> Do you mean 8-16 as an age range or a number of students in the class?

Age range. Ideally you would want to avoid having that sort of spread in a single class (perhaps take one class for the 8-12 age range and one for 13-16 age range).

> Also, not all kids get excited at the first sight of scale. It often requires taking time to explain things and give different examples of this phenomenon.

True, I'm just basing what I wrote on what my friends and I found particularly interesting. It's probably different for everyone.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

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

Search: