April 15, 2014
Code.org has changed how people think about computer science in schools in the United States. Their successful video (http://bit.ly/1hgVB7w) and Hour of Code event in December (http://code.org/hourofcode) have attracted enormous attention. There are more calls for computer science in schools, and more states are making computer science count toward high school graduation (http://code.org/action) (including some odd efforts to make computer science count for foreign language credit—http://bit.ly/1pJ2ocK).
Some are now calling for computer science to be a required subject for U.S. schoolchildren. Lawmakers in California are considering Bill AB 1530 (http://bit.ly/1kzszAP), which would add CS to the required course of study for grades 1 to 6 (for students roughly six to 12 years old). CIO.com quoted Ashley Gavin, the curriculum director at Girls Who Code (http://bit.ly/1jWJ18o), as insisting that computer science be mandatory in schools. "You make it an option, the girl is not going to take it. You have to make it mandatory and start it at a young age."
I think I understand what Ashley Gavin is trying to say, but it is not quite the whole picture. If CS courses are simply offered, many underrepresented groups will not choose to take the course. But some do. I am a huge supporter of providing equitable access to CS Education for all students. I think it is necessary for all students to learn the basic principles of Computer Science and programming, regardless of what path they choose to pursue in the future. However, if we rely on students self-selecting in to optional courses or extracurricular programs, we will continue to get the same pool of people gaining exposure and choosing to pursue a CS career. Mark is right though, on a national scale, we aren't ready for a CS Ed mandate.
In my school, I have spent years convincing/inviting/begging girls to try CS. Once we get past the misconceptions, stigmas and stereotypes, some girls do choose to take a course (and usually more than one once they see they like it!). Now that we have built up a little momentum, more girls are choosing to take CS classes without as much effort on my part. This is a great step forward, but it is certainly not the finish line. I still want to reach the other 70% that do not choose to take a CS class, which is why I am now fighting for a CS requirement in my school. Much like the universities, we have the faculty to teach a legitimate introductory course that would give students a solid foundation and the opportunity to know before college that they want to pursue a future in CS. It is an uphill battle, but the reward for the students will be worth it!
Very nice discussion. I'd like to add another aspect - what exactly would be taught? The choice of the language is very important (should the student memorize/regurgitate all of the Classes in Java?), but just as important (maybe more important) is what would be done in the course. Algorithms are of central importance, and that's strongly related to problem solving - which *is* of much broader applicability in real life than coding. How do algorithms and their application affect our lives - I could see using this really good book in the course: Nine Algorithms That Changed the Future: The Ingenious Ideas That Drive Today's Computers - John MacCormick ISBN: 9780691147147 248 pp. Princeton University press http://press.princeton.edu/titles/9528.html
I'm not sure I'd want this course to be taken *instead* of math and/or science - but I think it could have all students (not just one gender) trying to get into it.
What's the catch? One big one is having well qualified teachers - which means knowing more than the dimensions of a floppy disk! :-(
P.S. I do think it should include some coding - and for that I'd suggest a scripting language (e.g. Perl, Python) or even perhaps spreadsheet macros. The major idea I'd want to get across is "The computer does what you tell it to do, not what you want it to do!"
Displaying all 2 comments