Sign In

Communications of the ACM

BLOG@CACM

Why the U.S. Is Not Ready for Mandatory CS Education


Mark Guzdial

http://bit.ly/UfJPQR
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."


Comments


Jill Pala

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!


Henry Schaffer

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

Log in to Read the Full Article

Sign In

Sign in using your ACM Web Account username and password to access premium content if you are an ACM member, Communications subscriber or Digital Library subscriber.

Need Access?

Please select one of the options below for access to premium content and features.

Create a Web Account

If you are already an ACM member, Communications subscriber, or Digital Library subscriber, please set up a web account to access premium content on this site.

Join the ACM

Become a member to take full advantage of ACM's outstanding computing information resources, networking opportunities, and other benefits.
  

Subscribe to Communications of the ACM Magazine

Get full access to 50+ years of CACM content and receive the print version of the magazine monthly.

Purchase the Article

Non-members can purchase this article or a copy of the magazine in which it appears.