Introduction to Accessible Coding
Coding education is becoming an increasingly common and important part of the curriculum in elementary schools around the world.
It is an activity that is recognized as supportive to the development of:
- digital literacy
- creative thinking and
- collaborative skills
All of these developments are prerequisite skills for participation in the new knowledge economy. Though it is difficult to predict what the specific nature of employment positions will be in the future, the accelerated pace of change in today’s market increasingly requires workers to be highly skilled in:
- team collaboration
- to be flexible and adaptive to new technologies and practices
- to engage critically and creatively with digital innovations and
- to embrace the demands of continuous learning and on-the-job skills development
While coding is seen primarily as a means for developing the specific technical skills that will support future career opportunities, coding education is equally important as a way to develop social, daily living, communication, and creative skills — coding to learn.
“These skills are useful not just for computer scientists but for everyone, regardless of age, interests, or occupation” - Mitchel Resnick, 2013
Students who are supported in developing self-reflection or metacognitive skills regarding their own learning needs are more likely to succeed in the learning process, and to ultimately be better prepared for navigating the constant change and lifelong learning required for participation in a variety of activities. Coding education, when approached with this broad perspective and at an early age, offers a critical way for youth to develop the social, daily living, technical, and creative skills that will prepare them to contribute in the future.
Despite the recent emphasis placed by policymakers and educators on introducing students to coding at a young age, classrooms often do not have sufficient flexibility to accommodate the needs of students who have difficulty reading or who need additional guidance and time, or those who need help focusing or remembering. Many students who have complex learning needs are being excluded from the opportunity to learn or are relegated to passive roles, while their peers actively engage in solving problems together computationally. Most popular block programming environments are incompatible or untested with commonly used assistive technologies such as screen readers, magnifiers, and reading/writing aids, and are limited in their ability to be controlled efficiently using alternative input devices such as switches, eye gaze cameras, or onscreen keyboards. Often, programming environments cannot accommodate system-wide changes to magnification, spacing, or text size, and do not provide simplified modes that help make it easier for students to read or focus on the salient parts of the program.
Yet students with disabilities often have the most to gain from the opportunities afforded by learning to code. Shared programming activities can help contribute to the development of skills that are essential for learning as well as daily life and work:
- expressive communication
Perhaps most importantly, coding provides students with new ways to discover and create personal outlets for creative expression. Learning to code can empower students to be active producers of their digital environments, rather than just consumers of prefabricated apps and games. This empowerment is particularly valuable for those who depend on assistive technologies or personalized user interface adaptations. Programming literacy can provide them with new means to reconfigure, script, or develop their own personally tailored access tools and features.
While there are many educational coding tools available to support block programming for elementary school students, none of them were designed with the needs of students with disabilities in mind, and all have accessibility issues that limit their use by some students. The lack of user interface flexibility, interoperability with assistive technologies, and the inability to add customized learning scaffolds and adapted materials are all major accessibility barriers within these environments. Furthermore, the coding curriculum resources written for teachers are not geared to instruction of students who have complex learning needs, who benefit from highly scaffolded instruction.
As in other areas of the curriculum, taking a UDL approach to coding instruction and materials can provide greater opportunity for the active participation of students who have complex learning needs. Teachers need assistance in modifying coding learning resources to suit their students’ needs and in understanding how to help students generalize coding skills to other aspects of curriculum and daily living.