Coding for Everyone? Are You Serious Mr. President?
With President Obama, the mayors of New York and Chicago, and federal legislation calling for computer programming to be part of the curriculum for all students, it's time to consider a contrary view and what we should consider instead.
In 1976 I invented and taught a programming course for high school students. At the time we had one computer and 31 students who signed up for a brand new one semester course. While I did my best, I doubt the course was of high quality.
As time went on, I'm sure I got better and moved on to direct the entire computer operation in a larger district. There I had a teacher with a degree in computer science who had experience and expertise. Students could take two years of computer science and the classes were packed. This was 1985. As time went on, demand decreased and when the teacher retired, the courses were dropped altogether.
Today, only 25 percent of high schools offer computer science and less than five percent offer the AP computer science course. There is also an economic and racial gap as the courses are taught less often in schools that serve poor and minority students. By pushing coding for all, whatever incremental success we have will largely benefit the elites.
Why it won't happen
For every student to take a programming course the number of new teachers needed is huge. Why would anyone with a degree in computer science go into teaching at a time when teaching has been made less attractive even to students who have degrees that are less in demand.?
According to the New York Times, computer science students can expect an average starting salary of $61,300, while the average starting teacher salary is $34,900. To make things worse, the computer science major would need at least a year in graduate school to become certified. I think it's fair to say that the small trickle of computer science majors entering the teaching field may not even be enough to maintain current offerings.
I'm sure people pushing coding for all believe that we can take some existing teachers and turn them into computer science teachers with a few professional development days. Sorry folks, you can't cram a four-year major into the kind of workshops that schools are noted for. For the same reason, such workshops haven't even been effective in turning non math majors into effective math teachers.
If you remember the push to teach Logo in the 1980's and 1990's, it involved innovative teachers making students move a virtual turtle move around the screen. From what I saw, most teachers rejected the idea and as a result it never caught on. While it was "coding," it never approached the kind of coding one would need to do to create useful software. A lot of what passes for coding today falls into this same category which I call "coding lite."
Why it probably shouldn't happen
Fortunately, we don't have to worry about any serious effort to teach real computer science to every child and in my view, this is a good thing. I know a number of people who create professional level software, and they are a special breed in terms of ability and work ethic.
Expecting all students to create anything worthwhile is unrealistic. Just having to learn the ins and outs of a real programming language would bore and frustrate most students. In short, it isn't easy and it isn't fun, at least at first. Anyone who has learned a programming language knows that it starts with rote learning and no real-world connection. While the fast learners will be solving problems in a creative way, I doubt that most students will get to this point.
In addition to exposing many students to lessons that they will find frustrating and boring, you will also have to stop exposing them to something else. Students who already suffer from an overemphasis on content on state tests at the expense of subjects like social studies, science, the arts and recess, don't need this. If only the corporate/political class would stop forcing what they see as good ideas on schools. They have done enough damage already.
What should happen instead
We want to engage students in critical thinking and open-ended problem solving as we put them is situations where they can express their creativity as they deal with interesting content. There are ways we can do this and still allow them to rub up against concepts associated with computer programming.
Many schools have opened Maker Spaces where students can build things using their own designs. A reader of my blog recently sent information about a device called X-Carve that lets you carve anything you can design using the software that comes with it. Some schools have clubs that design and build robots and fly drones.
In 1996 as an elementary principal, I taught myself HTML so I could program my school's first web page. Since then, a number of 4th generation programming languages have come along that let you create web pages without having to know the underlying language. There are also tools for creating blogs that do not require knowing a standard programming language. Many other applications like PowerPoint allow for some programming. More access to real computer science courses is also available online as long as teacher's unions cooperate.
In short, there are lots of ways that all students can learn how to control computers that have immediate real-world impact and can involve student interest and passion. There are also many innovative teachers supporting these tools who others need to try to follow. Leadership is key, but it should come from people with educational expertise and not politicians and corporate big wigs.
Cohen, Patricia. A Rising Call to Promote STEM Education and Cut Liberal Arts Funding, New York Times February 22, 2016, p. B1 http://nyti.ms/21jfJMD
Inventables. X-Carve: Make Real Stuff With 3D Carving. It comes with the design software. This looks like a great addition to the maker space in your school. http://bit.ly/1QzVVJF
McClure, Laura. 5 places where any kid can learn how to code. If your kids are going to learn how to code they will probably have to do it online. TED-Ed Lessons, February 17, 2016 http://bit.ly/1Tprdbo.
Strauss, Valerie. All students should learn to code. Right? Not so fast. Proponents of coding for all should read this. Anyone remember Logo? Washington Post, January 30, 2016 http://wapo.st/1nYC68v
Wilensky, Uri. Why schools need to introduce computing in all subjects, The Edvocate, February 10, 2016 http://bit.ly/1QbCV8v