By Bonnie Bracey Sutton
Editor, Policy Issues
We talk often about preparing for the 21st century, but the discussion hasn’t even started in many schools. The latest PCAST (President’s Council of Advisors on Science and Technology) meeting addressed some of these concerns. What do our readers, leaders, and educators think about the crisis in K-12 computer science?
For background, read Jenna Zwang’s “Summit: U.S. Needs More Computer Science Teachers” (eSchoolNews , 7 Oct. 2010) and Running on Empty: The Failure to Teach K–12 Computer Science in the Digital Age (The Association for Computing Machinery and The Computer Science Teachers Association, 6 Oct. 2010).
To access the 2nd and 3rd pages of “Summit,” you’ll need to sign in or register. Annoying. Running on Empty is the full report in PDF format. No sign-in required.
Excerpts from “Summit”:
- Fewer than 65 percent of K-12 schools in the United States offer an introductory-level computer science course, much less rigorous training.
- Only 10 states require a thorough computer science course as a requirement for high school graduation, according to “Running on Empty.”
- James Shelton, the U.S. Department of Education’s (ED) Assistant Deputy Secretary for Innovation and Improvement, spoke of how computer science education was never explicitly included as a part of the Science, Technology, Engineering, and Mathematics (STEM) Education Coalition, which works to support STEM education programs for teachers and students.
- “There are too few computer science teachers, and they are in too few schools,” said Lucy Sanders, CEO of the National Center for Women and Information Technology (NCWIT) during a panel discussion.
- The lack of K-12 computer science education has a direct impact on U.S. technology-based companies, as representatives from Google and Microsoft pointed out. Government projections show that in the next 10 years, more than 1.5 million high-paying jobs in the technology sector will be created in the U.S. alone.
- Summit attendees and ed-tech stakeholders hope the Computer Science Education Act, introduced in the U.S. House of Representatives in July, will help bring the focus to computer science education in public schools. The legislation includes plans to fund grants to develop state computer science standards and curriculum, form training programs for computer science teachers, and review the current state of computer science education.
Excerpt from Running on Empty:
Paradoxically, as the role and significance of computing has increased in society and the economy, quality computer science education is being pushed out of the K–12 education system in the U.S. While there are many excellent K–12 computer science courses being taught across the country, in the past five years there has been a marked decline in the number of introductory and Advanced Placement computer science courses being taught in secondary schools. Most startlingly, this decline is occurring when national, state, and local policy makers are seeking to expand the capacity and quality of science, technology, engineering, and mathematics (STEM) education in the U.S. (p. 6)
Filed under: Uncategorized |
My thanks to Bonnie for raising this issue. I began writing computer software in 1960 and have continued to this day at various levels of intensity. For example,my partner and I wrote over 40,000 lines of code to create mission-critical provisioning software for GTE Internetworking.
I’ve been heavily involved in most aspects of software development for fifty years and feel that I can speak with a little authority on this topic.
I’m also a scientist, trained at Caltech and Columbia University.
Understanding this “crisis” in K-12 computer science education requires understanding three basic issues.
1. What is “computer science?”
2. How will more computer science classes in K-12 help children?
3. How will more computer science classes in U.S. K-12 help the U.S.?
The phrase “computer science” is an oxymoron. There is not really a science of computers. Computers are made by engineering, and so is the software. Behind all of this engineering, there’s some really complex mathematics but that’s true of many engineering disciplines.
Will “computer science” be interpreted by K-12 schools as meaning building computers, studying automata theory, dissecting compilers, or writing software? I think that we can all agree on the last item, which is the discipline of software engineering.
I am concerned that many educators, parents, and students will be fooled into thinking students are learning science when their really just learning to instruct computers.
As far as helping students is concerned, you can make a valid argument that learning to write software will help students to be more organized, to think better, and so on. You can make similar arguments about chess. Does that mean that we should add chess courses to our schools? I think not.
Finally, how will these software courses help our country? To answer this question, you must first realize that our really good software engineers are much like many other engineers. They have to take a concept and use their knowledge and creativity to turn it into reality. The fraction of a population with the innate ability to perform this task well is small. Most people, even if trained well, could not write a complex computer program well if their lives depended on it. It’s the same with art, music composition, writing great stories, and more.
Yes, there are lots of rather ordinary people writing software, but they are performing a task known as “coding.” They are taking very detailed instructions about what the computer must do and translating that into computer “code,” series of instructions in a particular computer language. This activity is nearly mechanical. These people are like the technicians that assist engineers and are closely supervised by them.
It really doesn’t matter who does coding. It does matter a great deal who takes concepts and converts them into reality in computer space. Forcing lots of students who will never write software to do so is unlikely to create a new generation of great software developers, but it just possibly might. I’ll leave the final word on that idea to others. Does forcing lots of students to learn science help us create the next generation of great scientists? Won’t happen unless a really great teacher is involved.
We did quite well in creating many of the world’s great computer developers before the first computer science class was even available in a university, let alone in K-12 schools. Today, a young person with interest and aptitude can get access to plenty of opportunities to write software. Computers cost much less today than when I started. Access is very inexpensive. You can, for example, download Java to your personal computer for free and be programming for real in short order.
So, in my opinion, let’s stop and take stock before declaring yet another “crisis” in education. Such cries originate somewhere. Where is that somewhere? Perhaps, it’s those who would benefit from the reaction to a crisis who are making this noise. We have some real crises in education, such as graduation rates below 50% in many schools, to deal with and don’t really have time to deal with made-up crises.
Harry, as a computer scientist myself, I agree with most of what you wrote. We as the computer scientist or software engineer today have to put a lot of work into design and specification so that the “coders” of the world can easily translate those steps into a language the computer can understand. It is translating the thoughts of an idea into how a computer would need to act to accomplish that idea, which is the software engineering contribution.
One curious observation is that almost software languages are written in english. We invented software for computers in the US and of course we used english as the foundation. So when it came to programming them in that same computer language, we had a natural language advantage in the over others who did not speak english.
For example a simple If-Then-Else construct exists in almost any computer language and echo’s the english concept of… If a question is true Then do this Else do that. Such a concept certainly exists in Chinese but not as the words If, Then and Else as understood by the computer. With China and India now having more english speaking citizens than the US, this natural advantage in translating logic to language has seriously declined. However I am not convinced this constitutes a crisis in itself. I do see kids more interested in using computers than in building or programming them, but no real shortage of percent interest compared to other countries. We are probably just out numbered by people! I like the quote that if you are 1 in a million in the US there are 1500 others just like you in China.
I think the issues behind an interest in US students for software engineering or computer science, as it is more traditionally referred to, are probably adequately covered in STEM and other P21 ideals. If we can just get those moving then those students with the talent and desire to design, engineer, build, or write applications for computers will naturally flow into those fields and the proposed crisis will be averted.