Computing Profession Broadening participation

‘For All’ in ‘Computer Science For All’

Seeking to expand inclusiveness in computer science education.
'For All' in 'Computer Science For All,' illustrative photo
  1. Introduction
  2. K–12 Students
  3. Challenges
  4. Students with Disabilities
  5. Conclusion
  6. References
  7. Authors
  8. Footnotes
  9. Tables
'For All' in 'Computer Science For All,' illustrative photo

On January 30, 2016, President Obama announced the “Computer Science For All” initiative to expand K–12 computer science education in the United States: $4 billion to prepare teachers, expanding access to materials, and building effective partnerships. The goal of this initiative is: “… to empower all American students from kindergarten through high school to learn computer science and be equipped with the computational thinking skills they need to be creators in the digital economy, not just consumers, and to be active citizens in our technology-driven world. Our economy is rapidly shifting, and both educators and business leaders are increasingly recognizing that computer science (CS) is a “new basic” skill necessary for economic opportunity and social mobility.”a

The effort builds on Exploring Computer Science (ECS)b and AP Computer Science Principles (CPS)c to reach many more students. These efforts focus on high school. “All” students must include K–8 efforts by Code.org, ACM, and CSTA. This column clarifies the meaning of “For All” in “Computer Science For All.” Diverse students will take computer science, so effective curricula must embrace students with different backgrounds and accessibility needs.

Back to Top

K–12 Students

The National Center for Education Statistics (NCES) says there are approximately 50 million students in U.S. K–12 education. Table 1 shows numbers as of 2012 and projections to 2024. About 15% of students in K–12 are identified as having a disability. The 6.4 million students listed include only those with the act’s Individualized Education Program (IEP) under the Individuals with Disabilities Education Act (IDEA). An additional million or so have Section 504 plans under the Rehabilitation Act of 1973. They have the same education goals as peers and require sign language interpreters, real-time captionists, extended time to complete assignments and tests, note-takers, Braille or electronic books, and other common accommodations.

Four years ago almost half of K–12 students were non-white. The population is headed toward 55% non-white due to increases in Hispanic, Asian/Pacific Islander, and mixed-race students. Women are about at 50% of K–12 students, but along with Blacks, Hispanics, Native Americans, and students with disabilities, they are underrepresented in computing fields.

Back to Top


Reaching all K–12 students with computer science requires enough computer science teachers. Approximately eight years ago the U.S. National Science Foundation (NSF) created the CS 10K initiative to create two new high school courses: Exploring Computer Science (ECS), a gentle introduction to computer science that is taught with sensitivity to equity issues; and Computer Science Principles (CSP), a framework that has been implemented as a course in many ways using different approaches and computer languages. CSP can be an AP course if the curriculum is officially endorsed by the College Board. Starting in 2017 the AP CSP can serve for potential college credit or placement. ECS and CSP teachers are also trained to be sensitive to equity issues. The goal of the CS 10K initiative is to prepare 10,000 teachers in 10,000 schools to teach computer science by 2016, usually by retraining existing teachers. No one claims this goal has been reached, but in addition to NSF-funded professional development efforts, organizations like Code.orgd and Project Lead the Way (PLTW)e are training existing teachers to teach computer science.

There is a limit to existing teachers, so pre-service preparation is also needed. Unfortunately, most computer science majors are headed to industry, so new and creative approaches are required to attract them to K–12 education. They need not be as knowledgeable as full computer science majors, but they need to be passionate about teaching and be able to implement pedagogies that promote learning and engagement for diverse learners. Schools of Education and computer science departments can work together to prepare competent K–12 computer science teachers.

K–12 CS education must also be relevant to students not traditionally engaged with CS. Women, certain minority groups, and people with disabilities have low numbers in the computing workforce. Many do not take AP Computer Science A (traditionally introductory Java programming): of 46,000 U.S. students who took it in 2015, there were 21.9% women, 3.9% Black, and 9.2% Hispanic.f (We could not find data on students with disabilities.) Perhaps the lack of minorities taking AP CS A can be explained because the course is not taught in their schools, but women comprise approximately half of the students in most U.S. schools.

There is no silver bullet for making CS relevant to all, but the CS 10K initiative helps support ECS and CSP in the U.S. Code.org and other organizations have developed early introductions to computational thinking and programming that might yield more interest at higher levels. “Culturally responsive computing education” is an interesting approach in which the curriculum itself embodies norms and mores of students.3 For example, teachers can use culturally authentic characters, not stereotypes, as sprites when teaching Scratch.

Back to Top

Students with Disabilities

We are especially concerned for students with disabilities. In addition to availability and relevance, accessibility and specialized instructional approaches are needed. Curricula, including programming tools, must be accessible, and teachers must include students with disabilities in their classes. Students with disabilities comprise nearly 15% of K–12 students, and have a wide variety of disabilities (see Table 2). Most are taught alongside peers in general education settings and can learn the basics of computer science and attend college.

Challenges come in three categories: teachers’ attitudes/expectations, pedagogical approaches, and accommodations/accessible materials, including technology.

Teacher attitudes and expectations. IEPs provide specialized instruction to students with disabilities to increase academic and functional skills. An IEP for a student with a learning disability in reading might focus on increasing reading fluency and comprehension to help the student read at grade level, but for some students with disabilities expectations are lowered too much. This can create an unconscious bias that the student cannot learn computer science. Students with disabilities are often not intellectually limited and should not be deemed incapable of learning computer science. Unconscious bias should not have teachers, parents, and administrators set goals lower than they should be.

Pedagogical approaches. The Universal Design for Learning (UDL) approach provides a proactive way to increase the number of students reached.1 The approach uses strategies such as

  • scaffolding tools such as outlines, graphic organizers, and copies of projected materials with room for note taking
  • large, bold fonts on uncluttered slides in presentations
  • background and contextual information that provide more than the facts
  • alternative explanations of important concepts in instruction for all learners.

It helps teachers address the range of learner variability in classes rather than individualizing standard lesson plans for each student. Although UDL increases access and engagement for all learners (including those with disabilities), it may need to be further augmented by pedagogical approaches for specific learners with disabilities. These have not been fully studied for computer science education, but studies from other content areas show promise. Many students need explicit instruction in computational concepts and procedural approaches relevant to CS but not provided in the students’ IEPs. Emerging research from the CS education community might provide better guidelines.

Accommodations and accessible materials. Accommodations for students with disabilities, typically provided in IEPs or 504 plans, increase accessibility and/or allow students to demonstrate what they know. However, an accommodation often does not reflect grade-level expectations for students. Accommodations like extra time on exams, sign language interpreters or real-time captioners, or Braille might not be sufficient if course materials are inaccessible as is the case for too many K–12 CS course materials. Typical course materials for young students include block-based programming languages like Scratch (https://scratch.mit.edu/), ScratchJr. (http://www.scratchjr.org/), Tynker (https://www.tynker.com/), Blockly (https://developers.google.com/blockly/), App Inventor (http://appinventor.mit.edu/explore/), and Snap! (http://snap.berkeley.edu/). These languages rely on visual access to a screen where students can drag and drop blocks that snap together to form programs. Outputs from these programs are typically animations. Potentially, blind students might use these with the aid of a screen reader, but none of them is accessible using a screen reader. By contrast, most programming languages are text-based, and screen readers are very good at reading text. “For All” includes the 28,000 K–12 blind students in Table 2. We encourage the developers of block languages to make them accessible and to develop non-visual activities using them. Quorum,g a text-based language designed for young children, is screen-reader accessible, and has the interesting output command “say” that causes a speech synthesizer to speak the output through speakers or headphones. In addition to making the block-based languages accessible to a screen reader for blind students, adding a say command for output could make them more fun for all children.

Back to Top


We argue that “For All” in “Computer Science For All” means all K–12 students, including the underrepresented in computing fields: women, Blacks, Hispanics, Native Americans, and students with disabilities. There are challenges to such inclusion, particularly with respect to students with disabilities. Many countries are grappling with introducing computer science to K–12 education. The United Kingdom has a grass-roots organization called Computing at Schoolsh helping to coordinate nationwide efforts. According to European Schoolnet’s 2015 survey, 18 European countries have integrated or will integrate computer coding in K–12.2 Centralized education systems might make changing the curriculum easier, but all will have difficulty preparing teachers. “Computer Science For All” will be interpreted differently from country to country. What is meant by “all” remains a challenge.

Back to Top

Back to Top

Back to Top

Back to Top


T1 Table 1. Demographics of K–12 students in 2012 and projected to 2024. All but the last column are from NCES Table 203.60.* The last column is from NCES Table 204.30,** only disabled students under IDEA. There is no projection beyond 2012. All numbers are in thousands.

T2 Table 2. Disabilities under IDEA from NCES Table 204.30.* All numbers are in thousands.

Back to top

Join the Discussion (0)

Become a Member or Sign In to Post a Comment

The Latest from CACM

Shape the Future of Computing

ACM encourages its members to take a direct hand in shaping the future of the association. There are more ways than ever to get involved.

Get Involved

Communications of the ACM (CACM) is now a fully Open Access publication.

By opening CACM to the world, we hope to increase engagement among the broader computer science community and encourage non-members to discover the rich resources ACM has to offer.

Learn More