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 and develop ways to modify, enhance, and redesign the program to meet a particular real-world need.

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.

More Curriculum Like This

Intro to Vectors Physics and Augmented Reality

Students learn about video motion capture technology within the context of a high school physics class. They learn about vector components, magnitudes and directions, position, velocity, and acceleration. Students use a (free) classroom data collection and processing tool, the ARK Mirror to visual a...

Python Calculus

Students analyze a cartoon of a Rube Goldberg machine and a Python programming language script to practice engineering analysis. In both cases, they study the examples to determine how the different systems operate and the function of each component.

preview of 'Python Calculus' Lesson
High School Lesson
Light Properties

Students learn about the basic properties of light and how light interacts with objects. They are introduced to the additive and subtractive color systems, and the phenomena of refraction. Students further explore the differences between the additive and subtractive color systems via predictions, ob...

preview of 'Light Properties' Lesson
Middle School Lesson
Variables and Graphs: What's Our Story?

Students learn how to quickly and efficiently interpret graphs, which are used for everyday purposes as well as engineering analysis. The focus is on students becoming able to clearly describe linear relationships by using the language of slope and the rate of change between variables.


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: December 3, 2019


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