Accessible K-12 Computer Science
Richard E. Ladner
Paul G. Allen School of Computer Science and Engineering
University of Washington
What is Computer Science?
Previous DIAGRAM Center reports have addressed the topic of “accessible coding” that is one aspect of accessible computer science. Computer science is a relatively new discipline that started in the 1960s at universities around the world. For quite a few years it was a small discipline compared to the classic disciplines of mathematics, physics, chemistry, and biology that are mainstays in K-12 education. The proliferation of small but powerful computing devices, the rise of the internet, and the general applicability of computers to almost all disciplines that have happened over the past sixty years have propelled computer science to become a central discipline alongside the STEM classic disciplines. Computer science is not just a set of technical skills, like coding, but a way of thinking about solving problems more generally. The purpose of this report is to give a broad view of computer science with a focus on accessible K-12 computer science.
Before getting much further into the details about what computer science is, let me describe what it is not. The use of specific computer applications like text editors, spreadsheets, internet search, and, often, computer programming, have been taught in high schools for many years in Career and Technical Education (CTE) programs as skills necessary to the join the workforce after high school. By contrast, computer science is not just about learning a set of skills, but like other disciplines, it is about learning a way of thinking, sometimes called computational thinking, which is about how problems can be solved creatively using computation. Computer science is an academic topic taught in general education. The new high school computer science curriculum, AP Computer Science Principles (AP-CSP), gives a summary of computer science concepts and practices. It identifies seven big ideas: creativity, abstraction, data and information, algorithms, programming, the internet, and global impact that comprise the heart of computer science. In addition, it identifies six computational thinking practices: connecting computing, creating computational artifacts, abstracting, analyzing problems and artifacts, communicating, and collaborating that relate to the skills learned along with the subject matter.
Thinking about computer science at the college level, in research, and in the workplace, it is comprised of many sub-disciplines: theory, programming languages, computer architecture, computer operating systems, computer networks, artificial intelligence, machine learning, robotics, computer graphics, privacy and security, ubiquitous computing, human-computer interaction, and many others. Some of these topics are also touched upon in K-12 education. For example, robotics is extremely popular for school children with programs like the First Robotics Competition.
Why is Computer Science Important?
There are a number of reasons why computer science is important. First, as someone who has worked in the field for almost fifty years, it is fascinating to learn both the fundamentals, that have not changed that much over the years, and the latest discoveries and innovations that always keep me on my toes. My specialty area is accessible computing which has blossomed over the past twenty years. Second, computer science is where the jobs are in science, technology, engineering, and mathematics (STEM) disciplines. According to the U.S. Bureau of Labor Statistics, the growth in computer occupations between 2014 and 2024 will be over one million, much more than in any other fields (See figure 1).
Who is Doing this Already?
Unlike other topics of the DIAGRAM report, those doing computer science in accessible ways are, for the most part, the students and end users, rather than educators and parents.
According to the National Center for Education Statistics (NCES), the number of bachelor’s degrees awarded in 2015-16 in computer and information sciences was 64,400. At the same time, 22,800 students graduated in math and 30,500 in physical sciences (NCES, 2017). According to the Survey of Earned Doctorates there were about 2,000 PhDs in computer and information sciences awarded in 2017. This is less than the number in each of chemistry (2,700) and physics (2,200) and slightly more than in mathematics and statistics (1,900) (NCES, 2017). The number of PhDs in computer and information sciences will surpass these other fields in the next ten years if current growth trends continue. Computer science is becoming more popular both at the undergraduate and graduate levels. So, who exactly makes up these booming numbers? The short answer is everyone, including students with disabilities. In fact, I am privileged to know many individuals with disabilities in computing fields, thereby giving strong anecdotal evidence that computing fields are open to people with disabilities. Two colleagues I am particularly proud of are my former PhD students at the University of Washington: Shaun Kane, now a professor at the University of Colorado, and Shiri Azenkot, now a professor at Cornell Tech in New York City.
The long answer on who makes up these numbers is much more complicated. Although 11 percent of undergraduates have a disability (NCES, 2019), to our knowledge, there is no public resource for finding the percentage of students with disabilities who obtain bachelor’s degrees in computer and information sciences. In terms of the PhD, the Survey of Earned Doctorates (SED) asks doctoral recipients about their functional limitations. In 2017, 7.2 percent of doctoral recipients reported a functional limitation that was moderate, severe, or unable to do (NCES, 2017). How this percentage is related to having a disability is unknown, and, in our view, problematic. For example, the percentage of PhDs who have moderate, severe, or unable to do for visual limitations is 2.3 percent which is far more than the approximately 0.1 percent with visual impairments under the Individuals with Disabilities Education Act (IDEA) reported by NCES (NCES, 2019).
Interestingly, we can find some information about professionals in computing fields who have a disability. In particular, the Stack Overflow website has an annual survey that asks users about disability status. Stack Overflow is the leading question and answer forum for developers in the world. The 2018 survey had more than 100,000 respondents of which 11.4 percent reported having a mental difference and 1.7 percent a physical difference. How these percentages relate to having a disability is unknown. For example, the question about vision is phrased as “I am blind/have difficulty seeing” which reports a 1.4 percent response. Considering that 75 percent of the respondents to the Stack Overflow survey are less than 35 years old, this percentage is quite high compared with the IDEA reporting of visual impairments at 0.1 percent.
Challenges and Opportunities for Students with Disabilities
As mentioned before, there is inconclusive data on the number of students with disabilities who take, major in, or focus on computer science. This makes it hard to determine the full scope of the problem and the best ways to offer support. You can see the ramifications of this lack of understanding by the fact that most tools and curricula used in K-12 computer science education are not fully accessible; principally, they are not screen reader accessible. But this isn’t to say the field is impossible for students with disabilities. Quite the contrary. In fact, with the CS for All Accessibility Pledge, the number of accessible tools and curricula is growing. In this section I review some of the important tools and curricula that address students with disabilities. In some cases, these tools were also reviewed in previous DIAGRAM reports. Some of these tools are used in classrooms, others are used in out-of-school programs, and some in both settings. All the programs are out-of-school programs.
AccessComputing is a National Science Foundation funded project, founded in 2006, that has the goal of increasing the success and number of people with disabilities in computing fields. AccessComputing supports about 400 students with disabilities in computing majors across the US. Almost all these students are in postsecondary institutions, and about 25 percent are graduate students. Again, this group of students demonstrates anecdotally that computing fields can be accessible to students with disabilities.
Quorum Programming Language: The Quorum language is a born accessible programming language that is evidenced-oriented, meaning its syntax and semantics are vetted using randomized controlled trials. Quorum has web-based and downloadable versions. The Quorum language website has many lessons that can be used either in a classroom setting or self-paced.
Accessible Computer Science Principles: This course follows the Code.org computer science principles curriculum, but it is screen reader accessible.
Bootstrap: Bootstrap is a combined curriculum and tool that uses the programming paradigm to teach algebra, physics, and data science. The Bootstrap tool was not born accessible, but an accessible version has been created that will hopefully be available soon (Schanzer, Braham, & Krishnamurthi, 2019).
Blocks4All: As mentioned earlier there are accessibility problems with blocks-based languages like the tool used by Code.org. Blocks4All is a touch screen implementation of a blocks-based language that is born accessible and suitable for young children who are blind or visually impaired. Typical outputs for blocks-based programs are animations that are not accessible either. The output for Blocks4All is the behavior of a robot. Currently there is only a beta version of Blocks4All because it is a research project. Watch the Apple app store for a downloadable version in the future. The design and testing of Blocks4All is published (Milne & Ladner, 2018).
SAS Graphics Accelerator: The SAS Graphics Accelerator is a born accessible data science tool that supports alternative presentations of data visualizations. It is compatible with screen readers and also provides coherent sonifications of different kinds of graphs and charts.
Swift Playgrounds: Apple has created a screen reader accessible programming environment for iPads with visual and auditory output called Swift Playgrounds. It is a basic programming environment suitable for younger children. It is downloadable for free.
Code Jumper: Microsoft Research started Project Torino several years ago to create a tangible programming environment, meaning the programming components are physical plug-in devices (Morrison, et al., 2018). The product is now called Code Jumper. Orders can be made from the American Printing House for the Blind.
Deaf Kids Code: Deaf Kids Code is a program for deaf and hard of hearing children to engage in computational thinking and computing. The program is held around the U.S. as one-day workshops.
Techgirlz and Techboyz: These programs at the National Technical Institute for the Deaf are for 7th-9th grade children to engage them in science and technology.
Tech Kids Unlimited: Tech Kids Unlimited is a New York City based program for children with learning differences to engage in computer science. They offer two program pipelines, one for ages 7-13 and another for ages 14-21.
Other mainstream programs: There are many national mainstream programs for children to become engaged with computing and computational thinking. Many of these programs are welcoming to students with disabilities, although most will struggle with having a blind or visually impaired student. Here is a sampling of such programs.
In addition to these national programs there are regional programs that may be welcoming to students with disabilities.
Case Studies and Examples of What is Being Done for Special Populations aka ” The Computer Science for All Movement”
In 2016 the Obama White House initiated the Computer Science for All (CSforALL) initiative to help bring computer science more fully into K-12 education. The National Science Foundation had already been supporting efforts to create high school level computer science courses, including Exploring Computer Science (ECS) and Computer Science Principles (CSP). Since the announcement of the CSforALL initiative there has been a flurry of activity around CS curriculum development and professional development of teachers. After three years, CSforALL has turned into a movement with Code.org as a major player, curriculum throughout K-12, and leading in CS professional development. There are other important players including the College Board that has turned Computer Science Principles into the fastest growing AP course ever created with more 3,700 schools offering the course and more than 70,000 students taking the AP-CSP exam in the academic year 2017-18. The Computer Science Teachers Association (CSTA) is a leading voice setting standards and representing CS teachers.
A major goal of CSforALL is equity; that is, that computer science be available to all students and in all schools. To achieve equity, an important question is: will computer science be accessible to the approximately 15 percent of K-12 students who have disabilities (Ladner & Israel, August 2016)? The current answer is not a simple yes or no, but more complex. Some curricula are accessible to some children and some are not to other children. For example, the K-8 curricula from Code.org is age appropriate, working on basic computational thinking like incorporating problem solving and moderate abstraction into teaching about computational thinking. On the other hand, the curricula introduces a blocks-based programming environment that is not screen reader accessible (see figure 4).
A major player in the CSforALL movement is the CSforALL Consortium that serves as a central resource for individuals and programs that are working on K-12 CS education in the U.S. Among the Consortium’s activities is the CSforALL Summit that is held every year. At the 2018 Summit, a major theme was the accessibility CS education and the Accessibility Pledge. The accessibility pledge is a way for programs involved in K-12 CS education to commit to making their programs accessible. To date, more than 110 CS education programs have taken the Accessibility Pledge. The fact that the CSforALL Consortium has made accessibility a mainstream concern for the K-12 CS education community is very encouraging.
As part of the CSforALL movement, AccessCSforAll was created to lead the effort in making the K-12 computer science curricula accessible. It is a National Science Foundation-funded project between the University of Washington (UW) and the University of Nevada, Las Vegas (UNLV). Professor Andreas Stefik at UNLV and I work together closely in curriculum and tool development and in providing professional development to teachers of children who are blind and visually impaired, deaf and hard of hearing, and learning disabled. In particular, AccessCSforAll created an accessible version of Code.org’s Computer Science Principles course. The inaccessible tools were replaced with either Quorum language-based tools or unplugged activities.
This past summer, 2018, AccessCSforAll held professional development workshop for teachers of blind and visually impaired children based on Code.org’s curriculum and the new accessible version (Stefik, Ladner, Allee, & Mealin, 2019). In summer 2019, a similar professional development workshop will be held for teachers of the deaf and hard of hearing students. In summer 2020, the workshop will be for teachers of students with learning disabilities.
In addition to curriculum development and professional development, AccessCSforAll is a resource for any computer science teacher that has a student with a disability in their class. It also serves as an advocate for inclusion of students with disabilities in computer science classes, and it helps launch the CS for All Accessibility Pledge.
Computer science is a large and fast-growing field. There is a huge gap between the number of computer science graduates in the U.S. and the demand for them by companies. This gap has caused companies to recruit internationally and look for non-traditional employees, including people with disabilities. An example of a program that focuses on hiring people with disabilities is Microsoft’s inclusive hiring programs.
Not all students will want to focus on or major in computer science. There are many complementary disciplines in colleges and universities such as information technology, informatics, game design, user interface/user experience (UI/UX), and others. All these disciplines require quite a bit of computer science knowledge, and at a minimum, programming. Computational thinking and effective use of computational tools are also required in most technical disciplines, especially science and engineering disciplines. Not all students will want to major in technical fields. Nonetheless, most colleges and universities have general requirements for graduation that include at least one science, math, or other technical course. Learning computer science at some level is valuable for all students because computers and software permeate our culture.
It is encouraging to see that computer science is becoming a central topic in K-12 education. Other countries in the world are ahead of the U.S. in bringing computer science to K-12 education. With the Computer Science for All movement, computer science education is happening in the U.S. and the effort is making sure that students with disabilities are included. A major problem in this effort is the lack of accessible programming environments. Of the hundreds of Hours of Code that have served hundreds of millions of children around the world, only a few are fully accessible. Almost all the endorsed providers of the popular AP Computer Science Principles curriculum do not have accessible content. In spite of this gap in access there are efforts to provide accessible programming environments including the Quorum programming language, Blocks4All, SAS Graphics Accelerator, Bootstrap, Swift Playgrounds, Torino, and JBlock. Hopefully, there will be many more accessible tools and curricula to come.
Conclusions/Actions for Parents, Educators and Students
Callout for Teachers
More teachers in all STEM fields will be asked to include computing in their curriculum because modern science requires computing; functions such as data analysis, simulations, and numerical computations cannot always be done by hand. Always ask curriculum providers: How will my students with disabilities be included?
Callout for Parents
Computer science has become a fundamental discipline for the 21st century. Your children’s schools should be embracing the CS for All movement in order to prepare their students for the modern world. Always ask the school board, principals, and teachers: What are my children learning about computer science and computational thinking? If your child has an Individual Education Program (IEP) or 504 Plan, make sure they are not excluded.
Callout for Students
Regardless of your disability, you should be able to participate in computing classes in your school. You may eventually choose a profession that does not involve computer science knowledge, but you should have the opportunity to take computer science in a way that meets your accessibility needs.
- Fayer, S., Lacey, A., & Watson, A. (January 2017). STEM occupations: past, present, and future.
- Ladner, R. E., & Israel, M. (August 2016). “For all” in “computer science for all”. Communications of the ACM, 26-28.
- Ludi, S., Ellis, L., & Jordan, S. (2014). An accessible robotics programming environment for visually impaired users. 16th international ACM SIGACCESS Conference on Computers & Accessibility, (pp. 237-238).
- Milne, L. R., & Ladner, R. E. (2018). Blocks4All: Overcoming Accessibility Barriers to Blocks Programming for Children with Visual Impairments. CHI Conference on Human Factors in Computing Systems. ACM.
- Morrison, C., Villar, N., Thieme, A., Ashktorab, Z., Taysom, E., Salandin, O., . . . Zhang, H. (2018). Torino: A Tangible Programming Language Inclusive of Children with Visual Disabilities. Human-Computer Interaction, 1-49.
- National Center for Educational Statistics. (2017). Bachelor’s degrees conferred by postsecondary institutions, by race/ethnicity and field of study: 2014-15 and 2015-16. Retrieved from https://nces.ed.gov/programs/digest/d18/tables/dt18_204.30.asp
- National Center for Science and Engineering Statistics. (2017). Doctorate recipients reporting one or more functional limitations, by broad field of study, sex, and citizenship status: 2017. Retrieved from https://ncses.nsf.gov/pubs/nsf19301/assets/data/tables/sed17-sr-tab028.pdf
- National Center for Educational Statistics. (2019). Fast Facts. Retrieved from https://nces.ed.gov/fastfacts/display.asp?id=60
- Schanzer, E., Braham, S., & Krishnamurthi, S. (2019). Accessible AST-Based Programming for Visually-Impaired Programmers. 50th ACM Technical Symposium on Computer Science Education, (pp. 773-779).
- Stefik, A., Ladner, R. E., Allee, W., & Mealin, S. (2019). Computer Science Principles for Teachers of Blind and Visually Impaired Students. 50th ACM Technical Symposium on Computer Science Education, (pp. 766-772).