Class Activities

Instructor of the MIT IAP Unity course, Kyle Keane, standing in front of the chalk board during a project brainstorming session.

Instructor Kyle Keane facilitating a brainstorming session for student project. (Image by H. Sharon Lin, MIT OpenCourseWare.)

This course follows a sequence of activities that gradually provide students with increasingly complex real world experiences relating to working on a team to define and accomplish a creative endeavor. The structure of the OCW resources mirrors the sequence of activities and are labeled: “Getting Started,” “Guided Tutorial,” “Collaboration,” and “Expand on the Tutorial.” Each activity is described in more detail below.

Getting Started (Session 1): This involves introducing students to a set of existing online tutorials about the technology being learned. Students should be able to continue using these resources after the class to gain further expertise (since these workshops are only two weeks long we aim to empower students go continue learning once they have “learned how to learn” during the workshop).

Guided Tutorial (Session 2): This includes having an instructor model how to use the tutorials through a short live demo, where students are given sufficient time to complete each action along with the instructor - it is important for the instructor to model how to ask for help when confusion arises.

Collaboration (Sessions 3–9): After the short live demo, students should form small teams to collaborate together to complete a full tutorial. It is important to explicitly instruct students in how to ask questions of each other and how to help each other learn with kindness.

Expanding on Tutorials (Session 2): After completing a good tutorial, students should have enough knowledge to “Expand on the Tutorial” by making small technical and creative modifications to internalize what they’ve learned and personalize what they’ve created.


It is crucial for students to understand the importance of collaborating in groups and discussing ideas openly with their peers. One of the key features of our pedagogy is the belief that collaboration and social support bolster learning and need to be explicitly modeled. We facilitate the development of interpersonal skills at many levels through designed activities; this helps students effectively communicate their ideas in a clear and professional way as well as help students learn to respectfully engage in hearing the ideas of others.

Motions for the Kinect to track

Students demonstrating the motions their game will use when attached to the Microsoft Kinect. (Image by H. Sharon Lin, MIT OpenCourseWare.)


For the modern technique of collaborating on software projects, we have included a short GitHub tutorial at the beginning of the class and provided access to a common repository where groups can create websites and include relevant documentation for their projects. Collaboration ideation is modeled by organizing a brainstorming session before team formation to align students with similar interests together. Students are encouraged to learn from other groups in the class in case they are working on achieving similar goals and/or face similar issues while debugging their projects. We use group exercises adopted from Improv comedy during the course to help students become comfortable and familiar with each other’s communication styles. Exercises originally designed to prepare Improv performers work great to prime students for group activities, serving to improve communication between group members and across groups. Exercises are chosen by the instructors depending on the activities, some work best to prepare students for brainstorming and other exercises work well as ice-breakers before team formation.


Collaboration: Ideation and Brainstorming

Kyle Keane leads a collaborative ideation and brainstorming session for the entire to class to start communicating and understanding each other’s ideas for the first team project.

Collaboration: Introduction to Git/GitHub

Andrew Ringler provides an overview of the GitHub software collaboration toolset. This video introduces students to concepts of collaboration with Git.


Collaboration: Red Ball During Class

Kyle Keane leads the class in an improv comedy activity called “red ball” in order to help students become more comfortable with each other and get to express themselves a bit non-verbally.


Students form teams of two to work on making a novel modification to the roll-a-ball tutorial in order to test their understanding of the techniques covered in the tutorial. On this page, we describe the purpose and logistics of running this activity.

Students working in Unity

Students creatively change parts of the Unity tutorial to make it more interesting. (Image by H. Sharon Lin, MIT OpenCourseWare.)


We believe it is important for students to learn that creatively, especially in highly technical fields, often stems from extending and expanding on the work of someone else. Many students will believe that what they create is not creative if it is not completely novel, it is important to encourage students to set this philosophy aside for this class, since we are learning a new technology and will learn together by putting our own unique twist on the roll-a-ball tutorial. For instance, making the ball into a dodecahedron, adding the ability to jump, or having the rewards move rather than staying stationary.


After hearing about collaboration and having to learn the github workflow, students are often a bit introverted and need some encouragement to become social again and to find partner for this activity. We employ improv activities for this when needed.

Once students pair up, they are usually very self-managing in deciding on a modification and executing it together. It can be helpful to walk around and jump into each team to ask them about their modification and model collaborative brainstorming and troubleshooting.


Expanding on Tutorials: Kinect Demo

Mark Vrablic demonstrates how the Unity game engine connects to the Microsoft Kinect. The guided tutorial that students have completed called “roll-a-ball” is a game normally driven by arrow keys on a standard keyboard.

Expanding on Tutorials

Kyle Keane talks about the logistics and purpose of expanding on tutorials, and how this is related to creating, inventing, and learning.


Expanding on Tutorials: Humans Matter and Class Details

Kyle Keane provides a high-level introduction to the structure of the class, along with some expectation setting about engagement.


The goal of this first activity is to communicate the structure of the class, set the tone and expectations, and to get students comfortable enough to form groups of 4–6 students and to have them begin working through a guided online tutorial with a lot of discussion about questions that arise. On this page, we describe our approach to kicking off a successful class.

Course Overview

Playing an improv game

Members introduce themselves and play an improv game. (Image by H. Sharon Lin, MIT OpenCourseWare.)

We begin the classes by introducing the teaching staff and giving some background about what brought us to teach this course. We also cover the timeline of the course and discuss the type of projects the students will be working on during the project phases (having videos on hand for demonstrating the project expectations is very helpful). This introduction is an important time in which you as an instructor can model the type of vulnerability and engagement that you expect from the participants. This is also the time to set expectations about student conduct and behavior. For this class, I explicitly state that we will be using online tutorials and that the whole point of being in a classroom together is to engage in social learning through collaboration and support. This is a good time to cover any other logistic stuff such as video release forms.


The goal of this first activity is to get students comfortable enough to form a group of 4–6 students and have them begin working through a tutorial as a group. Since this is the first time the students are meeting, and the class is built around group projects, it is important to give the students some fodder for connection. The first way to facilitate this is through the usual activity of asking each student to tell the whole group a few factoids about themselves, such as what the study in school, why they came to the class, if they have any previous experience with the technologies, and what their favorite one-handed food is. During this type of introduction, it is helpful to give a list of items for each student to speak to, this helps shy students have structure for introducing themselves and helps gregarious students stay within a reasonable time.


Getting Started: Q&A

Mark Vrablic and Kyle Keane answer questions from students about the class, activities, and technology being used.

Getting Started: Introducing Introductions

Kyle Keane describes the first ice breaker of the class and how we will manage the task of having everyone introduce themselves.


Getting Started: Icebreaker

Kyle Keane describes a basic icebreaker for the class to introduce themselves to each other by providing information about things like where they are from, their favorite food, and what they hope to do in the class.


Students form groups of 4–6 where one member volunteers their computer to be show a video tutorial and joins the other members to work through the video tutorial together on the remaining computers. On this page, we describe the purpose and logistics of running this activity.


Students in the Unity guided tutorial session interacting with the instructor

Students in the Unity guided tutorial session. (Image by Courtesy by H. Sharon Lin, MIT OpenCourseWare.)

This class was designed to introduce students who had never worked with the Unity game engine to videogame design using the software. Unity has provided an incredible collection of high-quality online tutorials that have very good pedagogy. Since this is a short course, we feel it is important to introduce students to the existence of these tutorials so they can advance their skillset after the class ends. We use the roll-a-ball tutorial for this class since it introduces the basics of the system very well. Students break into groups of 4–6 where one member volunteers their computer to be show a video tutorial and joins the other members to work through the video tutorial together on the remaining computers.

Team Formation

After introducing the basic logistics of the activity, it is important to set expectations for the students to work together at a pace that is suitable for every member of the group. In order to make this a reality, it is important to instruct the students to be very vocal about every question they have, asking the group to pause and discuss the question. Again, remind students that they are here because of the social support, not just to rush through a tutorial. Tell the students that the point of this activity is as much to talk as it is to do. The more students learn to be vulnerable and ask questions, the more they will be able to succeed in the modern collaborative environment. It can be helpful to guide students to form groups with varied experience levels for this activity to increase the chance of having good discussions. Also informing students that they should jump into another group for any reason at any point. If you can model what it looks like to ask a question and answer a question supportively it can also be a very potent technique for ensuring a supportive experience for students. This is an opportunity to learn and to learn to teach.


The tutorial itself will walk the students through the process of creating the following game.

Class Videos


Guided Tutorial: Introduction to Unity

Mark Vrablic provides an overview of the Unity game engine and how to work with the software  interface. This is provided to help students get started on an even footing when jumping into the guided tutorial.


Guided Tutorial: Purpose and Overview

Kyle Keane sets expectations for the group dynamics of the guided tutorial, letting students know they should ask each other lots of questions and work as a team to find answers.

Course Info

As Taught In
January IAP 2017
Learning Resource Types
Demonstration Videos
Tutorial Videos
Projects with Examples
Lecture Videos
Instructor Insights