My research has taken me to the small beachside town of Cáhuil, where I am collaborating with the very talented Josefa Castro. Josefa is a primary and middle school English teacher at Escuela Cáhuil, who has developed an alternative English teaching methodology based largely on the use of games in language learning.

We are joining forces to develop an experimental project-based curriculum for her 7th grade English class. The project will require students apply their English to learn programming. We have designed a 9-class plan, during which students will build their own video games using an English-based programming language. There is a strong tradition in schools to segment course subjects, we are used to having one period for math, and a separate one for history. This project will allow us to build a case for designing interdisciplinary projects in the classroom.

Meet our guinea pigs. These are our students who will help us in testing our curriculum.

Inspiration and Background

As a teacher, it’s tempting for me to chop everything up in bite-sized pieces, to make sure everything is digestible and easy. But life isn’t this way. Why should we teach this way?

In Mindstorms, Seymour Papert coined the term Constructionsim and asserted that students learn best when they are, “consciously engaged in constructing a public entity—whether it’s a sand castle on the beach or a theory of the universe– that can be shared with others.” Put simply, the constructionist theory of learning asserts that students should learn by doing. They should choose projects that are of personal interest to them. As an educator, the temptation is often to pre-process, to try to get students to arrive at something we’ve already envisioned. Constructionist theory advocates for the opposite—teachers should support students throughout the development of their own ideas.

In Minds in Play, Papert went on to write about video games specifically: “Every educator must have felt some envy watching children playing video games: If only that energy could be mobilized in the service of learning something that the educator values. … The Constructionist mind is revealed when the wish leads to imagining children making the games instead of just playing them. Rather than wanting games to instruct children they yearn to see children construct games.”

With this in mind, our objective is to create and test a constructionist curriculum, in which Chileans students code their own video games. Our project will be interdisciplinary—the students will have to use their knowledge of English to learn programming. In keeping with Constructionist theory, students will be able to choose a video game concept that is relevant and interesting to them.

We will be using the Scratch application developed by MIT to teach computer programming concepts. It has become the international standard for teaching programming principles to students.  Students can begin programming quickly by combing code blocks, shaped like puzzle pieces, to create programs. The code blocks program the movements of objects, or “sprites,” on the program’s interface.

The teachers assume a background role, and aim merely to guide and assist the students in building their own creations. Our responsibility is twofold:

  • to introduce the application, Scratch, and the concepts the students will need to build their own video games
  • to support them through the development process. We will help walk students through ideation of a feasible project, and help to develop each student’s ability to resolve bugs in their programs.

Project intro and objective

The objective of this project is for each student to design their own video game, which educates the game player about an environmental problem the student has observed in their community. Students will employ design-thinking to select an environmental problem, and design an educational game that illustrates the effects of their chosen problem.

The video game will have 3 components: an opening dialogue, the game part, and a closing dialogue. Students will write the script for two dialogues that will contextualize the game. Each student will design a game that illustrates the gravity of their chosen environmental threat.

I’ll walk you through my example video game. Here’s my concept:

Problem in my community. Trash on the beach.

Affected populations. Surfers and wildlife.

Video game outline. 

Dialogue 1. Surfer speaks with a star fish about wanting to go surfing.

Level 1. Surfer must avoid trash, while surfing in the ocean.

Dialogue 2. Characters discuss how they could resolve the trash in the ocean problem.

Check out the example on Scratch here.

Project plan: lesson by lesson outline

Lesson 1: Intro to Scratch and Programming

Format: Instructor-driven building

90 minutes. Build your first video game.

In this workshop, I’ll get students comfortable programming in Scratch. I’ll lead the class in creating a game in which the user is a fish, trying to escape a hungry shark. We begin by programming the movements of the fish, which are controlled by each arrow on the keyboard. We add a shark to the game, and program the shark to orient itself depending on the movements of the fish. If time permits, we give the user 3 lives, before “game over.”

Students are introduced to a number of fundamental concepts in programming. By programming the movements of the shark, students familiarize themselves with the concept of a loop, which continually executes. We also teach students programming logic, and use an “if” statement to check whether the shark is touching the fish. Students learn how if statements can conditionally execute blocks of code, thereby adding logic to our simple program.

By the end of the class, each student will have constructed something that looks like this.

Lesson 2: Intro to game types

Format: Instructor-driven building

90 minutes. Build two game types students could use in their own game.

In this workshop, students will build 2 more video games. These video games will serve as templates that students can use in their personal projects.

I’ll lead students in constructing a platformer game and a dodging game. Students will save the two games they make, in case they’d like to adapt them later.


Students can download this project and build from this template


Final product

Game #1:

Game #2:

Lesson 3: Intro to project and formulation of ideas using design-thinking and building level 1

Format: Planning

10 minutes. Present the project objective
15 minutes. Solo brainstorm.

Students are asked to individually brainstorm environmental threats that affect their local community, and broader Chile.

What are the threats to Chile’s natural ecosystem? What issues affect Cahuil and Pichilemu? What resources are scarce? What do we need to protect?

Students will be asked to use their computers and online dictionionaries to explain their ideas in English.

10 minutes. Group brainstorm.

We will reconvene as a class to discuss the ideas that students individually brainstormed. Students will have the opportunity to share stories of the issues they identified. We will aim to have each student explain one idea in English.

30 minutes. Prioritization of ideas

Select the idea you like best. What types of people are most affected? What types of effects does this cause? What are possible solutions? What can I do?

15 minutes. Storyboarding and thinking in Scratch.

Develop a conversation between two characters.

Develop a game that shows the user the gravity of this environmental problem.

Lesson 4: Coding the first dialogue.

Format: Student-driven building

25 minutes. Writing the dialogues

Write out dialogue.

Needs to have 3 sound recordings that are complete sentences. Needs to have 3 written thought or speech bubbles.

65 minutes. Programming

Students will begin coding dialogue in Scratch, with professors helping as needed.

Lesson 5: Coding the game.

Format: Student-driven building

90 minutes. Programming

Students have the whole time period to code the level 1 of their program. Teachers will support the students in developing their ideas for Scratch.

Lesson 6: Writing and coding the second dialogue.

Format: Student-driven building

45 minutes. Writing

Students are required to write their English dialogue before they begin working in Scratch. The second dialogue must have 3 exchanges between 2 characters.

45 minutes. Programming

Students spend the rest of the period coding their dialogue in Scratch.

Lesson 7: Finishing touches and presentation of all-star projects

Format: Student-driven building

90 minutes. Programming

This was the last period of work time we allotted for students to complete their projects. Since students were at different places with their projects, I asked each student to identify one issue they’d like to focus on for the remainder of the period. They wrote the issue down, and I helped students on a case-by-case basis. We focused on getting each project to a presentable state, rather than perfecting each project.

During the working period, I paused students’ free work time and demo-ed a few completed projects. The only two girls in the class completed their projects early. I made sure to give praise where praise was due, and note our class had two killer female programmers. Although the girls were a little embarrassed, they were proud of what they’d created. Demoing finished projects also helped students who were a little behind get an idea of what they were working towards.

Lesson 8: Discussion and presentation

Format: Student-driven building

15 minutes. Class discussion

During the last class, I asked students about their experience during the project.


Give hard assignments and assess how students’ tackle them.

When I first began teaching Scratch, I taught the same introductory workshop at many different events and schools. I started to realize that I could teach this same workshop that was initially developed for high school students, to my middle school students. The learning outcomes, were comparable. While working at an English Coding Camp in Santiago, I started teaching the same workshop in English, instead of Spanish. I was constantly impressed by my students’ ability to rise to the challenge. I saw them learn advanced concepts, and to learn them in their second language. I realized I was underestimating my student’s ability to learn.

With this in mind, I designed a project requiring students to build something much more advanced than in my other workshops. Instead of leading students in building something I created, I asked students to create a story and bring it to life using programming concepts I taught them. Students had to apply programming principles, instead of just copying what I was showing them.

My project asks students to introduce an environmental problem, to build a game which illustrates the gravity of that problem, and to propose solutions. Thus, there were 3 main parts to the project, each with its own set of challenges and complexity. In addition to the project requirements themselves, there were other moving parts: students were learning Scratch and programming for the first time, they were writing code in a second language, and they were thinking through how to tell a story.

There were moments when I felt like I had assigned a little more than they could handle. In the end, not every student had incorporated all three project elements into their final submissions.

But then, there were some students who did build everything. I interpreted this to mean my project wasn’t in fact “too hard.” It was just right. All students advanced towards the challenging goals I set, and some even achieved them. It’s okay to have this distribution in the classroom. In fact, I think it’s better because standout students aren’t held back, and students who need a little more time can learn from those ahead of them.

Projects get students to create something from start to finish

As I discussed, my temptation as a teacher is to cut everything up into bite-sized pieces—neat, little activities that everyone gets. Designing a project is much hairier. Not everyone finishes. Connecting the dots between different project elements is challenging. Students lose focus and get bored.

But constructionist projects inherently teach a diversity of skills. Students have to take one of their own ideas and bring it to life. They selected a theme, and think through how to tell a story around their selected environmental issue. They wrote dialogues discussing both the problem and the solution. They translated these dialogues into English. Students programmed a game, illustrating the problem, using a program written completely in English. At the end, they had to prioritize—what is the most important thing I need to do to get to a final, presentable product?

In this project, students learned project management techniques, computer programming concepts, the art of story-telling, time management and technical English. If I had just taught students all how to build the same video game, they only would have learned computer programming.

Project-based curriculum requires an agile teacher.

This project was challenging for students, and it also posed challenges for me as a teacher. Instead of a classroom of students all building the same thing, I was faced with a classroom of students building different things, and all of them at various stages of development. I had to ensure each student was engaged, and working on the task at hand.

The classes where students were given time to develop independently were difficult.  I also had to make sure each student had the information they needed from me, so that no one was left stuck with questions. I had to be conscious about where I was spending my time to ensure the class was productive. If students were all facing similar issues, I’d have the students pause their independent work, and pay attention to an explanation that I thought would be relevant to all.