Skip Navigation

Envisioning a Better World in VR

By Courtney Schreiter 2 hours
Level Grade 7-8
Subjects Art, Mathematics
  • Programming
  • Technology and Society
  • Design
Tools & Languages CoSpaces, Block-based
Key Coding Concepts
  • Algorithms
  • Debugging
  • Events

Virtual Reality is an interactive computer-generated (‘virtual’) world that you can explore. 

An Algorithm is a step-by-step set of operations to be performed to help solve a problem.

Debugging is finding problems in code and solving them.

Events are when one thing causing another thing to happen.

Imagine a future with zero crashes, zero emissions, and zero congestion. In this lesson, learners will use CoSpaces to build their own 3D creations, animate them with code (using block coding), and explore them in Virtual Reality. Learners will practice testing and debugging, and create a virtual space that solves an issue that they are passionate about.

Created in partnership with:
Chevrolet logo
  • Create a Teacher Account for CoSpaces
    1. Go to: https://cospaces.io/edu/
    2. “Sign up” > “As Teacher”
  • Have students Sign Up for CoSpaces
    1. In CoSpaces: “My Classes” > “Create Class”
    2. Share the class code with your students
    3. Have them create an account at https://cospaces.io/edu/ > “Sign up” > “As Student” and enter the class code
  • For stretch goal: Cardboard VR Viewers + phones with CoSpaces Edu app installed.

Watch the lesson tutorial and walk through for our VR lesson plan with CoSpaces:

Ask: What is ‘VR’ or virtual reality? (A: See Terminology)

Say: We usually think of VR as being used for gaming and storytelling, but VR can also be used to help others!

Some examples include:

  • Virtual training: Using VR to learn new skills, like how to operate a vehicle, in order to train safer drivers and help prepare them for real-life road scenarios.
  • VR Therapy: Using VR to face fears like arachnophobia or public speaking.
  • VR + Healthcare: As a tool for surgical training, or to help patients manage pain.
  • VR + Education: Providing students access to new places and experiences via tools like Google Expeditions

Post a “How Might We” statement to the class to guide their project. You can use a topic you are already learning about, or choose one of the following:

How might we use VR to...

  • Prevent car accidents?
  • Reduce greenhouse gas emissions?
  • Prevent ocean pollution?
  • Reduce stress?
  • Improve education?

Brainstorm possible solutions as a class or in groups. Keep in mind that we are going to create prototypes (or drafts) of what a solution could look like.

Optional: Have learners work in groups to create paper prototypes of their virtual worlds before designing them in CoSpaces. See “Extensions” for a link to the “Paper Prototyping in VR lesson” plan.

Building in CoSpaces

What is CoSpaces? (A: CoSpaces is a tool that we can use to create virtual environments, then add code to bring these worlds to life.)

  1. Have learners create a new project. (“Create CoSpace” > Select “3D Environment”)
  2. Select an environment
  3. Practice navigating CoSpaces. As a class, try the following:
    • Use the arrow keys to move around
    • Rotate your view by clicking and dragging
    • Hold the spacebar WHILE clicking and dragging to move around
    • Scroll to zoom in and out
  4. Add a character
  5. Demonstrate how to move + transform the character (Click > rotate, translate, drag, or lift)
  6. Demonstrate how to customize (Right-click > select "Material")
  7. If learners can’t find the objects they need for their VR solution, use the Web Search option. (“Upload” > “3D Models” > Type word into Web Search)
  8. Show learners how to test out their space by clicking “Play" (top, right), then how to go back to the editor using the back arrow (top, left). Encourage them to test often!

Coding Interactions
Review: What is Code? (A set of instructions that tells the computer what to do!)

Say: We are going to Code the characters in our CoSpaces project.

  1. Right-click on character > “Code” > “Use in CoBlocks”
  2. Show learners how to open and close the code menu and how to stretch and shrink it.
  3. Show them how to click and drag the blocks onto the workspace, and how to drag unwanted blocks to the trash can, which is on the left side of the screen.
  4. Add a “Say” block together (under “Actions”) and have learners type in an explanation of their solution in the editable section of the block.
  5. Add an Event, and wrap it around the “Say” block so that it doesn’t appear until you click on the character

Work Session
Provide time for learners to continue adding to and customizing their virtual spaces. Encourage them to continue exploring the different coding options and to ‘code’ additional characters.

Remind learners to continue testing as they code, to help them debug or troubleshoot their projects as they go.

If you have VR viewers: Introduce viewers + how to use. Encourage learners to test using the viewers as they build their spaces. See the CoSpaces Demo Guide for steps on how to share and access projects from the CoSpaces app: http://bit.ly/cospaces-demo-guide

Provide time for learners to share their projects and explain how they tried to solve the issue that was presented. Set up a gallery walk where learners run their projects and tuck in their chairs, then walk around to explore each others’ projects at their own pace.

If you have VR viewers: Provide time for learners to explore each others’ projects in VR. Set up stations for learners to rotate through. Remind learners to remain seated while testing out projects on the viewer (safety first!).

Learners can submit their projects by “sharing” them.

See the CoSpaces Demo Guide for steps on how to share and access projects from the CoSpaces app: http://bit.ly/cospaces-demo-guide

Success Criteria
I created a digital 3D environment using code.
I gave the computer instructions to tell it what to do.
I used code to move characters in the landscape.
I explained my solution using text bubbles or voice recording.
I kept testing and debugging to make my projects better.

Incorporate Paper Prototyping via this “Paper Prototyping for VR” lesson plan before jumping into CoSpaces. This can help learners better plan out their space including where to place their characters in 3D space: https://www.canadalearningcode.ca/lessons/paper-prototyping-for-vr/

Use VR viewers + phones to test and explore projects in VR - see notes in Lesson portion. Here is a list of viewers with different pricing options: https://vr.google.com/intl/en_ca/cardboard/get-cardboard/

Important Note

Using VR headsets can cause motion sickness. If learners experience discomfort during the demo process, have them demo their projects without the VR headsets and without using the "split screen" mode. Use the icon in the blue circle and tilt and move the phone around.

Example: Grade 4

Visual Arts
D1.1 create two- and three-dimensional works of art that express feelings and ideas inspired by their interests and experiences

D1.4 use a variety of materials, tools, and techniques to determine solutions to design challenges

Geometry and spatial sense: construct three-dimensional figures, using two-dimensional shapes;

Teach lessons that are tied to your existing curriculum! https://bit.ly/CLClessons


More Lesson Plans For Grade 7-8

View All Lesson Plans

Explore lessons based on components

The K-12 Computer Science Framework

Although learning how to build digital projects is a key part of Computer Science education, students should also learn a wider set of skills and competencies that will help them to harness the power of digital technologies as both creators and consumers. A comprehensive approach to K-12 Computer Science education includes learning about the following five focus areas:

View Framework ➝


By the end of high school, students should be able to create a simple computer program.

Computing and Networks

By the end of high school, students should understand and be able to use the tools and devices commonly used to build digital projects.


By the end of high school, students should be able to explain how we use computers to create, store, organize, and analyze data.

Technology and Society

By the end of high school, students should be able to explore the ways in which technology and society have mutually shaped each other.


By the end of high school, students should be able to apply design principles to the digital projects they create.