Computer science education is continually expanding, making its way into more classrooms, after school programs, and summer camps, finding a wider audience than ever before. This is a victory for the field but can present issues as the audience expands.
Computer science education is continually expanding, making its way into more classrooms, after school programs, and summer camps, finding a wider audience than ever before. This is a victory for the field but can present issues as the audience expands. Nearly 5% of students in the United States live with a Specific Learning Disability (SLD) such as dyslexia. This presents an opportunity to employ the approach of Universal Design for Learning (UDL). UDL operates under the idea that making curriculum accessible to all benefits everyone.
There are a few easy ways to help accommodate students with SLDs in your classroom that do not involve changing your content in any way. I have been teaching computer science to students with Language Based Learning Differences (LBLDs) for seven years, and have tried many different methods. Students with LBLDs can struggle with literacy tasks such as decoding and spelling, written and oral expression, and executive functioning tasks. No two learners are alike, which rings true regardless of disability status, but there are ways to make your classroom more accessible.
One of the most simple, yet successful methods I have found is to use tools that help accommodate for spelling, such as integrated development environments (IDEs) that incorporate autocomplete or pulldown menu suggestions while coding. Traditional spellcheck is also a tool that is wholly underutilized in IDEs. The JetBrains family of IDEs, such as PyCharm or Webstorm, offers services that will spell check user-created variables as well under their free educationally licensed IDEs. This is invaluable to breaking down the barrier of spelling for students with LBLD, as this is a common problem that arises during attempts to debug. By using tools that accommodate for this, students are freed up to focus on the logic and structure of their programs, as opposed to the minutiae of spelling.
Another way to help make your curriculum more accessible is by cutting down on text. I rarely use textbooks in my classroom. I will direct students to websites as needed, but tend to focus on interactive tutorials that provide immediate feedback, and videos that allow for a more multimodal approach. I also provide several resources on a topic in varying modes, for example, when we are learning about functions, I will try to point them to resources on the subject in video format, as well as in a textual format. This allows students control of their own education, and freedom to make the choice that is right for them. When using texts in the classroom, I have found success with the HeadFirst series from O’Reilly media, as they have interactive activities and diagrams that help students visualize computer science concepts.
When accommodating for students who struggle with written expression or oral expression, simple things like providing word banks, wait time, or sentence stems can help. Asking students to demonstrate competence in different ways can also be welcome as an accommodation. It helps to ask yourself “What competency am I looking to see demonstrated here? Am I testing this student on writing skills? Or their ability to utilize for loops?”, and then breaking down barriers as needed. If a student is struggling with writing, using a block-based language such as Scratch or AppInventor to start can allow them the freedom to learn concepts without having to focus their energy on written output. Using familiar layouts for worksheets and assignments can also help students navigate work more easily, as well as using IDEs that have boilerplate templates so as to cut down on repetitive writing tasks.
Computer science is so often a project-based field, and as a result, there are great opportunities presented to help students improve their executive functioning skills. Executive functioning encompasses the ability to organize time, materials, and information. I help students work through big projects by modeling how to break it down into smaller, more manageable pieces. I often take out a calendar and discuss how I decide where to place interim due dates by taking other calendar events into consideration. We also discuss time on a smaller scale, such as how to tackle work in chunks by breaking up your time. Helping students maintain an organizational system, be it a binder or a Google Drive folder with standardized guidelines, is also helpful for everyone, so work can easily be located later. Finally, organizing information can be a challenge for any student, and this is where note-taking skills and study skills can help everyone achieve success. This can be as simple as how to write two column or Cornell notes, or teaching how to utilize a textbook effectively, such as how to utilize a glossary and index. These are often skills that are not explicitly taught, but can be foundational skills for academic successes.
An important, yet often overlooked, aspect of any learning journey is the attitude of those around you. I am careful to be honest with my students about my own expertise. I am not formally trained in computer science, outside of one college-level course. I am self-taught and learned on platforms like EdX. I do not know everything there is to know about computer science, but neither does anyone else, and that is perfectly okay. This is the beauty of a constantly evolving field. I admit to students when I don’t know the answer. Then I teach them how to find the answer, how to effectively search for useful results, and how to vet websites for credibility. These are tools that will serve them far beyond our time together. This is yet another way that we as educators can make computer science accessible to all.
About the Author
Sarah Ciras is in her 11th year of teaching special education, and 7th year of teaching computer science at Landmark School in Beverly, Massachusetts. She works with AccessCSForAll in a research practitioner partnership on the National Science Foundation grant, AccessCSforAll: Including Students with Disabilities in High School Computer Science. As part of this grant, she is helping to facilitate a week-long professional development program for educators. She has spoken at SIGCSE, the CSTA Annual Conference, and the College Board Forum. She has also provided accessibility input on Code.org’s CSP curriculum and to the AP Instructional Design team at The College Board on Computer Science Principles. Sarah is married and has three children, but has four times as many pets. She also has a passion for theatre, reading, and watercolor painting.