My friend Gail and I stopped by the Girls@VV (the girls-only version of a local science/engineering summer camp) to give them a presentation on computer science. Gail already has an excellent write-up of our chat with the girls on her blog.
One of the things we asked the girls about is what we could do to encourage more young women to explore computer science, and a very prominent suggestion was that we start teaching it earlier, so people have some idea of the possibilities.
So it got me thinking, why don't we start earlier? I taught my sister how to program when she was in elementary school. One of my friends always asserts that I shouldn't generalize based on my sister and her friends, who are incredibly smart and exceptional people, but honestly programming isn't that difficult. My brother and I learned at 13 from a book for kids. So why don't the schools teach it?
Here's some reasons I've been told in the past:
As you might guess, this isn't just relevant to computer science. My parents, who are biochemists, hit some of the same roadblocks when they wanted to make sure I got a good science education from a young age. They found ways around it and ways to supplement my education.
And what you might not realise (but I think the girls did) is that because this stuff isn't taught in the schools, girls especially aren't getting exposed. Guys often seem to get exposed to computer science in other ways, but more women rely upon the curriculum. (A recent study suggests that girls may have less spare time than boys, which is one reason that might explain this.) So while this extra education could help all children, it's likely to be especially helpful to girls.
So, I'm going to leave you all with two questions:
I obviously have opinions and suggestions on number 2 (For example, freely available materials like the CS Unplugged activity we ran this morning!), but I'd like to see what other people think first.
One of the things we asked the girls about is what we could do to encourage more young women to explore computer science, and a very prominent suggestion was that we start teaching it earlier, so people have some idea of the possibilities.
So it got me thinking, why don't we start earlier? I taught my sister how to program when she was in elementary school. One of my friends always asserts that I shouldn't generalize based on my sister and her friends, who are incredibly smart and exceptional people, but honestly programming isn't that difficult. My brother and I learned at 13 from a book for kids. So why don't the schools teach it?
Here's some reasons I've been told in the past:
- Teachers don't have the time. This is especially true at the elementary level, as illustrated by Diane Scaiff's excellent summary of teachers work hours in Ontario. Adding stuff to the curriculum takes time that many teachers just don't have.
- Schools don't have equipment. Computers are expensive to buy, maintain, and they are common targets for theft.
- People think computer science is hard. Often they think it requires advanced math. You do not need significant math skills to program, despite this perception. When I was teaching basic programming to my sister's friends, we started with web quizzes. The only math was simple addition. But this perception intimidates a lot of people who haven't tried it.
- Teachers don't have the knowledge and skills required to teach computer science. And, as stated before, they don't have time to learn and may be intimidated by the perception that computer science is incredibly difficult. This is especially true since many elementary school teachers feel that they are weak in math (at least according to the gentleman who started JUMP math tutoring).
- People don't think kids will be able to do more "advanced" stuff. This irks me. Kids are a whole lot smarter and more capable than many people take them for.
As you might guess, this isn't just relevant to computer science. My parents, who are biochemists, hit some of the same roadblocks when they wanted to make sure I got a good science education from a young age. They found ways around it and ways to supplement my education.
And what you might not realise (but I think the girls did) is that because this stuff isn't taught in the schools, girls especially aren't getting exposed. Guys often seem to get exposed to computer science in other ways, but more women rely upon the curriculum. (A recent study suggests that girls may have less spare time than boys, which is one reason that might explain this.) So while this extra education could help all children, it's likely to be especially helpful to girls.
So, I'm going to leave you all with two questions:
- Why else don't we teach younger children computer science?
- What can we do to alleviate these problems?
I obviously have opinions and suggestions on number 2 (For example, freely available materials like the CS Unplugged activity we ran this morning!), but I'd like to see what other people think first.
no subject
Date: August 14th, 2009 03:49 pm (UTC)no subject
Date: August 14th, 2009 03:49 pm (UTC)Jamie
Because programming isn't primary education?
Date: August 15th, 2009 09:09 pm (UTC)Just about everything else taught in elementary school is used almost daily by the general populace.
That being said, by grade 5 or 6, most kids are getting computer exposure in school.
I'm sure programming is a useful way to teach other skills (basic math, problem solving, etc.), but I just don't think it's as fundamental as grammar or arithmetic.
I think it's important to remove barriers to kids choosing their own way, whether they want to be historians, programmers, or gym teachers. But I don't think that we need to be 'driving' more kids into particular streams or areas of expertise in Grade 3. ;)
Re: Because programming isn't primary education?
Date: August 15th, 2009 09:09 pm (UTC)|
---- Whoops. Signed by me.
-Greg
Re: Because programming isn't primary education?
Date: August 16th, 2009 01:53 am (UTC)Asad
Re: Because programming isn't primary education?
Date: August 16th, 2009 02:55 pm (UTC)In the UK, there is no official interest in programming education under 18 these days, but "information technology" is mandatory throughout the curriculum.
Children are expected to be able to control IT equipment by kindergarten (reception class) age. That means that most schools and pre-schools have not only computers (for drawing programs and simple animated games) but other IT like floor robots and interactive whiteboards.
I think that is encouraging, and perhaps overkill, but I would like to dig into Kim Rose's books of case studies to understand more about what elementary school students gain from actual programming, which is an entirely different field of knowledge.
In reply to the comment about programming being unimportant in our society, I would reply that entering formulae into a spreadsheet is programming, in a very real sense.
David
no subject
Date: August 16th, 2009 08:35 pm (UTC)Re: Because programming isn't primary education?
Date: August 17th, 2009 08:15 pm (UTC)The real complaint from the girls wasn't particularly that they weren't learning programming, but that they had no idea of what was involved or where they might go to learn it prior to doing a summer camp, whereas they could easily find someone to help them learn to play soccer or participate in a drama production. As you say, it's more about removing a barrier to making educated choices.
no subject
Date: August 17th, 2009 08:15 pm (UTC)Re: Because programming isn't primary education?
Date: August 18th, 2009 04:54 am (UTC)My sister, when she started her job, quickly found that people were wasting hours every week, month generating and verifying reports that could have been automatically generated and checked with a very small script. But because the people doing these jobs are biologists, it just happened that basically no one had any idea it was even *possible* with the tools they had. I think that's basically what we want people to know about programming -- a general sense of what can be done to save them menial labour.
And yes, my sister's a bright woman, and she's automated a lot of those tasks for her office. I'm guessing she's single-handedly saving tens of thousands of Canadian tax dollars over a year, just because she happens to be a biologist who can write basic excel macros.
Hackety Hack off line
Date: August 20th, 2009 10:45 am (UTC)News at Ycombinator http://news.ycombinator.com/item?id=773106 (http://news.ycombinator.com/item?id=773106)
Old and slow archive at:
http://web.archive.org/web/*/http://hacketyhack.net (http://web.archive.org/web/*/http://hacketyhack.net)
David
Re: Hackety Hack off line
Date: August 20th, 2009 10:47 am (UTC)can you fix the links in the above comment for me, please?
David
Re: Because programming isn't primary education?
Date: August 20th, 2009 11:01 am (UTC)... much of the brilliant work identifying and tracking diseases like the swine flu epidemic could not be done if biologists and medics relied blindly on professional programmers. Some of the scientists do the programming themselves, and others understand enough of it to get good results quickly in partnership with the trade programmers.
If your sister could do that with Visual Basic macros, imagine what could be achieved if a sizeable number of enthusiastic amateurs applied more powerful but accessible languages like etoys, smalltalk, python, ruby or scheme.
Re: Hackety Hack off line
Date: August 20th, 2009 03:29 pm (UTC)And that's very sad about everything going offline. People are so rude.
Re: Because programming isn't primary education?
Date: August 20th, 2009 03:34 pm (UTC)(And for the record, my sister knows a lot more than how to program a spreadsheet -- the reason she's been using macros is that it's easier to teach her colleagues how to use them, since they fit within their regular workflow.)
Re: Because programming isn't primary education?
Date: August 21st, 2009 09:34 pm (UTC)http://www.straitstimes.com/Breaking%2BNews/Singapore/Story/STIStory_405695.html
There is a funny reddit thread about it:
http://www.reddit.com/r/programming/comments/93ep9/4_and_8_year_old_sisters_impress_judges_in/
My favourite in there: "The four-year old would certainly be operating at a higher cognitive level than the typical project manager."
David
Re: Because programming isn't primary education?
Date: September 21st, 2009 05:24 am (UTC)I'm teaching Python to a 9 year old whose dad majored in computer science 30 years ago. He thinks that his son needs to understand advanced algebra before even starting to program! I still can't figure out why. I have him doing simple loops, LOGO types of drawing programs, and got him a programming book for kids.
no subject
Date: September 21st, 2009 05:28 am (UTC)