Career Day - A parent introduces programming at her son's school
therealkatie.net
therealkatie.net
Link: http://www.codeclub.org.uk/
I've been in one of the schools when they have the after school club and it's amazing how much the kids get really quickly. They're making their own games without needing any help from the assistants, the drag and drop element of Scratch makes it a lot easier than getting syntax wrong and getting frustrated. Some of the kids love it so much that they're disappointed when it's half term and they can't do it that week. One kid now wants to be "a programmer or stuntman" when he grows up.
They're in around 300 schools in the UK now and have roughly 15 children per club, so that's an extra 4000+ children in the UK learning to code each week.
Disclaimer: I help out Code Club and develop their site
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.
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.)
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.
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....
[1] http://en.wikipedia.org/wiki/Education_in_England#School_yea...
I have no real affection for scratch, but I feel that he was making the argument that children should learn to program in an environment that models (at least to a point) the one in which a developer develops in, at least with regard to language preference.
I feel at this point, the language choice (barring ease of use etc) is pointless. Whether you use scratch, python or Haskell, if it piques the interest of a child, then nothing will stand in the way if that student wants to go on and learn every programming language available.
If you think of the first language you ever learned, and what you are now programming in. For me, my first language (a type of kiddy basic) gave me what I needed. A concept of execution flow. How to make things come up on the screen, basic 2d programming and it made it very easy to make some GUI based stuff.
My point is that don't hate any language (even if it is a fake language like Scratch) if it builds the initial building blocks in a child (or adults) head.
The Scratch programming environment, being the most child-friendly system I've ever seen so far (and I have tried to teach children, as well as adults with zero prior programming experience, using environments as different from each other as StarLogo and Python), lets children create amazing programs, but most important of all introduce the fundamentals of computational thinking and creativity with almost zero barriers for entry. From a programming perspective it definitely has a lot of shortcomings (most of which have been addresses by 'add-on's or similar systems built on top of it) but if you want to show the basics to a bunch of kids who are 7 or 8 year olds, then it is a great system.
Moreover, the social aspects of Scratch, namely easily publishing your projects and seeing the source code of others, are a gift. Try to do the same with Python and GitHub (one of my favorite combinations when I'm not dealing with children ;-), starting from scratch (some pun intended) and showing them all the tools... I'm curious how far their attention span would go.
Finally, apparently a number guessing game can be super easily implemented with a 'fake programming language' such as Scratch, too: http://scratch.mit.edu/projects/emres/2859373
And the source code, plain and simple, is probably easier to explain to children (and I had kids create much more complex games, animations, quizzes, etc. with Scratch): http://www.flickr.com/photos/64416865@N00/8121602786/in/phot...
PS: For a nice account of Scratch from a veteran compile developer please see: "Teach children planning and problem solving not programming" http://shape-of-code.coding-guidelines.com/2012/09/20/teach-...
"... a host of new features such as file and webpage manipulation and advanced colour sensing, cloning and much more besides, Panther provides advanced usage for avid Scratchers around the globe as well as new programmers looking for a fluid, easy to understand starting language."
Sidenote: the author is a she, not a he.
What struck me the most was the sheer number of questions I got. 4 or 5 hands in the air the whole time when I was answering questions. A lot of smart questions and comments. Very intense and high energy. Contrast that to giving a talk to adults - usually there a lot fewer questions.
Overall it was a great experience, and I recommend it if you have the opportunity.
Kids today (both male and female) grow up with so much technology around them. My bet is that this will drastically influence the number of women entering technology focused career paths in the coming years.
I do sometimes see people accused of being sexist for applying any skeptisism to "all men in tech are sexist pigs" articles.
It's quite depressing.
I guess they get flagged because there's really not much you can say about these posts. They are usually something like "I was at a conference and someone commented on my boobs".
Well ok, that guy is probably an asshole but most people on HN probably don't go around doing that.
It would be an interesting story if there was some evidence of tech companies deliberately deciding not to hire women or allowing unchecked sexual harassment in the workplace.
Deleted comment
jtchang wasn't making what you characterise as a 'campaign point' or politically motivated 'feminist propaganda', He was just expressing optimism that increasing childhood exposure to technology will result in a more equal gender mix within the tech sector. Thats all.
The author of the article is clearly a woman. Roughly half of the children that she talked to will have been female. It is well documented that ideas about traditional gender norms, along with other social factors, have historically discouraged women and girls from pursuing education and careers in technology. jtchang is entitled to make a wider related point here that links gender with the use of technology in education to speculate about a future where this may change - even if that wasn't the aim of the article or its author. Thats all he was doing, and HN is a place where he should be able to do it.
Deleted comment
Well that's the complete opposite of what you said before. My work here is done. The rest of your comment I won't even bother reading.
Deleted comment
One of the things I tried to impress upon the kids is to look at where the jobs are, and what they pay. I don't think that's emphasized nearly as much as it ought to be. For instance, prior to making the switch to full-time development last year, I was working as an editor at a newspaper. I loved it, and I was good at it ... but the newspaper industry was (and still is) in the tank, and there was very little job security. And, of course, there's an oversupply of people with journalism degrees, so the wages aren't much to write home about.
I told them I wasn't trying to talk them out of pursuing a highly competitive, not-so-highly-paying career. But I think students should know, going in, what they're getting themselves into.
Honestly, there's such a thing as "too young" for that. Your high school career day makes more sense, but in the OPs story there are kids dreaming of being pilots and firefighters. A little young to be thinking of career development.
The school where I visit is really average, some rich kids some poor kids, all kinds of backgrounds. The format of this career day is that each class period somebody will come and talk to the class that is somewhat related to the subject - so I usually end up speaking to a math or computer class. In a class of 25, there are probably one or two kids who already know some limited programming (or have made a website). Almost everybody that age is online (all Facebook, a handful of Twitter) and plays console video games. Probably about half have cell phones.
When they ask me questions, it's usually about how to steal their friends' Facebook passwords, conceal their browsing history, or build their own video game. I do spend some time talking about privacy, reminding them that their behavior online can stay around forever and that they should be careful who they are talking to online.
(I am not very familiar with Facebook but I do have two young kids who will probably start wanting it soon)
More than any of these, however, it will depend on how well they understand the implications of their actions online. You're going to be in a much better position to communicate about these implications if you understand exactly how they're interacting with their online identity. This means having at least a reasonable understanding of how interacting on Facebook works and, like it or not, Facebook is complicated enough that the only way to understand it is going to be using it.
I'd recommend it for any technical parent - what you do is definitely cooler than being a lawyer. =P
Ha! My inner child feels somewhat vindicated.
The terms don't vary much by district; they vary by age. Kids younger than these use the term "number" to mean positive, decimal, integral numerals. That's all they know.
Kids at this age are introduced to some new distinctions: fraction vs. whole, negative vs. positive, and decimal fraction vs. common fraction. At that point, they will use the term "whole number" to mean not some type of fraction and "decimal" to mean a number that uses this nifty, new fractional notation that has digits on the right side of the decimal point.
A few more years pass, and they no longer see "fractions and decimals" but just "numbers." At that point, they switch over to referring to integers and real numbers (with no emphasis on exactly how a fraction is represented), and if they begin working with binary numbers, they'll use the same term, "decimal", to make the distinction of base, not type of fraction notation.
The term "float" is not a mathematical term. Many older math professors don't know it. It is a tech term for a form of storage and display of approximations of real numbers.
These terms are not regionalisms; they represent the distinctions being made by the students at their stage of development.
Wait another 2-3 years, and you will be their new hire.:)
Seriously, I wouldn't think of them as 'juniors' or 'new hires', that will be only a very short temporary state. Think of them as your future colleagues, competitors, hacker friends, fellow tax payers.
Great article though!
Just like trying to give the computer the same input over and over again. I find this hilarious, kids are the best
How is this person a "step above" a nutritionist?
Ambiguous sentence that could easily be taken out of context, as evidenced by the replies below.
http://www.nytimes.com/2007/01/28/magazine/28nutritionism.t....
Also see Ben Goldacre's Bad Science book, UK edition, but that's probably specific to media nutritionists in the UK, whereas the original post is in the US.