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