CS471: Computer Science Pedagogy - CS4All: UDL for Inclusive Computing Pedagogy

Activity Goals

The goals of this activity are:
  1. To apply the principles of UDL to CS curricula

Supplemental Reading

Feel free to visit these resources for supplemental background reading material.

The Activity

Directions

Consider the activity models and answer the questions provided. First reflect on these questions on your own briefly, before discussing and comparing your thoughts with your group. Appoint one member of your group to discuss your findings with the class, and the rest of the group should help that member prepare their response. Answer each question individually from the activity, and compare with your group to prepare for our whole-class discussion. After class, think about the questions in the reflective prompt and respond to those individually in your notebook. Report out on areas of disagreement or items for which you and your group identified alternative approaches. Write down and report out questions you encountered along the way for group discussion.

Model 1: UDL - Multiple Means of Engagement

Engagement: The "WHY" of Learning Recruiting Interest: Encourage individual choice and relevance. Sustaining Effort & Persistence: Foster goal-oriented effort and collaboration. Self-Regulation: Enhance motivation and develop self-assessment skills.

Questions

  1. How can you provide options for individual choice and autonomy in computer science learning activities? For example, allowing students to choose project topics and methods based on their interests.
  2. How can you make computer science concepts relevant and valuable to students' personal interests and future goals?
  3. How can you optimize the level of challenge when teaching different computer science skills to sustain motivation and effort?
  4. How can you utilize collaborative learning and peer support to help students persist when learning challenging computer science concepts?
  5. What kinds of authentic, mastery-oriented feedback can you provide students on their progression in computer science skills?
  6. How can you promote positive mindsets about capability to learn computer science among all students?
  7. What strategies can you teach students for coping with frustration when solving difficult coding problems?
  8. How can you build students' skills in self-assessment and reflection on their progress in computer science?
  9. In what ways can you minimize unnecessary distractions and threats that could undermine engagement during computer science learning activities?
  10. How can you vary modalities and scaffolds to support perception, comprehension, and execution of computer science skills for diverse learners?

Model 2: UDL - Multiple Means of Representation

Representation: The "WHAT" of Learning Perception: Customize the display of information and offer alternatives. Language & Symbols: Clarify vocabulary and promote understanding across languages. Comprehension: Activate background knowledge and guide information processing.

Questions

  1. How can you present computer science concepts through multiple modalities like visual, auditory, tactile to support perception?
  2. In what ways can you highlight patterns, big ideas, and relationships in computer science to enhance comprehension?
  3. How can you activate prior student knowledge and connect it to new computer science concepts?
  4. How can you support decoding of complex computer science symbols and notation systems?
  5. What scaffolds can you provide to guide information processing and visualization of abstract computer science concepts?
  6. How can you clarify computer science vocabulary and syntax for English language learners?
  7. In what ways can you illustrate computer science concepts through multiple media?

Model 3: UDL - Multiple Means of Action and Expression

Action & Expression: The "HOW" of Learning Physical Action: Vary response methods and optimize access to tools. Expression & Communication: Utilize multiple media for communication and construction. Executive Functions: Guide goal-setting and facilitate information management.

Questions

  1. How can you provide alternatives for students to physically interact with devices and respond to computer science assessments?
  2. How can you optimize access to computer science tools and assistive technologies for diverse learners?
  3. What options can you provide for students to demonstrate computer science knowledge through different media?
  4. What varied tools can you provide to support planning, composition, and problem-solving in computer science?
  5. How can you build fluency in computer science skills with graduated scaffolds and feedback?
  6. How can you guide students in setting measurable goals in computer science learning?
  7. What scaffolds can you provide for students to monitor their progress in developing computer science skills?
  8. How can you facilitate managing time, materials, and information when solving complex computer science problems?

Universal Design for Learning (UDL): Principles and Applications in Computing Education

Provide Multiple Means of Engagement (Affective Networks: the WHY of Learning)

Engagement is the “why” of learning, and it’s essential to motivate students to interact with the material and become active participants in the learning process. In a computing classroom, this can be achieved through the following strategies:

Section Checkpoint Description
Recruiting Interest    
  7.1 Optimize individual choice and autonomy: Allow learners to make choices based on their own interests, such as choosing assignment topics, materials, and methods of response. Support self-determination.
  7.2 Optimize relevance, value, and authenticity: Connect learning activities to students’ personal experiences, cultural backgrounds, and future interests/goals. Emphasize real-world relevance.
  7.3 Minimize threats and distractions: Reduce unnecessary distractions, threats, and stressors in the learning environment. Build positive classroom climate.
Sustaining Effort & Persistence    
  8.1 Heighten salience of goals and objectives: Make learning goals, objectives, and activities clear. Help learners understand purpose and motivate persistence.
  8.2 Vary demands and resources to optimize challenge: Offer scaffolds, alternatives, and challenges at an optimal level. Avoid boredom and frustration.
  8.3 Foster collaboration and community: Encourage peer-assisted and collaborative learning. Highlight interdependence and shared goals.
  8.4 Increase mastery-oriented feedback: Provide frequent, specific feedback that focuses on effort, improvement, and achieving standards.
Self Regulation    
  9.1 Promote expectations and beliefs that optimize motivation: Foster positive beliefs about learning abilities. Help learners see themselves as capable.
  9.2 Facilitate personal coping skills and strategies: Teach and support strategies for coping with frustration, managing emotions, developing resilience during learning.
  9.3 Develop self-assessment and reflection: Build learners’ metacognitive skills for analyzing progress and setting personal goals. Teach self-assessment.
Recruiting Interest
  • Optimize Individual Choice and Autonomy: Allow students to choose projects that align with their interests, such as developing a mobile app or a game.
  • Optimize Relevance, Value, and Authenticity: Connect coding exercises to real-world applications that are relevant to students’ lives.
  • Minimize Threats and Distractions: Create a safe and inclusive environment where all students feel comfortable sharing their ideas and asking questions.
Sustaining Effort & Persistence
  • Heighten Salience of Goals and Objectives: Clearly define the learning objectives for a coding project and how it aligns with broader course goals.
  • Vary Demands and Resources to Optimize Challenge: Provide different levels of challenges in coding assignments to cater to diverse skill levels.
  • Foster Collaboration and Community: Encourage teamwork and collaboration on software development projects.
  • Increase Mastery-Oriented Feedback: Provide constructive feedback that focuses on mastery and growth.
Self-Regulation
  • Promote Expectations and Beliefs that Optimize Motivation: Foster a growth mindset by emphasizing that coding skills can be developed through practice and persistence.
  • Facilitate Personal Coping Skills and Strategies: Teach strategies for overcoming coding challenges and dealing with frustration.
  • Develop Self-Assessment and Reflection: Encourage students to reflect on their learning process and self-assess their progress in coding skills.

Provide Multiple Means of Representation (Recognition Networks: the WHAT of Learning)

Section Checkpoint Description
Perception    
  1.1 Offer ways of customizing the display of information: Provide options for adjusting size, color, contrast, layout, etc. of visual information to optimize perception for learners.
  1.2 Offer alternatives for auditory information: Provide the same information through different modalities like vision or touch for learners with auditory processing differences.
  1.3 Offer alternatives for visual information: Offer audio descriptions, tactile graphics, etc. to provide access to visual information for learners with visual differences.
Language & Symbols    
  2.1 Clarify vocabulary and symbols: Teach the meaning of key terms, symbols, idioms, jargon, etc. Provide alternate explanations of ambiguous or technical vocabulary.
  2.2 Clarify syntax and structure: Clarify unfamiliar syntax and underlying structure of expressions, equations, diagrams, etc. to enhance understanding.
  2.3 Support decoding of text, mathematical notation, and symbols: Provide cognitive supports to help unpack complex notation systems like sound-symbol correspondence, mathematical notations, music notations, etc.
  2.4 Promote understanding across languages: Support learners with limited English proficiency. Clarify key terms in multiple languages.
  2.5 Illustrate through multiple media: Present key concepts in multiple formats including visual, auditory, and tactile. Do not rely solely on language.
Comprehension    
  3.1 Activate prior knowledge: Use visual imagery, concept maps, advance organizers to link new info to prior knowledge and experiences.
  3.2 Highlight patterns, critical features, big ideas, relationships: Emphasize key elements, show cause/effect relationships, compare/contrast, organize concepts to enhance understanding.
  3.3 Guide information processing and visualization: Provide scaffolds to process information, categorize important details, visualize complex concepts, solve problems.
  3.4 Maximize transfer and generalization: Vary contexts for applying knowledge to promote flexible transfer of concepts and skills to new situations.
Perception
  • Customize the Display of Information: Allow students to choose different color schemes or font sizes in coding environments.
  • Offer Alternatives for Auditory Information: Provide transcripts for audio lectures on algorithms.
  • Offer Alternatives for Visual Information: Use descriptive captions for visual aids in a computer graphics course.
Language & Symbols
  • Clarify Vocabulary and Symbols: Create a glossary of programming terms for beginner coding classes.
  • Clarify Syntax and Structure: Provide clear examples of correct code syntax.
  • Support Decoding of Text, Mathematical Notation, and Symbols: Offer tools to interpret complex mathematical notations in algorithms.
  • Promote Understanding Across Languages: Translate course materials into different languages.
  • Illustrate Through Multiple Media: Use videos, diagrams, and text to explain a concept like recursion.
Comprehension
  • Activate or Supply Background Knowledge: Connect new learning to prior knowledge, such as linking database concepts to spreadsheet knowledge.
  • Highlight Patterns, Critical Features, Big Ideas, and Relationships: Emphasize the underlying patterns in object-oriented programming.
  • Guide Information Processing and Visualization: Use flowcharts to visualize algorithmic processes.
  • Maximize Transfer and Generalization: Encourage students to apply coding skills to real-world problems.

Provide Multiple Means of Action & Expression (Strategic Networks: the HOW of Learning)

Section Checkpoint Description
Physical Action    
  4.1 Vary the methods for response and navigation: Provide options for physically interacting with instructional materials and responding to assessments, like typing, pointing, speech-to-text, etc.
  4.2 Optimize access to tools and assistive technologies: Make learning tools available and accessible to learners with motor differences, like grips, keyboard alternatives, voice control.
Expression & Communication    
  5.1 Use multiple media for communication: Allow diverse ways to communicate knowledge, ideas, and concepts, such as through drawing, speech, video, modeling, etc.
  5.2 Use multiple tools for construction and composition: Provide a variety of tools to help learners organize their ideas, draft written work, create diagrams, build models, etc.
  5.3 Build fluencies with graduated levels of support for practice and performance: Guide learners in the development of communication skills. Provide models, feedback, and opportunities for practice.
Executive Functions    
  6.1 Guide appropriate goal-setting: Teach learners to set measurable and attainable learning goals with guidance and scaffolds.
  6.2 Support planning and strategy development: Help learners make plans, sequence steps, schedule efforts, and develop learning strategies.
  6.3 Facilitate managing information and resources: Provide checklists, templates, organizers to help manage time, materials, technology, and information.
  6.4 Enhance capacity for monitoring progress: Provide reminders and guides for learners to track progress and evaluate how well they are meeting their goals.
Physical Action
  • Vary the Methods for Response and Navigation: Allow different input methods, such as voice commands, in coding exercises.
  • Optimize Access to Tools and Assistive Technologies: Ensure accessibility of coding platforms for students with disabilities.
Expression & Communication
  • Use Multiple Media for Communication: Encourage students to present projects through videos, blogs, or live demonstrations.
  • Use Multiple Tools for Construction and Composition: Provide various coding environments and tools for different tasks.
  • Build Fluencies with Graduated Levels of Support for Practice and Performance: Scaffold coding exercises to gradually increase complexity.
Executive Functions
  • Guide Appropriate Goal-Setting: Help students set achievable goals for a software development project.
  • Support Planning and Strategy Development: Facilitate brainstorming and planning sessions for group projects.
  • Facilitate Managing Information and Resources: Teach students to use version control systems like Git.
  • Enhance Capacity for Monitoring Progress: Implement regular check-ins and reflections on project progress.

Goal: Expert Learners who are Purposeful & Motivated, Resourceful & Knowledgeable, Strategic & Goal-Directed

The UDL framework aims to create expert learners who are purposeful, motivated, resourceful, knowledgeable, strategic, and goal-directed. By applying these principles in computing education, educators can create inclusive and effective learning environments that cater to diverse needs and preferences. The integration of UDL in computing education not only enhances accessibility but also fosters creativity, collaboration, and critical thinking, essential skills for the future of technology and innovation.

Submission

I encourage you to submit your answers to the questions (and ask your own questions!) using the Class Activity Questions discussion board. You may also respond to questions or comments made by others, or ask follow-up questions there. Answer any reflective prompt questions in the Reflective Journal section of your OneNote Classroom personal section. You can find the link to the class notebook on the syllabus.