Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Career Day - A parent introduces programming at her son's school (therealkatie.net)
264 points by dhotson on Oct 25, 2012 | hide | past | favorite | 60 comments


There's currently a non-profit in the UK working in primary schools with kids aged 9-11 called Code Club. They use MIT's Scratch to teach children how to programming using drag and drop blocks.

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


It seems like you really have a great model going there, nice job! You think there is any chance of open sourcing what you're doing with Code Club so it could be used elsewhere?


Thanks! I need to speak to the founders about that, it isn't my say about open sourcing unfortunately!


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.


I 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.)


When 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.


Same 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.


Exactly ! Syntax and meta-syntax are sometimes easy to mix.


I learned math before programming. I already knew sequences and matrices written a_i and a_ij, and arrays were obvious.


My 5 (now 6 year old) loves the algebra from 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).


Instinctive 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....


I 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.


It's not very clear from the article, but it mentions 5th grade which would be 11-12 years old.


Thank 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_yea...


Actually, grade 5 would typically be 10-11 years old and probably equivalent to year 6 as I am reading your wikipedia reference.


The argument for not teaching children scratch. "You don't need to start kids off on some fake programming language like Scratch."

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.


I was just about to write a response to 'Scratch bashing' ;-). Luckily you have voiced most of them. So I'd like to add the following:

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-...


The "lesson to educators" was certainly a quick conclusion to draw from the number guessing game example. A fair comparison would be a game with sound and animation that kids have created using Scratch that you get kids to do using a "real" language like python. Furthermore, I think BYOB (build your own blocks)[1] raises the bar what can be done in a Scratch-like environment.

[1] http://byob.berkeley.edu/


BYOB is important indeed and we also have Panther (see http://pantherprogramming.weebly.com/ and http://wiki.scratch.mit.edu/wiki/Panther_%28Scratch_Modifica...):

"... 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."


> I feel that he was making the argument that...

Sidenote: the author is a she, not a he.


She also doesn't address the difference between reading a ready-made snippet of code and producing syntactically valid code, and it's not exactly self-evident that removing Scratch's block/puzzle-piece "grammar" won't lead to more trouble producing proper syntax (and I've seen first-year university students type out lots of things that Scratch would make impossible).


I think perhaps the point it to give the kids something that they can feel like they are doing real stuff with.


I have given talks in both my daughter's and son's classes (when they were in grade 2) on what I do at work. Not on programming per se, but on how an SMS is delivered to a mobile phone (so we also got into programs, databases etc).

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.


It might be slightly odd bringing up the topic of women in programming but in a few decades it might seem archaic that we were even worried about the problem.

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 don't think there's any sort of strong a correlation between growing up with something and wanting to work on it professionally. The entire western world has grown up with cars being everywhere for the last 50 years or so, it doesn't seem to have greatly affected the gender ratios in the car mechanic profession.


The proportion of women in software development has actually been falling since the 1980s. It's not entirely clear why this is, but the rampant sexism in software development that is so painfully evident in HN commentary is surely an important contributing factor.


I don't see much sexism on here and the stuff that I do see looks like obvious trolling.

I do sometimes see people accused of being sexist for applying any skeptisism to "all men in tech are sexist pigs" articles.


Sadly, one of the reasons that you don't see much sexism on HN is that numerous articles about sexism in the industry are flagged as soon as they arrive on the home page, and get removed fron the site.

It's quite depressing.


In my experience at least a couple of posts about sexism in tech make it to the front page every month.

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.


Those stories are about culture, which is why it's still important even if the majority of guys don't do it. And you are not being charitable in your characterization of them.


You're right. It would be totally better if we did a ritualistic denunciation of sexism every thursday at 8pm.


Please. I did not imply anything of the sort. If you're not going to participate in honest discussion, and instead try to score argument-points, please don't participate.


Every internet troll has a real-life existence too.


Tell us more about how sexism was less rampant in the 1980s.


[deleted]


@shanelja Can I suggest that you dial-back the anger a bit, both in this comment and your reply to EliRivers. This isn't really the right forum for it.

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.


Women entering tech is not feminist propaganda. Calling it that does, however, demonstrate your own biases (and that you don't understand the word "feminist" or the word "propaganda".


[deleted]


"women entering tech is indeed not feminist propaganda"

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]


Fear not; I commend you on recognising that your original comment was flawed and applaud you explicitly acknowledging it.


I did a high school career day earlier this year, talking about both my job as a frontend developer and my book ("Experiments on Babies" -- http://www.experimentsonbabies.com). About a third of the kids in each session were totally tuned out. Another third seemed interested, but I guess didn't want to seem overly interested. And the final third were really attentive and asked lots of good questions. I guess that's probably typical.

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.


One of the things I tried to impress upon the kids is to look at where the jobs are, and what they pay.

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.


In the past few years, I have spoken to local middle school kids (7th or 8th grade) at their "career day". They are all totally fascinated with what I do, because kids nowadays (yes I know I sound old) live their whole lives online and surrounded by technology.

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.


How does it work for a minor using Facebook? Are their accounts public by default? Can they friend and be friend-requested by anybody? Are they linked to their parent accounts somehow so that parents can monitor or approve requests? When they become an adult, is all of the data/content/history going to stay with the account? So when they are 20, friends can see what they wrote when they were 12 if they dig into their history?

(I am not very familiar with Facebook but I do have two young kids who will probably start wanting it soon)


Honestly, I would suggest you get a Facebook account and start playing around with it. The answer to all your questions are "it depends". In part it depends on how Facebook evolves over time, in part it depends on how much they want to curate their content, in part it depends on what their friends do with the content your children are incidentally a part of.

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.


Minors don't matter, per se, but it it basically illegal to facilitate collecting or sharing information from someone under 13 without enforcing parental control.


I did career day at my daughter's school, when she was in 4th grade (ages 9-11). It was interesting that the kids were far more interested in computers than in robotics. They were even more interested in gaming, which I kind of expected (be prepared to weigh in on which console you prefer, and expect to have at least one of the kids tell you your choice sucks).

I'd recommend it for any technical parent - what you do is definitely cooler than being a lawyer. =P


"Every kid has a smart phone. I guess my son wasn't being dramatic when he said he was the only one without one."

Ha! My inner child feels somewhat vindicated.


re: "whole numbers" and "decimal numbers"

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.


Great read, I felt a bit excited after reading it. I look forward to do the same thing at my boys school. One thing I am wondering about kids and programming is when they are suitable to start taking in the concept of programming, it is probably different from kid to kid. It is such a great tool to teach a kid, to actually be able to build stuff on their own.


"Getting kids excited about programming today means that one day, you're more likely to have competent juniors. If you plan on being in the workforce eleven years from now, the fifth grader you talk to today is your new hire in the future."

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!


> The kids repeat questions. Over and over and over again. Not variations on a question: the same exact question. I would just repeat myself until the teacher intervened.

Just like trying to give the computer the same input over and over again. I find this hilarious, kids are the best


Great article. But expecting children to know what integers and especially floats are is ridiculous. Integers, maybe, like definitely in a higher grade level. But floats absolutely not. They are whole and decimal numbers!



>I comforted myself that I was at least a step above the nutritionist.

How is this person a "step above" a nutritionist?


He was talking about the "cool factor", presumably as measured by the kids.


She


Thanks, I wasn't sure so I asked.

Ambiguous sentence that could easily be taken out of context, as evidenced by the replies below.


Or perhaps she was just making a joke.


A bit long, but quite intensive critique:

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.


Nutritionists are not professionally regulated like Dietitians are. Therefor Nutritionists are often known for giving psuedoscientific advice in order to push some miracle product.


What grade / how old are these students?




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

Search: