The Failure to Teach Computer Science in the Digital Age
Image by Lower Columbia College via Flickr
With computing deeply embedded in so many occupations, especially the well paying ones, why is the US moving backwards in deploying Computer Science instruction in schools?
Canegie Mellon University (CMU), the Association of Computing Machinery (ACM), and the Computer Science Teachers Association (CSTA) have just completed a big study on the role of CS in elementary and secondary education, available here.
Only 10 states apply graduation credits for Computer Science classes. Only 14 states incorporate even half the CS standards that the ACM and CSTA recommends; in fact, 14 states do not incorporate even one CS standard into their secondary education standards. And the number of HS students taking AP Computer Science has decreased by 35% over the last five years.
You'd think that the Common Core standards would address these issues, but there is no Computer Science recommendations in the Common Core Standards.
The report maintains that some of the causes are that computer science is regarded as a vocational, rather than academic, course of study, that there is no certification of CS teachers, and that there is general confusion of terms between literacy, use, information technology, and computer science.
The report defines some of the more commonly used terms as follows:
- Technology literacy and fluency: understanding how to use technology including the ability to use technology to express ideas creatively, reformulate knowledge, and synthesize new information and technology.
- Educational technology: integration of technology into teaching to advance student learning across academic disciplines.
- Computing education: broadly used, but most often reflecting educational technology or technology fluency.
- Information technology: use of technology to solve a business or information problem, often involving databases or networks
- Computer Science: the study of computers and algorithmic processes, including concepts, hardware and software, application, and impact on society.
Image via Wikipedia
The reports goals are pretty straightforward. All HS graduates should be able to:
- Understand the principles and major components of computers
- Create algorithms, including testing and verification
- Create a web page including some scripting
- Understand the concepts of hierarchy and abstraction
- Be able to use the mathematics involved with computers, including binary numbers, sets, and functions
Isn't this something we should want for the next generation, who will be supporting us in twenty years?