Accessible & Adaptable Computer Science Instruction

As Computer Science becomes part of K-8 instruction, teachers will need to adapt lessons to make them accessible to students with a broad range of physical, learning and neurological abilities. In the current module of our class, “Digital Learning Environments,” I wanted to examine how the ISTE Standard for Coaches 3, indicator d, “Select, evaluate, and facilitate the use of adaptive and assistive technologies to support student learning” (ISTE, 2011) could be applied to teaching Computer Science.

Applying Universal Design for Learning to Computer Science

I began this assignment by focusing on individual adaptive and assistive technology tool questions such as “Can screen readers be used with block programming languages?” I soon realized, however, that what I really needed was a framework that would help me adapt lessons for a variety of student needs across multiple grade levels. Once I had a better understanding of the framework, I knew I could research specific tools, based on the needs of individual students.

Through our class readings, I was introduced to Universal Design for Learning (UDL) which focuses on three core principles of instructional design:

  • Represent concepts and material in multiple ways
  • Allow multiple modes of expression of student learning
  • Engage students in a variety of ways

What I appreciate about UDL is that it seeks to expand the learning environment to allow more students of various needs and abilities to participate, while maintaining high expectations for each student. It minimizes, but doesn’t eliminate, the need for accommodations (Burgstahler, S., 2019).

The Creative Technology Research Lab at the University of Illinois (Israel, Lash, and Ray, 2017) has developed a useful model for applying UDL to Computer Science instruction, which I attempted to summarized in Figure 1. .

Figure 1: Universal Design for Learning in Computer Science

Provide Access to Assistive Technology & Communicate Expectations

In addition to the points listed in Figure 1, the Universal Design for Learning within Computer Science Education guidelines also call for using flexible and assistive technology such as websites that allow keyboard shortcuts or adjustment of visual settings when needed. The guidelines also cover the importance of scaffolding instruction and making expectations clear for projects, collaboration, and asking for help. The authors also include a detailed example of applying UDL to a 4th grade integrated Computer Science and Math project (Israel, Lash, and Ray, 2017).

UDL and Maker Education

Maker projects can provide rich opportunities for teaching computer science concepts and skills following the UDL principles of representation, expression, and engagement. Because maker education includes student choice and hands-on, cross-curricular activities, students with a range of abilities can build and show computer science learning using typical makespace materials like Legos, 3d printers, microcontrollers, and art materials. I’ve also witnessed how working collaboratively on maker projects boosts the confidence and inclusion of students with learning differences.

In his article “Encouraging Neurodiversity in Your Makerspace or Classroom,” Patrick Waters (2015) describes how teachers can leverage their neurodiverse students’ unique skills by giving them the physical spaces, lesson structure, and project roles they need to be successful and appreciated by their classmates. Some examples he gives are providing a quiet, less cluttered work area for a child with Autism, or using project or station-based approaches to appeal to students with A.D.H.D. In return, these students “..bring unique qualities of focus, nonlinear thinking, recall, and brainstorming enthusiasm to a makerspace or classroom.”

Broadening Awareness of Who Can Be a Computer Scientist

Just as girls and students of color need to see examples of people like them in Computer Science jobs, students with physical disabilities or learning differences also need to know how vital their contributions can be someday to technology fields. The video in Figure 2 from the DOIT Center at the University of Washington is a helpful resource to share with classes.

Figure 2: “How Can We Include Students with Disabilities in Computing Courses?” Source: TheDOITCenter, 2015. Retrieved from:

Teachers Can be Catalysts for Future Adaptive Technology

Seeing the examples of adaptive technology described in the video in Figure 2 reminds all students of how important accessibility features are to those who need them. Teachers can add to this awareness by requiring that accessibility be considered whenever even the youngest students are creating apps, games, or physical computing devices that could be used by others.

“Even one lecture in a class, even half a lecture in a class, can completely change the way a student thinks about the world and how people interact with technology. Because this is not something they have ever thought of before. Those small encounters with big ideas can be really impactful.”

Amy J. Ko (2018), Assistant Professor at the University of Washington Information School

Accessibility Issues & Potential Solutions for K-8 Computer Science

Computer programming is inherently a visual activity, making it a challenge for the visually impaired. For struggling readers or English-language learners, it’s reliance on written text can also create barriers. Finally, coding requires precise physical input (keyboard, mouse, touchscreen), which may be difficult for some students. 

Block Coding: Accessible for Some but Not for Others

The first tools that often comes to mind when K-8 Computer Science is mentioned is either or Scratch. Both these platforms use a block coding language to introduce students to Computer Science concepts and skills. The benefits to block versus text-based coding is that students new to programming don’t have to deal with complex, text-based syntax. Figure 3 shows code from using block commands on the left, with the same code written in JavaScript on the right: 

Figure 3 – Code created in a lesson shown in both block form (left) and JavaScript (right)

Many young students, with or without learning issues, would have a difficult time writing the code shown on the right in Figure 3. However block coding presents its own set of challenges to some students.

Visually Impaired Users

Block coding uses color and onscreen grouping to communicate related command types. Visually impared students can increase the size of blocks and text in browser-based block languages using the browser’s magnification tools. Scratch has its own built-in magnifying tool (Figure 4) for code blocks in the script area, but this tool has no effect in the menu area. 

Figure 4 – Sample code created in Scratch made larger using the magnifying tool.

Many visually impaired students use screen readers such as Microsoft’s Immersive Reader to read web pages, PDFs, and ePubs aloud, but these don’t work well in Scratch. Figure 5 is from a Scratch user replying to a post by a developer at MIT asking for input on making Scratch more accessible for the visually impaired. 

Figure 5: Screenshot of Post by Scratch User Offering Suggestions for Improved Accessibility. Source:Scratch Discussion Forums. Retrieved on 7/25/19 from:

An option for older Elementary or Middle School students who are visually impaired is to try Quorum, an accessible text-based programming language that works with screen readers. Younger students could circumvent block languages altogether by using BeeBots or Code and Go Mouse which are programmed by pressing buttons. Another interesting product with huge potential is Code Jumper, where users learn to code with physical buttons, dials and connected pods. Originally developed by Microsoft, it will be sold by the American Printing House for the Blind when it becomes available.

Motor Control Challenges

Block Coding is also very input device-driven and I have seen students struggle with touch screens and touch pads when moving blocks or inputting text into tiny boxes. Mice can often be easier to use than touchpads and provide finer control for small targets than touchscreens. The Creative Technology Research Lab at the University of Illinois recommends offering larger and smaller mice to accommodate different hand sizes (Israel, Lash, and Ray, 2017).

Reading & Language Barriers

Even though block-based coding is less text-intensive, most products rely on the ability to read. offers audio instructions and hints, but no built-in way to have command names read aloud. Microsoft’s Immersive Reader, however, will read menu blocks aloud in, both in the blocks area and the work area.

Scratch has built-in closed-captioned video tutorials which are helpful. And both lessons and Scratch are available in multiple languages.

I have also seen a student who struggled with reading use Scratch Jr. instead of Scratch to complete a project. He was able to learn the same coding concepts in an environment designed for pre-readers.

Additional Resources 

AccessCSforAll (University of Washington):

Blocks4All – accessible block-based programming language that works with a Dash robot. Video

Videos. Disabilities, Opportunities, Internetworking, and Technology. University of Washington. This is a great resource! 

“What are some examples of accessible programming languages?”

Profiles of professionals and students with disabilities who work in or study computer science or other information technology

Apple Everyone Can Code



Code and Go Mouse Activity Set: 

Description and videos showing how it can be used with blind or visually impaired students:

Perkins Learning, “Accessible Coding”

Quoram – Accessible Text-based Programming Language: (3 min version)

Web Accessibility Initiative 

“Diverse Abilities and Barriers in How People with Disabilities Use the Web”


Burgstahler, S., (2019). Accommodations and Universal Design. Presentation Summaries, Retrieved from:

Israel, M., Lash, T., Ray, M. (2017). Universal Design for Learning within Computer Science education. Creative Technology Research Lab, University of Illinois. Retrieved from:

ISTE Standards for coaches (2011). ISTE. Retrieved from:

Ko, A. (2018). Teaching accessibility: Including accessibility in your courses. Disabilities, Opportunities, Internetworking, and Technology Retrieved from:

Waters, P. (2015). Encouraging Neurodiversity in Your Makerspace or Classroom. Edutopia. Retrieved from:

3 thoughts on “Accessible & Adaptable Computer Science Instruction”

  1. Bridget, thanks so much for all the amazing accommodations and resources you give in this blog post. Having these resources explained and compiled in one post is so helpful to teachers who have students with disabilities and need a place to start. I have already bookmarked this post. Also, you’ve sparked my curiosity about UDL- I feel like i’ve heard about it before but when reading your post today I had to relearn its framework.

  2. What an undertaking this week! You covered quite a few accommodations and your insight is impressive. I can tell that you have a passion for ALL students being able to code and make. The letter to MIT was probably my favorite aspect of your blog this week. It shows how people can advocate for their needs and help MIT become aware of an issue that they may have overlooked. That is why diversity of programmers is so important. I hope that they consider the feedback in their next edition of Scratch. You do a great job of curating additional resources for us to check out!

  3. Bridget, Your extensive list of resources is supportive of learning outside of your classroom and demonstrates the application of UDL. I can’t help but think about my own learning experience and how far we have come as educations. UDL can change the way we look at education for all. Your focus on coding options through a UDL perspective provides a ‘birds-eye’ view into learning scenarios that will support learners and educators as they practice and facilitate learning. I appreciate how you make the learning opportunities manageable for your blog readers.

Leave a Reply

Your email address will not be published. Required fields are marked *