4 ms·
This was an interesting read, but it'd be useful to know roughly what age the children were. I'm not familiar with the US school system, so I don't know at what
by andyjohnson0 14y ago
This was an interesting read, but it'd be useful to know roughly what age the children were. I'm not familiar with the US school system, so I don't know at what age careers days are usually held.
She showed the children a Python program with a while loop, and says they "got it". I've tried explaining iteration to a (bright) seven year-old by using indented text and they found it hard to comprehend, but the equivalent in a graphical lego programming environment was obvious to them.
- martinwnet 14y agoIt's not very clear from the article, but it mentions 5th grade which would be 11-12 years old.
- andyjohnson0 14y agoThank you, I didn't notice that. This would be equivalent to year 7 or 8 in the UK system [1]. [1] http://en.wikipedia.org/wiki/Education_in_England#School_years http://en.wikipedia.org/wiki/Education_in_England#School_yea...
- goodcanadian 14y agoActually, grade 5 would typically be 10-11 years old and probably equivalent to year 6 as I am reading your wikipedia reference.
- shanelja 14y agoI taught my 9 year old sister how to program, at a very basic level, using PHP. She understood the simplest parts, variable assignment, simple loops, errors, if statements (children seem to understand these naturally, since she is always saying "Shane, if blahblah did blah blah, what would happen?" so it was a breeze to introduce else statements.) The trouble came when we started on arrays, she understood the concept of variables well, but the idea that multiple variables can exist inside of a single variable, and more inside of that, etc, really confused her, until I managed to explain it using a rather simple tree diagram. Then there is the fact that numeracy in primary school begins at 1, there is no 0 as far as I know which is taught until later (unless of course, she simply wasn't listening during that lesson) so to hardcode it in to her I got her counting her spending money from 0 instead of base10. Once we had this out the way, database manipulation came, and this was really difficult as she didn't understand how the computer knew these things when it was so far away and the idea that it could be transferred across the world in seconds was fairly mind blowing (mind you, she thinks the world ends at the south of England so it probably wasn't that amazing) so I got her to take part in a practical taking lemons to and from the garden shed and keeping a tally of what was in each. Not only was it fun but it was a great learning experience. Fast forward 1 year and she is extremely intelligent for her age, can do advanced algebra and is the only child in her class to be able to do maths in her head near instantly. I'm proud of her, but my point is this, children don't need brightly coloured graphical languages, sure, they may help, but to nurture their minds all they need is a little ingenuity and a whole lot of love. (not to mention patience, you're gonna need buckets of patience.)
- emillon 14y agoWhen I learned programming, getting arrays was one of my first "aha" moments. Moving from x0, x1, x2, x3 to x[0], x[1], x[2] was definitely enlightening. My guess is that for simple programs, you almost never have to index an array by a dynamic expression, so you don't see a need for that.
- sanxiyn 14y agoI learned math before programming. I already knew sequences and matrices written a_i and a_ij, and arrays were obvious.
- bencoder 14y agoSame here, I remember when I was learning, before I knew what arrays were I had a bunch of variables like that: $x1, $x2 and I was trying to find a way to convert a number like $n into the variable name so I could do $x$n to reference $x1, $x2. I knew what I was trying to do, just didn't know how to do it correctly at the time because I didn't have any exposure to arrays before.
- emillon 14y agoExactly ! Syntax and meta-syntax are sometimes easy to mix.
- digitalengineer 14y agoMy 5 (now 6 year old) loves the algebra from http://dragonboxapp.com/ http://dragonboxapp.com/ I was amazed. She's still learning to read but does algebra (!) It's incredible what young kids can comprehend. (Made me feel stupid).
- MehdiEG 14y agoInstinctive understanding of programming constructs can vary widely from person to person. I never had any problems understanding loops - it always seemed obvious to me. I was happily coding away in Turbo Pascal at the age of 8 with nobody but a big fat programming book to help me. On the other side, I was pair-programming with a friend during an intro to programming course in my first year of college and he just couldn't get his head around loops. He was smart and incredibly hard-working (and went on to complete two MSc in parallel). But loops, the difference between a while loop and a for loop, and programming constructs in general just didn't make sense to him. He had to work really hard to figure out how to use them. I'm sure there have been studies that explain this but I should get back to now rather than start doing some academic research....
- scott_s 14y agoI experienced this when teaching beginners. Some students had great difficulty seeing "code in motion," as I call it. I think they see it as declarations, as in math. It takes them time to learn to "see" what the code will do when it's executed.