Pre-Teaching Programming Languages To Visually Impaired Students

When I was an undergrad student, I withdrew from one of my programming classes because I felt overwhelmed. Overwhelmed is the best word I have found to explain the chaos of trying to balance learning course content while also having to learn an entirely new programming language, learn to use new software, figure out how to use assistive technology and accessibility settings to access everything, and deal with the cognitive fatigue and visual fatigue that comes from trying to do all of this at the same time as a student with low vision. Before I took the class again the next semester, I met with the professor so they could pre-teach a few concepts about the programming language and software that we would be using throughout the semester, so I could plan for my access needs and not spend so many hours straining my eyes to figure out basic tasks. This short lesson helped us identified prerequisite skills I would need to access information effectively and made a huge difference, as I got an A+ in the class!

The idea of pre-teaching concepts to visually impaired students or providing information in advance is not something groundbreaking, as many teachers of students with visual impairments recommend pre-teaching strategies to provide context or clarification about visual concepts or give students the opportunity to learn prerequisite skills or ask questions. With that in mind, it can be challenging to figure out what students “need to know” or what types of information are helpful. While individuals are the expert on their own visual impairments and access needs, here is a non-exhaustive list of prerequisite skills for taking coding and programming courses for blind students and students with low vision, along with tips for pre-teaching programming languages to visually impaired students.

How to structure pre-teaching lessons for students with visual impairments

Visual impairment is a spectrum, not a binary. Even students that have the exact same condition or level of usable vision will vary in terms of how they use their vision to access information, their technology preferences, and how familiar/comfortable they are with different subjects. Some students may need direct, individualized instruction with multiple opportunities to practice, while others may prefer to largely explore resources on their own. Likewise, instructors and specialists often vary in their levels of experience with teaching a blind student how to code, teaching students with visual impairments, or their familiarity with different software or operating systems. Pre-teaching or identifying prerequisite skills can happen before the first day of a course, but it can also be an ongoing or recurring process throughout the semester to ensure that students are confident with accessing information.

Before anything else, it is helpful for both instructors and students to review the course syllabus to identify the types of concepts that will be taught in the class, as well as the textbook and software requirements. While the student will likely not be familiar with every topic on the syllabus, this can be used to highlight lessons that may be more challenging for the student to access (e.g. interpreting visualizations) or prompt them to come up with a list of questions they have for the course. When possible, the syllabus should be provided weeks in advance so pre-teaching lessons can be planned accordingly.

Based on their information needs, pre-teaching lessons and meetings can be structured as:

  • Sharing text-based resources that explain how to install a software or instructions on how to perform common tasks. Avoid using PDFs, as these are generally not accessible for screen reader users.
  • Virtual meeting with the student where they share their screen and go over questions that they have about accessing the course.
  • In-person meeting where the student has their own computer/device or uses the lab computer for their class.
  • Scheduling a meeting during office hours or before the start of the course.
  • Creating a video that describes visual information and shares step-by-step instructions.
  • Hosting or attending a workshop that introduces participants to the programming language/software so they can try it on their own.
  • Having the student send an email to the professor before the beginning of the semester with their disability accommodations letter and asking to set up a meeting.
  • After receiving the disability accommodations letter, the professor can reach out to the student and ask if they would like to meet and familiarize themselves with the tools they will be using for class.

Depending on how comfortable a student is with using assistive technologies such as a screen reader or screen magnification, pre-teaching lessons may include having the student meet with an assistive technology specialist, teacher of students with visual impairments, or another visually impaired person who has experience training others how to use assistive technology. Since I had previous experience with using assistive technologies, I mostly talked to my professor about the technology we would be using in the course so I would understand how I was expected to use it and to guide my own research.

Related links

Choose an IDE or use the Command line

Figuring out what IDE to use and what accessibility features are available is essential for pre-teaching programming concepts to students with visual impairments. Also known as integrated development environments, IDEs are software applications that support the process of writing, debugging, and managing code. Some programming languages and IDEs also offer accessibility add-ons or libraries/packages specifically designed for assistive technology or accessibility purposes.

Allowing students to explore IDEs or new software in advance can help with identifying key accessibility features or barriers the student may encounter. The accessibility features available in IDEs can vary widely, and some students may have a preferred IDE that they are already comfortable using. Professors can also reach out to an assistive technology specialist, access coordinator, or Disability Services to ask about accessible IDEs or tools they have used with other students. If it does not fundamentally alter the course, consider allowing students with visual impairments to use their preferred IDEs if they already have one, especially if they use nonvisual assistive technologies like screen readers or braille displays.

There are several IDEs that offer accessibility features for visually impaired users such as Visual Studio and RStudio, but they may still be significantly challenging to use for students with visual impairments. In these scenarios, students can learn how to use command line interfaces or command prompts, which may be easier to navigate with a keyboard or screen reader, though the professor may need to adapt assignment instructions or lectures to reflect how the student is accessing information.

Skills to pre-teach or learn ahead of time:

  • Download and install programming language and relevant packages/libraries
  • Install the IDE or software for the course
  • Learn to access the command line/command prompt
  • Run a basic “hello world” program to introduce fundamental concepts

Related links

Learn keyboard shortcuts and hotkeys

Visually locating and clicking on an icon or reading a long list of menu options can be challenging for visually impaired students, especially for icons or words that are visually similar. While it is helpful to know where different icons are located, pre-teaching keyboard shortcuts and hotkeys can help students focus on performing tasks instead of visually scanning or straining their eyes to locate information. Some programs may allow users to set their own custom keyboard shortcuts or add additional hotkeys for features as well.

I really appreciated the opportunity to learn keyboard shortcuts in advance because my professor would typically not use them during lectures, and I could not read the tool tips that would appear when hovering over icons. Instead of straining my eyes to try and find the “run” icon every time, I would perform a short keyboard shortcut and focus on reading my code’s output instead. Many IDEs publish a list of keyboard shortcuts and hotkeys as part of their official documentation, or professors can create a list of keyboard shortcuts to share with students.

Skills to pre-teach or learn ahead of time:

  • Learn keyboard shortcuts for popular or frequently used functions or actions
  • Share a list of keyboard shortcuts or hotkeys
  • Assign custom hotkeys, if needed

Related links

Enable display customizations

As a student with low vision that also has double vision, one of the most (if not the most) impactful pre-teaching lessons involved learning to enable display customizations and customize the appearance of the IDE we would be using in my class. Adjusting the line height and setting up a single-column layout made a tremendous difference for my double vision, as I could more easily read code output or use magnification to enlarge information. Other display customizations like adjusting the font size, color scheme, or changing the font style can also improve the readability of visual information for students with low vision or neurological visual impairments/CVI who primarily access information visually. Since display customizations aren’t typically covered in lectures, customizing display preferences in advance can help students access information in a way that works for them.

With that in mind, I discovered that using display scaling or zoom in some programs like RStudio would cut off graphics or distort the appearance of charts. In these situations, I would have to zoom out, take a screenshot or export the graphic, and then zoom back in so I could read the text. When this happened in another class, my professor and I had no idea why graphics were not displaying correctly, and I was glad to have them there to troubleshoot the issue and come up with a workaround.

Skills to pre-teach or learn ahead of time:

  • How to customize the appearance of the editor/terminal or apply global display preferences
  • Change the font size, spacing, colors of the display to make content easier to read
  • How to zoom in or zoom out, and instances where this may be needed.

Related links

Read dialog boxes or pop-ups

A lot of dialog boxes and pop-ups have small font sizes, which can be challenging to access visually. Another component of pre-teaching can be ensuring that students can read dialog boxes and interact with them independently, as display scaling may distort the appearance of dialog boxes and make them more challenging to close; for example, I sometimes have to click on dialog boxes and drag them further up my screen in order to see the “ok” or “save” button. Tools like Magnifier or other ways to enlarge on-screen information will be useful, and the professor can also enlarge dialog boxes during lectures using these tools as well.

Over time, visually impaired students may memorize error messages or dialog boxes, as they can recognize the shape of text/lines and may recognize what is there without having to read it visually. Alternatively, they may enable sound notifications or auditory feedback. Although careful reading is an important skill to have, this doesn’t necessarily mean that the student suddenly can read small print or that they are ignoring dialog boxes entirely, they just may not need to read the entirety of the dialog box to know what it says.

Skills to pre-teach or learn ahead of time:

  • Read dialog boxes and dismiss/close them
  • Enlarge dialog boxes with screen magnification or reading them with a screen reader
  • Turn on sound notifications or auditory feedback

Related links

Access graphics or visualizations

For students with low vision or that access information visually, it is useful to learn how to customize graphical outputs to make them easier to see, which can include changing the colors or font sizes used, opening images in a new window or tab to zoom in, or changing the line thickness/size of elements so they are easier to interpret. For example, I had difficulties with the default gray on white color scheme used for the graphics in one of my assignments, so my professor showed me how to assign different colors or use color-coding for variables so I could detect patterns more easily; it’s worth noting this option would not have been useful if I was colorblind.

For blind students or those that access information nonvisually, some programming languages like R have packages for making graphics accessible to screen readers or on braille displays, or there may be extensions or components that can generate image descriptions or alt text. Some students may also benefit from having a sighted assistant or AI tool interpret graphics, though it is more valuable to have students access and interpret information on their own instead of getting secondhand information from a potentially biased source.

The most valuable part of pre-teaching programming concepts related to graphics or visualizations in this context is not necessarily teaching students everything in advance, but rather setting expectations for accessing graphics and figuring out how to make them accessible. This process will be very different depending on the programming language used and the student’s access needs.

Skills to pre-teach or learn ahead of time:

  • How to display graphics and what default graphical output looks like
  • Assign colors or change display elements
  • Test packages or add-ons for accessing graphics nonvisually

Related links

Read code and resolve syntax errors

During the first lab class, the lab assistant did not allow students to use auto-complete tools that would insert closing parenthesis or add semicolons at the end of statements. As a result, I would spend a lot of time reading lines of code character-by-character and developing visual fatigue, only to discover I made a very simple error like adding two semicolons and would run out of time to finish the rest of the lab. I still remember how frustrated I felt when the (sighted) lab assistant asked me “what took you so long to figure that out?”

Honestly, I didn’t know how to answer that question, because I had no idea how the lab assistant had found the error so quickly when it had taken me several minutes to do so. Following that incident, I asked one of my friends to help me learn how to proofread code and minimize syntax errors, something I wish I had practiced before the lab. Strategies that helped me to decrease visual demands when learning to write code included:

  • Automatically adding semicolons, matching parenthesis/brackets, and automatic indentations within the IDE
  • Use rainbow parenthesis or other color-coding to help with matching
  • Spell checker or highlighting potential syntax errors before running code
  • Using text-to-speech to listen to selected text
  • Enabling auto-complete recommendations for variable names or packages

These tips helped me to focus on learning different ways of using a programming language or ways to write code, instead of trying to focus my eyes to find a missing comma. Students who use screen readers may also need to adjust verbosity settings or enable a screen reader mode when using their IDE to assist with reading code or making changes.

Skills to pre-teach or learn ahead of time:

  • Enable spell checker or tools to assist with typing, such as increasing verbosity for screen reader or automatically adding syntax elements
  • Understand case sensitivity and how to correct errors
  • Decide how the student will read text within the editor: magnification, text-to-speech, braille display, etc.
  • Identify how the student will write code if they are not using the built-in editor within an IDE

Related links

More tips for teaching programming to visually impaired students

  • Instead of sharing screenshots of code snippets that can be challenging to enlarge or access with a screen reader, transcribe the text of the screenshot or present it as a code snippet that students can copy/paste. For my classes that used Python and R, my professors would use tools like Jupyter notebooks or Google Colab. Learn more about how I configured Colab in large print in Google Colab Low Vision Accessibility
  • For students that are overwhelmed, discouraged, or feel like they are incapable of learning programming, it can be helpful to read examples from other visually impaired professionals to learn about their coding workflows or how they use assistive technology. That said, it isn’t very helpful to say things like “if they can do this, why can’t you?” because chances are they have had years of practice with programming and/or using assistive technology! I interviewed my friend about how he uses assistive technology for writing code in AT and me: An interview with Yotam – Perkins School for the Blind
  • Want tips for how to teach R to students with visual impairments? Read Tips For Teaching R Programming To A Low Vision Student
  • For students with visual impairments looking for text-based resources, check out Free Accessible Coding Resources With Large Print Options

Tips for pre-planning student access needs in programming and coding courses, and proactively addressing accessible coding barriers

Published December 9, 2025. Updated December 2025

Reference
Lewis, Veronica. (2025). Pre-Teaching Programming Languages To Visually Impaired Students. Veroniiiica. https://veroniiiica.com/pre-teaching-programming-vi-students/ (Accessed on December 31, 2025)