Maker Challenge Augmented Reality Programming Challenge

Quick Look

Grade Level: High school

Time Required: 10 hours (wild guess!)

(can be done over ten sessions)

Subject Areas: Computer Science, Science and Technology

A photograph showing a person standing in front of a TV where the image on the TV is a mirrored picture of them with a muscle overlay.
Can you make your own augmented reality program?
Copyright © 2019 Joshua Swartz, Vanderbilt University RET

Maker Challenge Recap

For this maker challenge, students explore augmented reality (AR) physiology programs, including muscle and bone overlays and body tracking recording program, using Unity and Microsoft Visual Studio. Students develop ways to modify, enhance, and redesign the program to meet a particular real-world need. In order to do this, students work through the engineering design process.

Maker Materials & Supplies

  • computers
    • Download or access Microsoft Visual Studio 2017 (or later) available from Microsoft; make sure to install the C# plug in as well (Visual Studio is where you will build your code in C#)
    • Install the .Net framework, available from Microsoft; .Net is what translates your code into Windows so that it can be executed
    • Download or access Unity v. 2018.2.9 (or later) from Unity; Unity is the platform that allows us to build our demos; it has the ability to create screens and a variety of other useful features
    • Access the AR Physiology demos and upload the one you would like to start with into Unity.
      • AR Mirror Muscle Demo Source Code; access via GitHub
      • AR Mirror Bone Demo Source Code; access via GitHub
      • AR Mirror Replay Demo Source Code; access via GitHub
  • Orbbec Astra Pro Camera (if you would like to purchase your own camera, ~$150), available on Orbbec
    • Orbbec Camera Driver, available for download on Orbbec

Worksheets and Attachments

Visit [] to print or download.


Get the inside scoop on all things TeachEngineering such as new site features, curriculum updates, video releases, and more by signing up for our newsletter!
PS: We do not share personal information or emails with anyone.


Computer programming is the process of employing a programing language, such as C#, Python, and HTML, to address or solve a real-world problem (or to create a fun game!) Your task is to apply what you’re learning about the C# coding language and Unity platform to develop a computer program that improves, or is a spin-off of, existing augmented reality physiology demos.

Note: The timeline for this project can be very flexible.  Each part can be extended or contracted based on the needs of the students and their time constraints. The following is a suggested outline:

Day 1 – Roll out the maker challenge by showcasing the demos in the Demo Tutorial and Challenge Plan presentation. Have the students interact with the technology and determine what questions they have about how the programs work and what they could do to modify/improve their design (or make something new). Give students the Project Overview Sheet.

Day 2 – Teach the basics of coding using available C# tutorials (see “Resources” for recommendations). Students can be varied on their knowledge of code, so this is a place where differentiation can be used, and students who need more assistance can take their time learning about the language.

Day 3 – Walk through the AR Mirror Demo tutorial to explain how to use Unity and Microsoft Visual Studio. Also, make sure the students are able to successfully download all of the necessary components.

Day 4-8 – Allow the students to explore and build their own program, saving each version as they proceed. They should leave comments directly in their code using Visual Studio.

Day 9 – Showcase final products, preferably in front of an outside audience to celebrate student progress.

Day 10 – Have the students peer and self-evaluate their products.


Maker Time

During the design and planning time, ask the students to consider:

  • What do you want your program to accomplish?
  • What is the educational value of your program?
  • What skills as a programmer are you learning?
  • How are you using the engineering design process to develop your program?
  • How are you documenting your process?

Have the students keep track of all of their code modifications by saving each version of their program as a separate document. Also, make sure to encourage the students to annotate all of their code to make it easier for others to understand the purpose of each line of code.

Wrap Up

Here are some suggestion regarding how the students can wrap up this project:

  • Have the students showcase their programs with their peers or a student-judging panel.
  • Set up a TV in your classroom or at your school (or use your projector) so that their program is running for other students to check out.
  • Have the students self-evaluate their work using the provided Computer Programming Rubric and Computer Programming Self Evaluation Form.


For more background information, visit the TeachEngineering lesson Intro to Vectors Physics and Augmented Reality.


© 2019 by Regents of the University of Colorado; original © 2018 Vanderbilt University


Dr. Joshua Swartz , Educational Designer; Alex Wang , AR Mirror Programmer; Anjie Wang , AR Mirror Programmer; Dr. Bennett Landman , Principal Investigator

Supporting Program

MASI Lab, School of Engineering, Vanderbilt University


This curriculum was developed with the support of National Science Foundation CAREER grant no. 1452485. However, these contents do not necessarily represent the policies of the National Science Foundation, and you should not assume endorsement by the federal government.

Last modified: July 19, 2023

Free K-12 standards-aligned STEM curriculum for educators everywhere.
Find more at