Teaching Programming: Flipped Mastery

Posted on 2018-8-6

I've been teaching at a web-development bootcamp in Amsterdam since February 2018. I've learned a lot about teaching in that short time. Recently I applied the Flipped Mastery format to a class. This is a summary I wrote (initially intended only for internal use) about the experiment.


On Monday July 6th I taught the topic "APIs and SQL" in the Flipped Mastery style.


  1. All old course content was moved into its own section, where students could still get to it if they needed to.
  2. New course content was written in three parts.
    • Each part consisted of:
    • A research step (answering a list of questions)
    • Recommended resources (for research)
    • A create step (applying the theory)
  3. The format was explained to students at the start. Emphasis was put on:
    • Independent research
    • Answering questions in their own words
    • Asking the teacher to review answers before moving on to the "create" step
    • Receive coaching while applying the theory


Students were asked to give feedback about the format in an anonymous form. Overall the responses were mixed. Ranging from negative to mildly positive.


The experiment was very instructive. These are the lessons I gathered from student feedback forms and my own experience.

Provide complete set of resources

The resources we share should be minimal and complete. That is, resources should cover all the theory and little else. Students wasted time because they found a bad resource. In other cases they focussed on the wrong part of the information. In student feedback, time management was, almost universally, mentioned as an issue. My mistake was that I overestimated the student’s ability to discriminate good from bad resources.

Easing them in: less breadth, more depth

Most students took a long time to get started and desired more structure. Part of this is likely the newness of the flipped classroom format itself. However, I am certain that the content had a lot to do with it as well. All three parts of the course day were equally new. Each episode of the class should be a step in progressive complexity rather than a step into a related, yet new, topic. This makes it easier to get into a flow. Primary cause: I retrofitted an existing course day to the Flipped Mastery format, instead of creating new content.

Facilitate asking for help

Despite being told to ask for help, students were very reluctant to do so. Especially students that needed it the most, asked most of their questions when I lingered at their desk. Walking through class was my way of facilitating questions, but this should be changed to on-demand coaching. I’ve read about using colored cups (or flags) to draw the attention of a teacher based on "how badly" someone needs help. These sound like they would encourage students to ask for help more so than simply telling them that it’s OK to do so.

More specific and basic research questions

Students seemed to enjoy answering the research questions. However, questions at a higher level of understanding (such as analyzing and evaluation in Bloom’s taxonomy) are seen as vague/unclear. Research questions therefore need to focus more on basic terminology and recall.

Allow/encourage students to do research before class

Even though this is a given in the flipped classroom format, the experiment diverged from this recommendation. A good thing about re-learning this lesson is that I now know from experience why research at home is a good idea: self-paced study. Students felt time pressure to complete the research steps.

Clearer acceptance criteria for assignment

The assignments were at a high level of abstraction on purpose. However, students need to have a clearer signal when they are "done". An automated test, when possible would solve this problem.

Things that worked

Manual/personal mastery assessment

The assessments (checking the answers to the research questions) were done on-demand and triggered some interesting discussions and additions. The interaction frequently highlighted unexpected areas where the student needed some clarification. This clarification was given before the student moved to application of the ideas, which likely saved them some time.

Answering questions in your own words

Students enjoyed formulating ideas in their own words. As a teacher, it made it clear how crystallized a student’s understanding was. Answers with vague wording were easy to spot. This would have been near impossible with a multiple-choice test.


Despite the fact that the strongest students demanded the most teacher time, which needs to be more balanced, the quick students got a lot of benefit from the extra attention. I’m certain that the format helped these students explore further beyond the assignment than they normally do. This was also the result of the free-form nature of the assignment.