Proposal: Learning to Code by Creating a “Choose Your Own Adventure” Game

Learning to Code by Creating a “Choose Your Own Adventure” Game

Project Overview
Learning to code has become a valuable and sought after skill in a variety professions, but the assignments and projects offered in coding courses often focus around math problems or technical examples that are of little interest to learners with varied backgrounds. This project hopes to open a path for a much broader audience by creating a coding micro-course  focused around the idea of an interactive story the learner creates themselves. The content of the story can be directly related to history, language arts, or other areas of study to help encourage learners to foster algorithmic thinking related to these subjects.

The course will introduce Python, the popular coding language, to be used behind the scenes to support the interactive story and give it structure.

Students will be encouraged to create programs which are based in historical facts, deal with social issues, encourage role playing, or offer a teachable moment. Students will still be able create their own story from scratch to convey a personal experience or just a simple piece of fiction.

Students can watch videos and review materials at their own pace or get support from their peers online. The more complex problems can be brought to the classroom to refine and troubleshoot. It is anticipated that many students will be able to complete all of the work online and share their work in the coure’s online community.

Target Audience

This project will be tested with high school students, mostly in grade 9,  that have already some limited exposure to coding. Although this is where the project will first be introduced, students that don’t have any previous experience should be able access and complete the micro-course projects with limited or no support.

Resources: Learning Environments and Digital Tools

The primary location of the course will be in a hosted version of the Open edX platform at eduNEXT. This popular LMS (Learning Management System) platform is often used by universities to offer MOOCs (Massive Open Online Courses) but I will only be testing and evaluating it with a small group of high school students.

The other essential tool for this course is coding environment.  Using, students will be able to write, debug, and run Python code online, instead of just locally on their computers. It also allows for embedding of coding examples and is easily shared or downloaded to be used in a compatible Python compiler.

Planning out the interactive story in a flow chart format is a critical element of this project. Although my course materials will suggest the use of Google Drawings for creating a flowchart, for it’s easy of use and sharing, other tools such as MindMiester, LucidChart, and others are welcome as long as they student demonstrates a clear flow to the proposed story/program.

Since some of the instruction will be delivered via short video segments, YouTube was chosen for its reliability, easy of use, and compatibility with the other tools when embedding or making content accessible to a greater number of disabled learners.

Edpuzzle, a tool for inserting questions in the middle of YouTube videos, rounds out the digital tools by providing a way to check for understanding, even when you can’t see the learner, and it helps foster formative assessment. Learners are more likely to be engaged and listening when there is a immediate challenge associated with the content.

Learning Outcomes:

  • Student effectively adapts and incorporates a story into their game.
  • Student creates a descriptive flowchart that explains the choices a player is presented.
  • Student demonstrates understanding of how to create a game using the appropriate Python syntax and structure.
  • Student participates the beta testing by sharing their work and offers constructive feedback to their peers.
  • Student revises, repairs, and improves their final program and shares their experience.


Bower, Matt, John G. Hedberg, and Andreas Kuswara. (2010). A framework for Web 2.0 learning design. Educational Media International 47, no. 3: 177-198.(Journal Article).

Davenport, C. E. (2018). Evolution in Student Perceptions of a Flipped Classroom in a Computer Programming Course. Journal Of College Science Teaching, 47(4), 30-35.