Universities are actively seeking worthy projects and community collaborators. After learning basic computer science skills, these university students thrive on designing and creating useful games and tools. Students in upper level computer science (CS) classes learn to create apps and software as part of their standard coursework; Bio Medical Engineering (BME) students learn to create physical devices and tools. University professors are encouraged and are passionate about research and developing cutting-edge tech solutions to solve problems. Many exciting educational tools for students with visual impairments began as university projects and many more projects are under development.
Publicly Available University Projects
There are a wide variety of educational tools for K-12 students with visual impairments that began as a university project. Here are a few:
- APH's Braille Buzz: A physical device that teaches emerging braille skills to young students. (Joint CS and BME class projects, University of North Carolina)
- CodeQuest: (See below) A coding concept app with 3D and/or embossable files for manipulatives and/or tactile graphics. (Now available through APH, originally a University of North Carolina CS project)
- Tar Heel Reader: A website geared for beginning readers who are older; teachers and students create and share easy-to-read accessible books. (CS project, University of North Carolina - over 10 million books read on Tar Heal Reader!)
- Math Melodies: An accessible iOS math concepts app designed specifically for students with visual impairments (CS project, University of Milan)
- Vital: Software that enables teachers to create accessible STEM graphics and enables students with visual impairments to independently access these graphics on an Android tablet using auditory, tactile and haptics. (Vanderbilt University)
Anyone can present project ideas. Different courses will have different needs. TVIs - tend to be creative thinkers and are used to modifying materials - are encouraged to share to share project ideas! No computer science background is required! Students in beginning level courses may choose to create accessible K-12 educational materials.
Example: The University of North Carolina requires that every student complete 100 volunteer hours. For their volunteer hours, some students have created incredible books specifically to be shared with TVIs and students through Paths to Technology. Here are two different types of accessible books created by UNC students in their Enabling Technology course, which is open to CS students and other majors. See the full list of accessible books here.
Other students have created 3D files and 3D printed education materials to provide tactile manipulatives for students with visual impairments. Here is an example of a CS iOS app class project called CodeQuest, an accessible coding concept app that has been given to APH and publicly released.
This video demonstrates the CodeQuest app.
The CodeQuest app was accompanied by 3D printed manipulatives.
Computer Science students in upper grades are ready for standard CS projects, such as creating apps or software; depending on the course, the project can be fairly easy or it can be more complex.
Connecting with University Professors
Have an idea? Share it! Typically, professors will blast a call for ideas/collaborators (which they call "clients"). If your idea is app/website/software related, contact the university's computer science department. Find out what classes have class projects and are looking for ideas and collaborators. Typically, professors will ask for ideas a week or two before the start of the semester or during the first couple of weeks. I just receive a call for projects this week (May) for fall semester. Once you are on a specific professor's list of potential collaborators, you will receive an email notification about the call for project ideas each year/semester (depending on courses taught by that professor).
Note: Different professors may have their own way of handling a project. This information is based on my experiences working with CS and/or BME classes at the University of North Carolina and North Carolina State University. I have been a "client" for numerous class projects for the past 15 years.
Typically, the professor will review your idea to see if it meets the scope of the semester. The complexity of the project will vary according to the class and the level of the course. If your idea is not appropriate for this specific course, ask what course might be a better match. The professor will ask you to submit a written proposal of the idea. Often the description will include a brief explanation about the issue and how this app will address the issue. Some classes will ask for specific goals to be completed during the semester.
Students will review the project options and will choose the project that they are most interested in. Often there are three or four students on the project; however, some projects may be assigned to one grad student (for an independent studies course).
Student teams will determine when they will meet to work on the project. Depending on the course, the student team may also meet weekly or as needed with their professor. Students will also meet weekly or as needed with their client (you!). Often client meetings are held virtually through Skype, FaceTime or even conference calls. (Note: Due to my hectic travel schedule, I often meet virtually with students on a weekly basis when students have specific questions or something new to discuss and I only meet face-to-face at the beginning and the end of the semester.) Teams also can email me, the client, with specific questions or to share information. When developing an iOS app, I encourage the students to upload their working version of the app into TestFlight. (Testflight is Apple's app for developers which allows each member of the team hands-on time with the app while it is under development.)
Note: The student team meets with the professor for coding and CS-type help. The team meets with the client for feedback, direction and prioritizing the next steps. I often provide support from a teacher and student perspective and for iOS apps, I provide support as a VoiceOver user. Again, I know NOTHING about writing code!
The commitment is for the semester. While I have had teams that worked with little guidance, I prefer touching base weekly even if only for a few minutes. That helps the team to stay focused and to work weekly on the app (and not procrastinate until the end of the semester). Most courses will require "sprints", meaning that the student team has to reach specified course goals every few weeks and they present their project in front of the class two or three times during the semester.
Typically, each team member has a "job" according to his/her strengths. Example: One person is the communication person (who is the only one who emails the client and is responsible for sharing client feedback with the team).
Remember: CS teams are learning real skills throughout the course, including communication with the client, how to listen and then follow the client's wishes, team work, researching code and de-bugging code, learning about accessibility, presenting progress to the client and in class presentations, meeting deadlines, etc.
As a client, I provide feedback on the team at the end of the semester. Typically, the professor is well aware of the team dynamics; my feedback is often about team interactions from my perspective as a client.
All the teams that I have had the privilege of working with have been passionate and dedicated! Some teams have gone way above and beyond my expectations while other teams focus on smaller details and do not make as much progress as I had hoped. Over the years, I have learned how to be a better client which has impacted the success the of the teams.
As a client, I have learned to narrow the scope of the project to better accommodate a semester long project. Choose the most important aspects of the app and focus on accomplishing that. Keep it simple! In my experience, one semester is enough time to structure the app and to build in a few game plays. There is not enough time to add lots of options, settings, teacher tutorials, etc. Personally, I have found that it takes at least two semesters to get a fully functional app ready for the app store, which means a second team has to chose the app the following semester. On occasion, a grad student has worked on an app over the summer in order to complete the app. I also ask from the start, that the team draw out the 'boards' (screen design). I have accepted hand-drawn screens; the goal is to see where the buttons are placed and the general design to ensure that the app is user friend for low vision students and those who rely on screen readers. These drawings have saved a ton of "do-over" time!
It is my job as the client to keep the team on track and not dive too far down the rabbit hole. For the first semester, I want a working 'proof of concept'. The second semester will add bells and whistles and expand the game play. Once an app is in TestFlight (or available for me to have hands-on time), I often take quick video clips to share what works and what needs to be worked on. There will be bugs! That's part of the learning process. I use my 'teaching skills' to encourage and guide the team and yet give them opportunities to be creative and to make suggestions. They often come up with things I have never considered! If possible, have blind users try the app at various stages. This provides much needed feedback and is incredibly motivating for the CS team!
Not all projects will end up available to the public. Some projects are used as 'proof of concept' projects. Example: An NC State computer science team developed an app that enabled educators to create accessible multiple choice, fill-in-the blank, short answer, True False assignments, quizzes and tests. This app was never released publicly but was a proof-of-concept app PRIOR to the development of Google Forms and other apps.
This semester I was a client for two University of North Carolina computer science teams (Serious Games course). One team is addressing the issue of making digital lines accessible using sonification. (See Sonitunes post here.) The second app addressed the issue of accessible digital number lines. (More on these cutting-edge technologies in future posts.)
Collaborating with the university students is an amazing experience! Not only do these teams have the potential of creating exciting, accessible tools, these CS students are learning first-hand about accessibility! They take this knowledge with them as they enter the work place. Numerous students have shared feedback with their professors that they felt their AT-related project was the most worthwhile thing that they did during their university time. Some of these students have gone into accessibility-related jobs while others have mainstream CS jobs - each student takes their accessibility knowledge with them! Students that have worked on AT projects are now working for big companies (like Google, Apple and Amazon) while others are working for small start-up companies. The ripple effect has just begun and has already made a positive impact!