stumbling through computer science

Category: EDCI:565 Learning Design (Val)

Assignment 3 A & B: Computational Thinking

3A: Connection to Universal Design Learning

The following assessment is based on a comparison of my Creative Computational Thinking Resource against the Universal Design for Learning Framework.


This computational thinking and coding resource provides multiple means of engagement that offers each learner an opportunity to express their learning in a manner which is representative of them.

Digital Literacy

Digital literacy is the ability to use information and technology to find, create, and communicate information using creative and technical skills (Heitin, 2016). Each of these lessons emphasize and support teachers through computational thinking and provide context and terminology to support the activities. Students are scaffolded along the way, using World Walls of terms for guidance, building up brainstorming conversations, leaving space for error and struggle. Relevant uses of digital literacy are highlighted with references to Hidden Figures and early human calculators, as well as critical discussions about the struggles and places where coding and programming might be seen in the real world. The basis for computer literacy is balanced between direct instruction of terms, conversation and links to game-based, engaging learning to have a lasting impact on students.

Inquiry-Based Learning

Utilizing inquiry-based learning and self-discovery in each of these lessons supports UDL, as it leads to personal connection and interest. Supporting students as they stumble and make errors when building their code or algorithm builds a deeper connection to their end result, as they have had more investment and interest in the process rather than just being guided to the end result. Students develop grit and connection to their learning if they are allowed to make errors and feel frustrated (Duran, & Dökme, 2016). Threats and areas for distractions are limited because the lesson plans are designed to anticipate for areas of struggle, and there are supporting documents, videos and tips to guide students through these tough spots.

Measurable Outcomes

Each lesson is focused, concise, and has a measurable outcome at the end of each lesson. Each student is empowered to present their algorithms or Hour of Code based on a topic that interests them, but the outcome and expectation for the end result is the same for each student. With an overall outcome in mind, the teacher can adapt the process based on students interests and needs to ensure that each student understands the outcomes and learning goals from each lesson in a way that is authentic to their own learning. An example is if a student wants to go above and beyond and create a complicated algorithm for making a complete sandwich, and another student is capable of making a simple peanut butter and jelly sandwich algorithm using strips of paper, both students have demonstrated an understanding and utilization of the concept of what an algorithm is. Both satisfy the learning outcomes of the lessons, but are structured in a way which represent the learner.


Reducing Barriers

Computer science is a course which can be intimidating to teach if you do not feel you have years of experience in the field. This resource aims to reduce the barriers to access for teachers wanting to introduce computational thinking to their class, regardless of experience. Each resource provides clarifying videos, glossaries, and guiding questions to provide teachers with background information on the topic covered in the lesson. An example of this is the Khan Academy video explaining the various programming languages used in computing. Including multimedia resources creates an engaging and user friendly resource for both teachers and learners.

Concise and Effective

There was the temptation to input an extensive list of programs which teachers can use to demonstrate computational thinking and game-forward learning, but the emphasis of this resource was to create two well thought out, well-supported lesson plans which could be expanded to suit learners needs. Critical features and big ideas in the curriculum were the focus, with critical and creative thinking and problem-based learning being at the forefront of each lesson. Teachers can link this type of thinking to other subjects, and satisfy other big ideas in the curriculum. Providing extension suggestions, such as watching Hidden Figures or exploring careers in computer programming maximize the transferability of this resource and makes it applicable to many subject areas.



This resource provides room for individual responses and personal exploration of coding and gaming as an introduction to computational thinking. Students are given room to work on their own algorithms, explore their own Hour of Code program of their choice, and discuss ways in which they feel programming and coding applies to their own lives. Where this resource falls short is in terms of accessibility to those learners who may not be able to interact with video, online text, or guided instruction on SNAP! or LightBot. This resource relies heavily on self-paced learning or using the support of teaching assistants or guardians at home. It would be beneficial to explore ways in which to engage students who have accessibility barriers or who do not enjoy working at a their own pace.


As a follow-up, there could be a supplementary resource which gives students who do not enjoy inquiry or project based learning a chance to show their understanding through a worksheet or short quiz. While this type of learning is not in focus of the current curriculum, it is important to meet students where they are at in order for them to succeed. Assessment is also not included in these resources, as these lessons are designed for exploration and increasing interest in computational thinking. Assessment focused teachers may find this difficult and may not utilize this resource without knowing how to assess their students learning without concise learning outcomes and assessment strategies included. The assessment included in this resource involves formative techniques including guiding questions, checking in, monitoring student progress and observing their end products, but summative assessment is not included.

3B: Literature Review

Computer science empowers students with 21st century skills which are relevant to the current and future workforce (Fluck, 2016 & Webb, 2017). The term computer science differs from computer literacy because it refers to the ability to create and adapt new technologies; Literacies focuses more on using and mastering existing technologies (Webb, 2017, pp. 446). Teaching computer skills strengthens local communities, promotes innovation and provides future opportunities for youth (Fluck, 2016, pp. 44). A majority of the innovation in society comes from the use of computer science including biotechnology, geoscience, and global security. “We need to develop aware citizens – not necessarily creators but more than consumers” (Webb, 2017, pp. 448). Incorporating computer science and technology forward thinking prepares and engages students to innovate and create the new technologies which drive global economies and growth.

Computer science is a critical component of the new BC curriculum because the ability to innovate with technology is important for students’ future success. It empowers them with the abilities to adapt to a rapidly tech-forward job market and demands from global society. Webb’s (2017) article offered suggestions for engaging students, school districts, and teachers in the computer science curriculum. Bringing computational thinking into elementary grades makes the transition to more complex digital thinking easier and allows for more opportunities for inquiry-based learning in the later years (Webb, 2017, pp. 451). Computer science teams and competitions for innovative thinking can increase engagement and help students interact with computational thinking in a fun and exciting way. Fluck (2016) stresses the importance of making computer science courses accessible for all learners and teachers. Actively encourage and recruit a diverse range of students to take computer science courses and employ inclusive pedagogies to meet the needs and interests of these students (Fluck, 2016, pp. 41-43). Develop learning content that is visual and interactive, and weave in real-world examples of people creating technologies that will change and make the world a more positive and innovative place. Technology is everywhere, and students are using computers every day. Empower them to be creators and innovators of technology by engaging them in the computer science curriculum throughout their educational journey.


Duran, M., & Dökme, İ. (2016). The effect of the inquiry-based learning approach on Student’s critical thinking skills. Eurasia Journal of Mathematics, Science and Technology Education, 12(12) doi:10.12973/eurasia.2016.02311a

Heitin, L. (2016). Digital Literacy: An Evolving Definition. The Changing Face of Literacy, 36(12), 5-6. Retrieved from’s%20digital,both%20cognitive%20and%20technical%20skills.%22

Fluck, A., Webb, M., Cox, M., Angeli, C., Malyn-Smith, J., Voogt, J., & Zagami, J. (2016). Arguing for computer science in the school curriculum. Journal of Educational   Technology & Society, 19(3), 38-46. Retrieved from

Webb, M., Davis, N., Bell, T. et al. (2017). Computer science in K-12 school curricula of the 2lst century: Why, what and when?. Educ Inf Technol, 22445–468.

Lesson 2: The Language of Computer Science

Learning Objectives

Students will be able to:

  • Complete small coding tasks
    • Hour of Code
  • Explain why computer programs are written in specialized languages

Materials and Preparation

  • Computers with Internet Access
  • Synchronous online meeting tool such as Zoom or Bluejeans if teaching online and completing the lesson with the class
  • Asynchronous such as Google Classroom if teaching online but recording the instructions for students to complete on their own
  • Work through at least one of the coding activities on your own before the lesson:

World Wall

Terms introduced you may want to add to a classroom Word Wall either online or in person.

Word Definition
Algorithm A complete, well-defined sequence of steps for completing a task or solving a problem.
Computer An electronic machine that can solve different problems, process data, store & retrieve data and perform calculations.
Computer Science The study of the principles and use of computers.
Computer Program A sequence of instructions or steps, written in a language that can be understood by a computer, that will be used by the computer to complete a task or solve a problem.
Debug A process of locating and removing computer program bugs, fixing errors or abnormalities.
Programming Language A vocabulary and set of grammatical rules for instructing a computer or computing device to perform specific tasks.

Lesson Plan Pacing for a 55 Minute Lesson

Duration  Description 
5 minutes Welcome, attendance, bell work, announcements
5 minutes Introductory discussion
35 minutes Coding activities
10 minutes Debrief and wrap-up

Guiding Notes


  • Introduce the concept of a computer program: a sequence of instructions or steps, written  in a language that can be understood by a computer, that will be used by the computer to complete a task or solve a problem
  • Play this Introduction to Programming Video by Khan Academy
  • Ask the group what aspect of programming might be the most challenging and what skills are the most useful
    • Sample guiding questions:
      • What are the steps required to write a computer program:
        • This is essentially developing an algorithm for writing a program!
      • What knowledge might make writing a program easier?
      • What might you need to do when writing a computer program that you have never or rarely done before?
      • What parts of programming are most intimidating or scary?
      • What are you good at that might help you be a good programmer?


  • Allow students to struggle with the activities if needed, stressing the importance of patience and persistence in programming.


  • Guide students in a discussion about the activities including strengths, surprises and struggles
    • What was most challenging?
    • Explain that programming is a language and required editing and problem solving for a correct “sentence” or program to run and make sense
    • What was different about solving these computer program problems than other problems in school, other subjects, or in your every day life?
    • Why can instructions not be given in simple English? Why must we be limited to certain operations for building solutions?
    • If some students are interested, this can be an opportunity for a conversation about the difference between high-level programming languages and machine languages (assembly code). This video explains the difference between the two.

Accommodations and Differentiation

  • Let students struggle! Avoid the urge to show students the answer right away, and encourage them to try many approaches and develop partial solutions. This develops creativity in their expression of answers, as well as grit and determination when problem solving.
  • Do not let students skip out on certain steps, disengage or copy from a partner. The focus here is for individual expression of learning and demonstration of understanding. You can decide which students can work together, but only if collaboration and teamwork is part of your assessment.

Picking a program that is right for your students

  • LightBot Hour of Code is more challenging, but not substantially so, and is more game-like, which often leads to greater engagement. LightBot is recommended if students seem capable of handling the challenge.
  • SNAP Hour of Code is simpler, and has easier goals which take a shorter amount of time to accomplish. This task can be completed with the assistance of a guardian at home or with a teaching support in the classroom for students with specific learning accommodations.
  • It is unlikely that students will finish both activities in one class period. On the rare occasion some do, encourage them to explore SNAP! on their own or to try the full version of LightBot 2.0

Creative Computational Thinking

The following resources are example lesson plans which allow students to demonstrate computational thinking using projects which are unique to them. These examples represent ways educators can satisfy and meet the following learning outcome:

Learning Outcome

Student Independence:

  • Instructors and students will be able to use the appropriate platform of expression to demonstrate their ideas and conclusions to satisfy competencies, curriculum and assignment outcomes
  • The educators will demonstrate various strategies to use when experiencing struggles in understanding
  • The educator will prepare routines and materials for student reflection, focusing on work habits, understanding, and confidence

Creative Computational Thinking Lesson Plans

The following lesson plans are part of the broader Introduction to Computer Science curriculum which I have implemented into my grade 8 classroom over the last two years. Introduction to Computer Science is an engaging course that explores a variety of basic computational thinking and programming concepts through a project-based learning environment. The curriculum is flexible and approachable, with lesson plans adapted from the UC Berkeley CS 10.  The philosophy behind the lesson plans is that this introductory course is approachable and made for a wide range of high school students from diverse backgrounds.

The lesson plans advocate for hands-on, immersive learning; students learn through discovery, experimentation and application rather than lecture based learning. These lessons will suit an online, hybrid, or face-to-face teaching model in schools. Lessons are structure with a brief introduction of the concepts or terms, with a guided activity to allow students to practice with and experience the concepts covered in the lesson objective.

Accessibility to the lessons plans was a main focus during the design; these lessons do not depend on an specific technologies or resources in the classroom or home other than computers with reliable internet access. The lessons are also designed without homework assignments, as the focus is to have all the learning completed with the support of the educator. If learning is completed entirely remotely, it is assumed the student will be equipped with a computer and reliable internet. If the learning model is hybrid or entirely face-to-face, then these lessons are designed to be completed within the “classroom” with educational support. Lab work and projects can be explored at home, given the motivation of the student to pursue the learning further.

Lesson 1: Introduction to Algorithms and Order of Thinking

The purpose of this lesson is to introduce students to the concept of algorithms and relate this concept to every day routines such as getting dressed, making a sandwich, or cooking. Students are given the freedom to construct an example of an everyday algorithm which suits the learning outcome while representing their individual interests and ways of thinking and understanding.

This lesson can be executed without the use of SNAP! (a block-based coding program explained below), and can be completed either online entirely, delivered using a hybrid teaching model, or completely offline in the classroom.

At the end of the lesson, students will be able to:

  • Define algorithm
  • Construct algorithms for performing simple tasks
  • Identify real-world examples of algorithms

Lesson 2: The Language of Computer Science and Programming

The purpose of this lesson is to explore the different types of programming languages used in computer science using a class-based discussion and a student led activity. Students will understand that computers use a sequence of instructions or steps, written  in a language that can be understood by a computer, that will be used by the computer to complete a task or solve a problem. Students will then work through an Hour of Code activity that explores computer programming and its applications.

At the end of the lesson, students will be able to:

  • Complete small coding tasks
    • Hour of Code
  • Explain why computer programs are written in specialized languages

Background Information on SNAP!

SNAP! Block Based Coding Platform

Basic block-based computer coding can be explored using SNAP!, an approachable, rudimentary visual block-based programming tool with a flexible tool set. SNAP! is free and is ideal for introducing students to coding for the first time.

SNAP! Support

The following resources are available to support use of Snap! in these lesson plans:

Download a local copy of SNAP! as a backup:

Snap! can be downloaded to run locally on a student’s computer, however the projects will not be able to be save to the cloud and will need to be exported and then imported to the cloud when Snap! becomes available.

  1. Run Snap! from browser
  2. Click on the Snap! logo in the upper-left of the app.
  3. Choose “Download source” from the menu
SNAP! Download

SNAP! Download

  1. Save locally on your computer.
  2. Extract
  3. Open snap.html in a web browser.

Interested in working with Microsoft TEALS to bring computer science to your classroom?

Technology Education and Literacy in Schools (TEALS) is a Microsoft Philanthropies program that connects classroom teachers with tech-industry volunteers to create sustainable CS programs. Volunteers support teachers as they learn to teach CS independently over time.

Critical Self Expression

This post provides a rationale for the three resources I curated to assist students with self expression when submitting assignments and demonstrating their understanding of content within the remote teaching model.

The 2019/2020 school year was drastically changed with the COVID-19 pandemic. The Ministry of Education in British Columbia directed school districts to employ an online method of emergency teaching, with a hybrid model coming into place for some schools in June. The plan for online and hybrid teaching brought about various challenges for educators, students, and educational planners. One aspect of the online and hybrid model is examining student independence and accessing platforms to demonstrate learning.

This blog post will highlight and examine tools which promote independent learning and expression from students during this time of online and remote teaching.

The resources listed in the above blog support independent learning and expression. My rationale post will look at the integrity and reliability of these resources.

Digital Media


VoiceThread meets the needs of personalized demonstration of learning and unique expression of understanding of a topic. This program offers a variety of platforms to creating presentations and projects for students to explain their research, demonstrate their understanding of a topic or use original ideas and drawings to show the progression of a historical event or retell the major components in a story or novel. For older students, this VoiceThread is an ideal platform for developing digital portfolios and curating artifacts of learning when considering applications into post-secondary education programs.

Photo by Mark Fletcher-Brown on Unsplash

Photo by Mark Fletcher-Brown on Unsplash

As students progress and add more artifacts and creations to VoiceThread, their collection grows over time. This long-term collection allows for teachers to support student growth in digital literacy and also content knowledge to support assessment and demonstrate learning while students are learning remotely. Collaboration is a key feature, with students being able to co-create resources as well as comment and critique the works of their peers. They can collaborate and each add their own choice of media, such as video, drawing, images or audio to create a polished, diverse product demonstrating each contributing members voice and understanding.

Photo by Jakob Owens on Unsplash

Photo by Jakob Owens on Unsplash

In regards to privacy and protection of information, students can choose to make their projects public or private by adding their projects to a public gallery to be viewed by all, or sending a unique URL to the teacher over email. This does require students to be prepped on online safety, protection of personal information and plagiarism guidelines when using online content and assigning the appropriate contributions when referring to other peoples’ ideas and content.

Photo by Brooke Lark on Unsplash

Photo by Brooke Lark on Unsplash

When sharing a URL privately, it means that students will need to have an email and understanding of email to be able to submit projects only the teacher can view. The embed function allows for users to share projects on school websites or their own. While this is great for responsible curators, teachers will have to be mindful of who they give access to for their class website and make sure to monitor what content is being shared and created. Parent participation is needed for this resource, as it might be challenging for students to work with some of the new content and figure out how to share, send and comment on the work of their peers. Collaboration and flexibility in terms of expression and accessibility makes this VoiceThread a strong resource for remote teaching and individual student expression of knowledge.

Digital Cartoons

Toontastic 3D

Toontastic 3D is a user-friendly resource geared at younger audiences who want to display creativity in story telling, using a more structured and self-guided approach to animation. This app is approachable because the steps to story-telling are integrated into the program and guide users, even very young, through the creation process at every point along the way.

Students are given the creative liberty to create and direct stories in a manner which is personal and easy to use. From the start, the interface may be a bit challenging as students get used to moving their characters around and interacting with the set, but the overall approach to designing the set and characters, narrating the story using audio and other customization features are easy to use. If a student did have mobility issues, this would not an accessible app and does demonstrate limitations for this program. It is meant for students who are able to read written instructions, apply those instructions to their own project and have the mobility skills to use their hands to move the characters and the voice to record and narrate the story. If a student did have audio or mobility limitations, they could work with a parent or older sibling to use this platform, but it does take away from the individual creativity.

Photo by Benjamin Catapane on Unsplash

Photo by Benjamin Catapane on Unsplash

The program is offered as a free app on Android, iOS and Chrome, which does imply that data is used from user interaction for targeting advertisers and marketers for product placement and ads when using the app. The information required for creating an account is limited, with no personal information needed, which reduces the concern about privacy somewhat. Teachers assigning this as a learning tool are assuming the student has access to a device at home which support this app and parental support in case they struggle with the instructions and applying the tips to their own project. Assessment and submitting their project is challenging, as the teacher can only access this project if the student texts or shows the teacher in person. This app would be a constructive supplemental learning tool, but not necessarily effective for formal assessment. Language could also be a barrier, as students need to record their own audio for the narration of the story. This is an app geared at elementary school aged students, but it allows for creative demonstration of story ideas in a unique and engaging way.

Audio Response / Podcast

Anchor Podcast App

Two major components of the core competencies from K-12 are speaking and listening. Demonstrating learning through a podcast recording offers demonstration of those two skills. There are opportunities for cross-curricular learning, such as recording a podcast episode about a scientific topic to satisfy language arts and science content; language arts will be intertwined if a podcast is used in any other subject because students need to write, narrate and record their podcast episode about the topic. It engages students and teachers to expand their digital skills, modify their communication techniques for different audiences (incorporating humour into your episode to engage a wider audience, for example) and learning skills to tell stories or demonstrate ideas in an engaging way.

Photo by Jason Rosewell on Unsplash

Podcasting for demonstration of knowledge is accessible to students as they do not need access to fancy recording equipment or expensive programs; this app reduces the need for technical knowledge as the app walks the user through the recording, audio editing and publishing components to complete an episode. The ability to stop recording on one device and pick it up later for editing or continued recording increases accessibility as students can work on this at home if school is not in session or partially in session. Collaboration in person or within the app allows students to connect and co-create episodes even if they are not able to be together in person. Barriers to this app would be the assumption that students have a safe, quiet place to record their podcast, the device to record it on outside of school, and the support from their parents if they run into issues.

Photo by Hadis Malekie on Unsplash

Photo by Hadis Malekie on Unsplash

As the app is free, there are limitations and concerns about privacy. Within the app, the editing functions are limited and students can do some basic trimming and editing, but they are unable to re-record parts once the episode has been strung together. The episode is recorded in a single file which makes editing or trimming middle portions impossible. If students have issues in the middle of the episode, there could be frustration and conflict when editing, leading to a disappointing end result.

Photo by Nick Fewings on Unsplash

Photo by Nick Fewings on Unsplash

In terms of digital literacy and safety, the app has some flaws. The first is that any podcast is public and can be accessed by anyone using the app. Personal information, depending on what is required of the user when they are creating the account, is displayed publicly. While this public access to podcasts can be an issue, with the right background preparation and insight of the teacher, students can be informed on how to keep their identities anonymous, respect other podcasters personal information when recording and episode, and maintain somewhat private on a public domain. The trade-off for a free app with in app purchases is that the data is collected and used for third-party marketing and advertising.

While I can’t see a school district embracing this app entirely, it does offer an easy option for students to explore the world of podcasting, digital media, and self-expression.

© 2023 Techtrovert

Theme by Anders NorenUp ↑