Firas Moosvi, Lecturer in the Department of Computer Science, and Stefan Koenig, Science Education Specialist with Skylight embedded in Computer Science, discuss how they made a comprehensive website and accessible materials for their course, CPSC 103, using UDL as a framework.


What is your role, and what motivated you to engage with the UDL Fellows program and start incorporating UDL principles in your practice?
Firas: I’m the faculty member for this project and have been teaching for the last five years or so. I joined the Computer Science department in the fall of 2023 and inherited CPSC 203, the course in question, from the previous instructor. I noticed that everything in the course had an open license, but it was all done through Canvas, which restricted the types of ways that students could access materials by default for this type of course, which inspired me to learn more about UDL to fundamentally reshape how students interacted with the course and make the course more open to all.
Stephan: I’m the staff member for this project and have been working at Skylight, the Faculty of Science’s Teaching and Learning Centre, for three years. I work on teaching initiatives in the Computer Science Department, and because I consult many instructors, I became more interested in UDL to know how I can help implement accessible learning into different courses I help with. Gaining hands-on experience with UDL also helps me become more aware of friction points in designing our courses, which I find helpful since I can use that awareness to help others in our department avoid bottlenecks and other obstructions in making courses more accessible.
Could you tell me more about and walk me through your project and how your pillars of making course content more accessible, guiding information processing, and increasing mastery-oriented feedback by expanding the problem bank and what specific changes you undertook to CPSC 203 to apply UDL principles?
Firas: Like I mentioned, everything for the course was previously done in Canvas, which really restricted what could be done for this kind of course, so what I did was create a comprehensive website that would give students a more linear view of how to go through the course. The course already had great features like self-scheduled tests and practice materials, so I focused my energy on improving the workflow and user interface. The course required significant setup at the beginning to establish necessary tools and technologies. To address this, I added content to streamline onboarding, allowing participants to engage with the material more quickly.
I used this platform called Jupyter Book to create the course website, and it starts with the syllabus at the top. And I use a grid-shaped form that has panels that students can navigate to, covering topics such as the course structure, how to get help, how to access information about who’s teaching the course, how to contact the team, how the evaluation system works, what my teaching philosophy is, and how to do well in the course. On the left-hand side is a navigation panel with a linear structure, covering different sections of the course. Each section has videos associated with it that are embedded into the course too. On the right-hand side of the page is a checklist of all of the things you have to do for that week so you can track your progress. And then, for the class meetings, once they watch the pre-lecture videos, there are the class meetings and some PDF slides that they can access too. Through PrairieLearn, an online problem-driven learning system for creating homework and tests, we also have an exam bank that students enrolled in the course can access, with practice tests for every test in the course.
To streamline the set-up process, we put activities for the first part of the course directly in PrairieLearn and created a virtual environment for them to work in, with all of the packages they needed to have installed pre-installed, so they could follow along with what I was going through in class rather than having to struggle to do this on their laptops. And so once they got familiar with the course tools, the course structure, and this kind of workspace environment, we showed them how to run it on their own machines to give them some additional empowerment. To help students set up their machine, we made an interactive with annotated screenshots and animated GIFs in it, which also included alt text.
Stephan: One important thing to mention here is that CPSC 203 serves non-major students too, making it even more important to reduce friction as much as possible in the computer setup. What I’ve been working on is making the slides for the course more accessible, as the slides shared with students are in PDF format, which are notoriously bad for accessibility. I’ve been converting the lecture slides into HTML format using a platform that enables that and it also uses open-source tools, which makes the slides easier to modify. ChatGPT has helped me add alt-text to all the slides’ images too. The slides will be in a public repository on our site, like most of the site.
Can you share any resources, tools, or practices you found helpful in making implementing UDL easier?
Firas: The CAST UDL Guidelines page was very helpful, as it goes over multiple means of engagement, multiple means of representation, and multiple means of action and expression, and what all the different options are for access, support, and function of these principles. We already had a sense of what we wanted to create for our project, so we referenced the information and aimed to incorporate as many of these elements as possible, mapping our activities to ensure alignment with UDL principles.
Stephan: Jupyter Book was very helpful in that it’s what we used to generate the website, but I also found this platform called Quarto really helpful, as it has many tools that help you generate static web content, like HTML pages, which is great for accessibility as it supports things like screen readers. Regardless of how you do it, I think learning to make HTML pages is really helpful, as it makes reformatting so much easier.
How have students benefited from the UDL strategies you have implemented?
Firas: Some students have mentioned they really appreciated things like the videos embedded on the course website and the linear panel going over different sections of the course content. Students also used to consistently complain about the laborious set-up process for the course, and those complaints have disappeared.
Is there anything else we haven’t talked about that you would like to mention?
Firas and Stephan: We want to thank the student we hired who helped us do a lot of this work, Minh Anh. We also thank Cinda Heeren, the previous instructor and course creator, who met with us often to discuss the course content. Finally, we thank everyone who works on the UDL Fellows program for the workshops they presented to help us focus. UDL helps you empathize with your students, and the real benefit of it is that even though it might aim to make a course more accessible for certain groups of students, everyone ends up benefiting.