In his recent State of the Union address, President Barack Obama said schools need to offer every student hands-on computer science classes to be better prepared for the workforce.
President Obama is right: The next generation of learners will require a high level of fluency with modes of thinking in which computers act as interactive partners.
The question is: how best to make sure they acquire that thinking? Are computing classes the only way to do this?
More computer classes
There is widespread agreement that computing should play a more prominent role throughout our education system. For this reason, there have been more concerted efforts to increase computing classes in the K-12 grade levels.
The STEM Education Act of 2015 was recently passed into law, expanding the definition of STEM (science, technology, engineering and math) to include computer science and encouraging more STEM education efforts.
Seven of the nation’s largest school districts are adding more computer science classes. The Chicago Public School District, for example, plans to have computer science classes at all levels of education and make it a requirement of high school graduation by 2018. New York City Mayor Bill de Blasio recently said the city will ensure there is computer science (CS) instruction in every public school by 2025.
I have been researching efforts to bring computing to schools and have participated in national efforts to design CS classes, train CS teachers and implement CS curriculum at a variety of grade levels.
I know that efforts to implement CS courses have encountered many challenges, particularly in teacher preparation and retention.
In contrast, efforts to train teachers to meaningfully employ computing in their own disciplines, for example, in biology or history classes, have met with significantly fewer difficulties.
So while I believe these efforts to add CS courses are good and necessary, they are not enough.
Shortage of students
The fact is that the success of such initiatives depends heavily on schools’ ability to hire and retain qualified teachers, and on students’ ability to make room for new coursework in their already-packed schedules.
Here’s what the current picture looks like:
Currently less than one high school student per 1,000 takes Advanced Placement computer science, which is the standard course for CS education for high schools.
In fact, according to Code.org, a leading nonprofit dedicated to expanding access to computer science, the number of high school computer science classes – both introductory and AP – has significantly dropped in the past decade. Since 2005, introductory classes have dropped by 17 percent and AP classes by 33 percent. Only 25 percent of high schools have any offering at all in CS, and less than 5 percent have an AP CS course.
Even in the best financial environments, not all schools offer or plan to offer courses in computing. In most of the schools that do, the courses are elective-only and reach a small percentage of students.
According to the College Board, which tracks AP exams, only 20,414 students took the AP computer science exam in 2014. By comparison, about 263,000 took U.S. history, and 438,500 students took English language. Of those who did take the computer science exam, only 18 percent were girls. And only 3 percent were African American.
There is a shortage of teachers for computer science. Berkeley Lab, CC BY-NC-ND
Lack of qualified teachers
In addition, there is an acute shortage of teachers qualified to teach computing courses.
In 2010, the National Science Foundation launched the CS10K project, with a goal to train 10,000 CS teachers by 2015. However, at a recent meeting, the NSF reported that they were able to train only between 200-600 teachers per year, which is approximately 2,000 teachers, and vastly short of the goal.
There are other issues as well with the training: the project has not ascertained how many of the trained teachers are still teaching CS. We do know that the trainee population has shifted from mostly senior teachers to mostly younger teachers, meaning that the project could be training teachers, who are more likely to leave for industry and less likely to stay.
In addition, most states do not have certification for computer science, and among most of those that do, the certification is weak and doesn’t make them qualified for teaching high school CS.
All this makes the task more daunting.
What can schools do?
So a preferable strategy is to incorporate computing into every school subject.
Recent studies from my lab and at a few other university labs in the past 10 years show that it is much easier to train subject area teachers in computational thinking in their subject areas – such as chemistry or history – than to train and retain full-time computing teachers.
In this way, teachers learn the computing in the context of materials they already know and see the value added of the computing. Furthermore, since this strategy involves all subject areas, it ensures that all high school students, including traditionally underrepresented groups, will have access.
Using this strategy, a host of studies have found that a range of students – not just the “geeks” – can not only learn these computational skills, but they can learn them quite easily compared to print or mathematics literacy. And these skills can help them improve their learning in other areas.
Why does this matter?
Students who are exposed to computation think more deeply about their subject areas and are able to deal with complex content at significantly younger ages.
Computational thinking can make kids smarter. hackNY.org, CC BY-SA
Students engaged in computer modeling can understand the fluctuations of populations of predators and prey in an ecosystem. For example, more than 50 years of data on moose and wolves in Isle Royale Michigan show fluctuating population levels. When there are a lot of wolves, there are fewer moose, and when there are a lot of moose, there are fewer wolves.
Such phenomena are usually studied at university level, using advanced mathematics of calculus and differential equations. Using computer modeling enables much younger students to have access to the ideas and calculations without needing to master the advanced mathematics.
At the Center for Connected Learning and Computer-Based Modeling (CCL) at Northwestern University, we have done extensive research with children and adults, asking them to explain complex patterns in the world such as traffic jams, changes in the fauna and flora in a habitat, the flocking of birds or the housing segregation patterns of cities. The overwhelming majority did not understand the causes of these phenomena.
In the CCL’s work developing computer-modeling-based curriculum, we have found that computationally literate students can use their computational thinking to make sense of complex patterns and understand the role of randomness in generating complexity.
Understanding the constructive role of randomness enables us to harness it, for example using computer algorithms to let self-driving cars react to changing traffic patterns to prevent congestion, or enabling groups of robots to “swarm” together to accomplish a goal.
Some may argue that we can’t afford the resources to transform subject-wide curriculum so extensively, and some others may feel schools first need to improve reading and mathematics skills, before adding yet another literacy.
I certainly agree there are always competing priorities, but we cannot ignore computing, especially in our increasingly complex world. These are the skills students will need to thrive as adults, and moreover, these skills help students with their other subject areas. By integrating computing across all classes, we can make it a true literacy.