PyCon 2016 in Portland, Or
hills next to breadcrumb illustration

Choose Your Own Adventure: Learn Python!

Roxanne Johnson

Audience level:


Learning to program in any language can be a challenge. There are so many resources freely available; where do you start? This poster shares a Choose Your Own Adventure style game being developed (in Python) to help beginning programmers figure out how to learn the basics, design an individualized learning plan, and effectively locate resources that will work for them.


For an organizer of a local PyLadies chapter, it can be difficult to plan activities for the diverse group of ladies that attend the meetups. Each individual comes with their personal goals for learning Python as well as unique knowledge and experience of Python and programming. Additionally, there are many different learning styles and preferences. Sometimes there is a lot of trial and error before people find something that works for them. This situation generated the idea to develop a resource to help beginners navigate the realm of resources available to them in a more efficient way- using what they know about their individual goals, current level of knowledge, and learning style. This resource, which takes the form of a Choose Your Own Adventure style game, aims to take the player through some questions to assess what it is they want to learn, what they already know, and how they prefer to learn. It will then make recommendations of specific resources as well as keywords and some broader resource categories to help the player search for additional resources. If what the player wants to learn has more than one component, it may suggest a learning plan involving multiple steps with associated resources. Even if the specifics are not exactly what the player is looking for, it can provide a place to start and some terms to look up. This poster presents the prototype of this project with the hope that the poster session will serve as additional user testing. Everyone has their own personal journey in learning Python, and all of these journeys have the potential to help inform this tool that will help beginners learn.