Computer scientists still are in high demand in the U.S., people of color still are disproportionately underrepresented in the field and whether and how computer science (CS) is taught varies wildly, according to a new report on the state of Kindergarten-through-high school CS education.
Authored by Paulo Blikstein, assistant professor of education and (by courtesy) computer science at Stanford, the report — Pre-College Computer Science Education: A Survey of the Field — was commissioned by Google to shine a light on where CS education stands today and where it needs to go.
“CS education has the potential to deepen educational inequalities if it is only properly implemented in affluent schools, leaving public schools with badly-designed or poorly-funded programs,” Blikstein said. “Equity should be at the core of all of our efforts in CS education.”
In addition, he said, “we need to be very careful about how we want to scale up CSEd.”
There is concern that as CS education grows, the subject will be taught, using old school formulas, requiring “overly-fixed curriculum” and multiple choice tests, and leaving behind creativity, project-based learning, and personal expression. Therefore, Blikstein said, “there needs to be an articulation between researchers and policy makers so that everyone is on the same page. Scaling up CSEd is a huge endeavor. We need a very careful reflection on that. It is not an easy problem, but we cannot ignore it.”
Q: How can CSEd be more equitable and reach more students?
A: Equity was without a doubt one of the most mentioned topics in the report and in the interviews leading to it. In general, there is a pattern by which affluent schools can afford to have well-developed CS programs, and public school are left with much less developed implementations, creating a big equity gap. In many independent or private schools, students create projects, have lots of support to help coding, and are exposed to engaging and interesting activities.
In public schools, in general, students use canned products, often without much help from a teacher, for very short periods of time. Evidently, this is exacerbating the gap that CS was supposed to fix. One important recommendation of the report is that CS should be for all students and should be mandatory, it should be integrated into the curriculum of math, science and other disciplines on top of being taught as a stand-alone subject in some cases. If it is not mandatory, self-selection will again generate an equity problem. But, by “mandatory,” we do not mean that it should be taught in traditional ways. In fact, the report talks about how many people in the field are worried that, as it grows, CS might lose its innovativeness and start to be taught just like traditional math, in very “instructional,” direct ways, with fixed curricula, high-stakes assessment, etc.
Q: In your research, did you make any surprising findings?
A: One surprising finding was that while the demand for CS education is growing exponentially, the supply of researchers and specialists in the field is growing linearly, generating a big gap. There is an urgent need to train more people at all levels, all the way to Ph.D.s.
Another surprising finding was the number of competing rationales for CS education, and the general lack of awareness about their differences. Some people think that CS should be a way for youth to get better jobs, others think it is a general literacy such as ability to read and write text. There is a great divide there between CS as a job skill and as a general purpose skill, and lots of implementation decisions derive from there. We found that there is little clarity about the existence of these competing rationales, which is causing a lot of confusion for policy makers, principals, and teachers. For example, if you set up a districtwide program to teach kids professional programming languages and go into programming careers, you will probably focus much less on personal expression and creativity. If you think, for example, that CS is mostly about learning programming concepts, you will focus much more on direct instruction, rather than project-based work. So, in general, there are lots of competing ideas about why we should teach programming, and for the most part, people are not aware that those initial decisions impact the design of CS programs considerably.
We all need to sit down and talk about why CS education is important and communicate it clearly to schools — even if there are competing ideas, schools need to be able to choose what type of implementation they want.
Another finding (although not that surprising for me) was that there is, actually, a lot of research on CSed, but researchers have a hard time impacting some of the large programs being deployed, as well as the people designing programming languages — so, there is an issue with connecting researchers, language designers, and policy makers.
Q: Why is computer science education important?
A: Computer science is important for a few reasons. First, almost all professions need some sort of CS knowledge in one way or another: artists, scientists, journalists. Your ability to perform basic tasks in these professions is dependent on knowing how to code, even though it might not look like traditional coding. For example, query a government database, automate your phone to perform certain tasks, create interactive art, analyze big datasets, or create a computational model of a chemical reaction. Also, in the same way that knowing how to read and write text enables us to communicate and express ideas, the ability to read and write code determines our ability to interact with others and solve problems in the 21st century.
Computational media is also a great way to express creative ideas, tell stories, create art. It is not only for work. Today, it is common for researchers in the physical sciences to exchange and collaborate on computational models. They have a working hypothesis about a certain molecular behavior, they put it in a model, send to each other, get feedback.
Lastly, even your ability to pick a candidate in an election is impacted by your CS knowledge. If you do not know what algorithms are and what they can do, you are more prone to being manipulated by social media. We should see CS as a topic that is as important as math or English in the curriculum, and not anymore as an elective or a “nice to have” in schools.
From the report’s recommendations:
Advancing CSEd in equitable ways requires a comprehensive approach that ensures all students are well prepared for the future. Building on the recent advances made in CSEd and the growing demand for more, the CSEd community should consider pursuing strategies that can benefit all students, especially those who are underserved. We highlight recommendations below that address the findings of this report.
Create clarity around the different visions of CSEd
- Create clarity and alignment around the core rationales that varied stakeholders use to advance CSEd (labor market, computational thinking, computational literacy, equity of participation), so that the solutions implemented build upon the similarities, compatibility, complementarity, and differences between them.
- As CSEd grows, it should maintain some of its key transformational and innovative elements. Such elements include the focus on project-based learning approaches, alignment with learner interests, culture, and ways of expression, exploration of new content areas, collaborative work, and openness to multiple ways of doing CS (epistemological pluralism).
Make participation equitable
- National rollouts of CSEd must prioritize and evaluate their impact on improving the equitable participation of all students regardless of backgrounds, motivations, preparations, and abilities. The demand for computing skills is growing rapidly not only for economic reasons but in all aspects of children’s lives. Preparing all students for the future requires institutions and mechanisms that shape and support CSEd to develop plans and to assess how effective they are in providing learning opportunities for all students.
- CSEd should be mandatory content in public schools in order to overcome biases and structural inequalities that prevent equitable participation. As long as CSEd continues to be viewed as an elective or specialty subject, concerns will persist about the unequal presence of CS in public schools, the quality of instruction, and educators’ and counselors’ unconscious bias regarding who is “suited” to take CS classes.
Ensure teachers are prepared and supported
- Develop integrated systems of teacher certification, training programs, and professional incentives, with special attention to the pre-service pipeline. The interactions between teachers and students in classrooms are a determining factor in whether students learn CS successfully. Teachers are the linchpin in any effort to implement and change CSEd and so the preparation, effective development, and retention of CSEd teachers need to be prioritized.
- Provide high-quality teacher preparation and induction models focused on inclusive CS pedagogical content knowledge. In addition to exposing teachers to CS content, teacher preparation programs must also provide teachers with time to learn and practice inclusive CS pedagogies. These pedagogies need to be interwoven into the entire PD program.
Create continuity and coherence around learning progressions
- Describe recommended sequences for CS knowledge and skills that can build on one another as students learn new topics over time. With clear connections between what comes before and after a particular point in the learning progression, teachers can scaffold any missing knowledge or skills and determine the next steps to move the student forward.
- Develop robust and developmentally-appropriate programming tools for multiple age groups, especially for K–8, and domains that also provide additional insights into student learning. We should develop new programming tools and dashboards that can also help teachers with classroom activities such as managing and assessing complex project-based work, as well as infrastructures for research data sharing.
“Computer science is rapidly emerging as a distinct feature of K-12 public education in the United States and abroad. Meeting this growth requires a solid understanding of the knowns and unknowns with regard to the state of the computer science education field. Specifically, our understanding of student learning and the research opportunities that exist or that might be created to ensure fruitful and sustained advancement for all students has never been more important,” said Sepi Hejazi Moghadam, head of research for Google Computer Science Education. “To support this demand, it is critical that computer science education implementation in formal education be grounded in a deep understanding of what we believe students need to learn, when we feel they are ready to learn, and what we need to do to support their learning.”
That’s why Google commissioned the report.
“Our hope is that it can guide efforts to support and contribute to new research designed to support student learning in computer science,” Moghadam said. “We are pleased to have supported Dr. Paulo Blikstein’s work and anticipate that this report will generate lots of new discussion and actions on the part of members from the research and practitioner communities.”
Banner image credit: U.S. Department of Education