Mastery-Based Learning

Launch School
Apr 3, 2018 · 23 min read

Note: this article is reprinted from

One of the core values that sets Launch School apart from some other coding schools out there is our emphasis on Mastery-based Learning. If the key to becoming a competent and confident Software Engineer is deep understanding of first principles, then the key to acquiring that understanding is through Mastery-based Learning (MBL). This is our core philosophy at Launch School and the principle that guides our curriculum and processes. Everything we do falls out of this core philosophy, including why we charge $199/month (more on that below). But what exactly is Mastery-based Learning? In this document, we hope to shed some light on what it is, what its pros and cons are, and how it shapes the Launch School experience.

If you’ve never heard of MBL before or haven’t seen it in action, hopefully this document will give you some insight into what it entails and how it’s implemented at Launch School. If you’ve heard of MBL before, hopefully this document will reaffirm your conviction and provide insight into how MBL informs the curriculum, structure, and even pricing at Launch School. But before we go into the details of MBL and its alternatives, let’s talk a bit about the background and motivation for this article.


  • How do I get a job?
  • I have an idea for an app. How do I build it?
  • How do I become a professional developer?
  • How do I start a long career in software development?

The interesting thing about these questions is that the first two are asked way more often than the last two. The first one, “How do I get a job?” is by far the most frequently asked question. However, the latter two questions are ones that we rarely see. What’s the difference between these two sets of questions? The answer is that the first two questions are based on performance goals, while the latter two are what we call, mastery goals. The distinction between these two types of goals come from what psychologists call “Goal Orientation”. Goals that are performance-oriented tend to have a definite measurement, while goals that are mastery-oriented are more focused on the process. Performance goals are prevalent in the education system and the workforce in order to compel people to work harder. On top of that, most goal-setting advice, such as SMART or personal improvement plans, also focuses on performance goals. Because performance-goals are so ubiquitous, it’s very natural for prospective students to ask performance-oriented questions, such as “how do I get a job?”.

If we keep probing and ask them to further articulate their question, they might continue with “I want something that…”:

  • …will ensure me a job at the end
  • (and for the even more ambitious)…has employers tripping over themselves to hire its graduates

Again, these demands are doubling down on attaining performance-oriented goals. The wording of these questions hints at some sort of finality. There’s this notion of “graduation” and a “finishing line” or “at the end”. Nonetheless, these are natural questions and are very typical. Although there’s nothing inherently wrong with these questions, training institutions usually react to them and build curricula that fulfill these performance-oriented demands.

Current Education Models

We call this the factory model because, in a sense, this model puts students on a conveyor belt and moves them along from one topic to the next with complete disregard for comprehension or mastery. It’s pretty common for people to pass a class even after receiving a C grade, and these students rarely catch up, especially when concepts are cumulative, like math or science.

The factory model’s main concern is time and not comprehension: you learn for a fixed amount of time, and then you move on regardless of the level of comprehension. However, it’s not just the lack of time that’s the problem in factory-based education. Since mastery of knowledge is not the focus, curriculum designers of factory-based education aim to produce a bell curve of students’ comprehension distribution. In a time-based course, curriculum designers measure their own success not by trying to increase students’ mastery of the material, but by how closely the students’ comprehension distribution fits the bell curve. This almost means that the curriculum by design ensures that most students do not reach an A+ level of mastery. According to the factory-model of education, mastery is only reserved for the top few.

Let’s look at how this model manifests itself in the learn-to-code industry. The following image contains a selection of blurbs from websites of various coding boot-camps.

What do all of these pithy sayings have in common? They reflect performance-oriented promises based on the factory model of education. While it’s easy to criticize these promises (who truly thinks they can become a professional anything in 12 weeks?), the reality is that these training programs are forced to make up some arbitrary duration and finality because students have performance-oriented demands. Of course, the problem that they don’t mention, though, is the problem within any factory model education system: variable comprehension among graduates.

Prospective students inherently understand this, too. So while these pithy promises were meant to address the students’ performance-oriented goals, they also cause skepticism and questioning because, of course, nobody wants to be at the wrong end of the comprehension distribution at graduation time. This skepticism is widespread because we know that from our previous experiences in school — middle school, high school, college, etc — not every student gets an A+. It means that not all students come out with the same level of comprehension. Common questions that prospective students might follow up with to quell their growing skepticism include:

  • What’s your graduation rate?
  • What’s your hiring rate?
  • How can you guarantee that I can get a job?
  • What’s the teaching format like?
  • Who are your instructors?
  • Where do your training materials come from?
  • Can someone help me install / configure / setup Vim/Ubuntu/Virtual Machine?
  • What if I’m too old/young, or didn’t attend college/too much college?

What we see is that there’s a lot of anxiety and uncertainty behind these questions, which arise out of our previous experience with the factory-based model of education. Intuitively, we know that this system doesn’t work for everyone, so we need to know what the chances are that we’re on the right side of the grading curve. Not everyone will become a star, and yet, the price of admission is the same and everyone spends the same amount of time in the course. These questions are basically saying “I need to know what are my chances of landing on the top end of that curve because I’ve seen it fail people — friends, family, or even myself — over and over and over again”.

To better deal with these tough questions, training institutions organize their factory into two main variants:

  1. Variable Input → Variable Output
  2. Quality Input → Quality Output

Variable Input Model (Community College)

In this variant of the factory model, the input to the system (students) is variable. This input can be variable for all sorts of reasons; not everyone will have the same background or the same amount of time or resources on their hands. For example, it’s pretty common for some students to work full-time while going to school, while other classmates not only don’t have to work, but also receive 1-on-1 tutoring and personal assistance in their learning. And yet, the time to master the course material is the same for both of these students: the test is on Friday for everyone no matter what.

This variable input is then processed through some sort of educational machinery in a fixed duration — 12 weeks, 24 weeks, 6 months, and so forth. We call this model the “community college” model because the input isn’t filtered and its admissions, for the most part, is open to all. When the input is variable and the time duration is fixed, the output (graduates) have variable comprehension. There’s no way it can be otherwise. There are certainly star graduates in this model too, but employers have to sift through and look for them, because by design, only a limited few are A+ stars. The end result is that it’s impossible to ensure a job to all graduates in this system of education. This is the type of education that most of us have received all our lives.

While variable output in a system like the above is inevitable, there’s another variant of the factory model that minimizes variation in output. We’ll discuss that next.

Quality Input Model (Ivy League)

This variant of the factory model minimizes the variation in output quite a bit. As you can see from the diagram, this lower output variation is achieved by having a strict admissions process that filters out the less prepared from the applicant pool, only leaving stars as input. If you have to work full-time, you’re out; if you didn’t help set up an orphanage in a 3rd world country last summer, you’re out; if you don’t have a CS degree, you’re out. This is the same model that is implemented by the top universities around the world, so we call this the “Ivy League” model. The actual educational machinery, however, didn’t really change; it’s still factory based, which means there’s still a fixed duration to master the material. But by changing the input to only allow stars to come through, the system outputs a much lower variance in quality. Employers love this model because they have a much easier job here and that’s why they prefer graduates from Ivy League schools. You don’t even have to graduate to impress employers, it’s enough to say you got past the strict admissions filter.

Let’s take inventory of what we’ve established so far.

  1. Prospective students make performance-oriented demands and ask performance-oriented questions
  2. Training institutions react to these demands by building factory-based curriculum in two variants:
  • Variable Input → Variable Output (Community College model)
  • Quality Input → Quality Output (Ivy League model)

So what we have so far is the factory model with two implementations. One has the disadvantage of having variable output and the other requires a strict admissions process to ensure quality output.

What if…?

If the answer was “no”, this document would end, so obviously it’s possible. However, for such a system to exist, it has to replace the “X weeks of awesome” or any fixed time duration with a central focus on mastery and comprehension. This is so important that we’ll state it again: at the core of MBL is replacing time with mastery. The factory-based model of education is centered around the time-based conveyor belt that ushers students from one topic to the next. In MBL, there is no such conveyor belt and movement between topics is based on passing a test of mastery. This is what Mastery-based Learning is all about: a pedagogy that allows the possibility to transform variable input into quality output. Given a pool of earnest and studious learners with different backgrounds, an education system based on mastery is capable of producing graduates who all turn into stars no matter their history or personal circumstance. In the diagram above, notice that nothing is filtered out; the non-stars turned into stars.

If it wasn’t clear, the answer to the question at the beginning of this section is a resounding “YES!”, because it’s not a theoretical question. At Launch School, we are not proposing a theory or making a conjecture; we are sharing our own experience applying the principles of MBL as the centerpiece of our pedagogy for the past several years. In the sections below, we’ll directly talk about our experience with MBL and its pros and cons, and more importantly, what it takes to succeed in an MBL learning system. It’s difficult for students to work in an MBL system for a variety of reasons, but mostly, based on our years of experience applying MBL pedagogy at Launch School, the difficulty comes from students who have a factory-based mindset and make performance-oriented goals. Those two things must be removed in order to fully partake and thrive in an MBL environment.

Mastery-Based Learning

  1. Remove all time-based measurements from your learning journey.
  2. Move to a new topic after mastery of the current topic.

Let’s analyze these two principles in more detail by using them to navigate an example skills/knowledge acquisition tree. The following tree diagram expresses the relationship between concepts and techniques that one needs to learn in order to become an expert of any skill (piano, cooking, tennis, programming, etc).

The concepts at the roots of the tree (A, B, C, D, and E) are what we call atomic concepts. We call them “atomic” because they stand on their own and don’t deconstruct down to other concepts. The concepts on the other levels are what we call compound concepts or integrated concepts. The skills/knowledge acquisition tree shows the dependencies between concepts. For example, to learn AB, you need to master A and B first separately. In MBL, we move down the tree only after we master and are fully confident about the concepts at the level above. We only tackle integrated concepts after mastery of atomic concepts, as opposed to after a period of time. The progression between nodes is dictated by comprehension level, not a time duration. There are no mandated time durations for any topic and therefore, there is no definite duration for mastering all the topics in the tree. The singular bar at each step of the way through the skills tree is your level of comprehension of the topic in front of you, and that’s it.

Contrast that with the factory model where you might have, let’s say, a week to learn A and a week to learn B. Let’s also say, for example, that you couldn’t reach 100% comprehension level after a week of A and a week of B because you got sick or had a busy week at work. Regardless of this, in the next week, the factory’s conveyor belt moves you to the next topic: AB. If you haven’t fully grasped A and B separately, it’s very likely that you won’t understand AB very well, either.

In fields where concepts build on top of each other cumulatively, the complexity and ambiguity compound exponentially if they are not dealt with linearly. In the factory model, if you didn’t understand the material in week 1, it’s most likely that you’re already in trouble because the compounding complexity will out-pace your ability to catch up. After a while, the deficit becomes insurmountable causing those affected to stop learning altogether. Hopefully, it isn’t controversial to say that we’ve all experienced this either directly or have observed friends or classmates who have succumbed to the effects of compounding complexity.

In MBL, you deal with the complexity linearly — as they arise and as you encounter them one by one — which prevents it from compounding.

Constraints of Mastery-Based Learning

  • It has to be self-paced; there are no synchronous cohorts or classmates going through the same materials with you.
  • There’s no peer group; your peers are learners of that topic at each stage, not a cohort or class.
  • No definite end date; an 100% MBL curriculum has indefinite duration.
  • It’s assessment-driven.
  • Your progress is measured by the depth of understanding, not necessarily by the number of topics consumed or time spent on each topic.

Consequences of Mastery-Based Learning

Indefinite Duration
We’ve found that the biggest source of anxiety in an MBL model is dealing with an indefinite duration. It’s very difficult to reconcile MBL with one’s personal life and goals. For example, if you have a performance-oriented goal like “I’m going to get a job in six months”, you’ll find that an indefinite learning duration is in direct conflict with your goal. It can also be difficult to get family and friends on board with your learning journey if you can’t supply a concrete graduation date.

The pros of a self-paced curriculum are listed above: you get to digest and master concepts at your own pace. An MBL pedagogy requires that it be self-paced, but this also means that it can be a lonely journey since you are deprived of a traditional cohort or classmates.

The key to an MBL curriculum is mastery and so assessing students’ mastery is a central activity. At Launch School, we employ rigorous assessments that top employers use: written exams, 1-on-1 live coding interviews, and take home projects. This sounds good in theory, however, not passing them can be very annoying. We have a mandatory wait period after each “Not Yet” (we don’t “fail” assessments, we “not yet” them in an MBL curriculum), and if you’re not fully bought in on MBL and are just in a rush to get to the next course, being told to wait a while until a retake can feel very annoying.

When your progress is measured by how deeply you know a concept, you might feel that you aren’t making any progress. You’re not quickly moving to the next concept. It’s also not as exciting. Certainly, it’s always exciting to move on to new topics, but this excitement shouldn’t come at the expense of true learning.

The Mastery-Based Learning Process

This is how our example of learning concepts A, B and AB looks like in a mastery-based approach. Take note, however, of what’s not in the diagram: any mention of how long it will take. The learning sequence is comprised of two steps: 1) practice atomic concepts and 2) pass an assessment on the atomic concepts. Once those two steps are met for all prerequisite atomic concepts, the steps are then repeated for the integrated concept. With this, it doesn’t matter how long it will take because MBL completely removes the time element from the process.

A phrase we often use to describe this diagram is local mastery before integration. Usually, learning the atomic concepts is not the hard part: spend enough time on the concept or practice enough and you’ll eventually get it. However, it’s integrating those atomic concepts that add to the complexity, and confusion arise usually because people tend to rush to integrate before local mastery of atomic concepts. Therefore, in a mastery-based learning program, there is no-compromise on comprehension, while there is complete disregard for how long you studied on a certain topic. This is the complete opposite of factory-based learning where you study a topic for a fixed duration, regardless of how well or not you understood it.

How to Learn with Mastery

Eliminate Timelines

Let’s say they come up with a two weeks’ goal for topic A. Sounds reasonable, right? But what happens when they’re into week 3 and are barely halfway through the topic A? Then they look at their progress and see that they’re already behind schedule and they only just started the program. This is where anxiety creeps in. Whenever that happens, your behavior starts to change in a way that will compel you to start trying to work around comprehension, which defeats the purpose of and intention behind MBL. Setting goals is a good thing, but performance goals are not compatible with an MBL curriculum. Instead, you have to start setting mastery-based goals, such as “I will work 10 hours this week” or “I will spend 2 hours on exercises today”. The bottom line is this: you cannot force mastery into a time-box.

Stay Focused on Fundamentals

This negative side effect manifests itself most commonly in a constant need to monitor everything: you feel like you need to learn every new library or framework that’s coming out; it seems as if every day there’s going to be a blog post or a news article about a new technology; you hear things like “Rails is dead”, “Angular is dead”, “X is the next best thing” and so on. It’s very obvious to those with experience in the industry that articles like these are playing upon our fears, the same way with advertisements on the TV are. They do not only say something provocative in order to grab your attention, but also make you feel like you’re missing out on a wave. But in fact, you’re not.

Focus on the fundamentals — the things that don’t change — these are the things that will serve you for a career.

Work in a Sustainable Fashion

To build up skills for long-term retention, you have to give your brain a chance to construct sound and accurate mental models. Here, we’ll borrow an example from Kathy Sierra, an influential software engineer, author, and educator. In her example, she talks about a job role called a “chick sexer”. The job is this: all the chicks are coming down a conveyor belt, and the chick sexer has but a split second to separate the males from the females. As it turns out, it’s a very difficult skill to teach to new chick sexers; no formal training technique seems effective, except for one training method. The trainee starts by randomly guessing the sex of each chick as they’re coming down the conveyor belt. Whenever they’re wrong, the expert immediately corrects him/her. Eventually, the trainee starts to pick up on the differences intuitively.

What this tells us is that when you spend a consistent of time doing something and watching others do it, over time your brain subconsciously establishes certain patterns. In fact, it is the same idea of allowing your brain to marinate in a concept for a long period of time in order to establish mental representations that you can use in a split second when processing a problem (such as, during a live 1on1 coding interview). There’s no shortcut to achieving this pattern recognition and you certainly can’t cram for this skill. This is how you’ll be transformed from a hack-and-slash beginner into a true professional. But it takes consistent deliberate practice over a long period of time.

Eliminate Expectations and Milestones

Mastery-Based Learning at Launch School

Structure and Sequence

In a mastery-based environment, it’s common to master A and B, to pass each assessment for A and B, but then, get to compound concept AB and realize that you don’t fully understand either A or B. The diagnosis in such cases could be that your knowledge of A faded or regressed, which is completely fine. The correct thing to do in such a situation is to go and refresh your knowledge of A before taking the AB assessment. However, in a factory model, there is this stigma associated with “going back”, which can be embarrassing. On the other hand, in a mastery-based system, it’s critical that you’re able to go up and down that tree without feeling like you’re going backward.


Pricing and Support

We thought really hard about what the best learning program could look like if it was focused on comprehension. We set out to build that program and then realized that there’s an inherent conflict between pricing and mastery-based learning: on one hand, we want people to take as long as it takes without feeling rushed, but on the other hand, we want to have a support structure in place, which is inherently expensive.

Normally, for an individual student, it could potentially take a year or two years to complete the program. How do we arrive at a good price point? A good price point is one that’s sustainable and one that doesn’t distract from the focus on mastery. We could price the curriculum at $1,000/month and that would allow us to provide a lot more support, but that wouldn’t be sustainable for most people. At that price, it would induce a lot of financial pressure and ultimately compromise the integrity of a mastery-based program.

We charge $199/month because we feel that it’s a sustainable price that still allows people to focus on mastery. Even if someone takes several extra months to study, it is only annoying but not financially devastating. The idea is that mastery of these fundamental concepts cannot be compromised and that it’s worth it in the long run.

Focus on Things That Don’t Change

Conclusion and Final Thoughts

The most difficult thing to come to terms with is the indefinite duration. It’s the main source of trepidation and anxiety for students and it’s exacerbated by a lot of social factors: for example, people around you ask questions and they’ll want to know when you’ll be graduating. It’s not easy for them to understand that learning to mastery takes an indefinite amount of time. You may even sense that they are starting to question your ability. It’s not easy for anyone to face that social pressure and stigma, but know that every Launch School student faces these pressures, too. In order to better handle these pressures, be open to the idea of removing timelines and dealing with all these different sources of anxiety and try to create an environment for yourself that’s conducive towards mastery-based learning.

We’ll end with a hopeful thought: we’ve all experienced the limitations of the factory-based education model and have seen that a lot of people were let down by it. With mastery-based learning, on the other hand, it’s in your control, so you can do it! Allow your brain the time to fully absorb the material and get into the habit of learning deeply as opposed to quickly moving from one topic to the next. If possible, try to get rid of the sources of anxiety, time constraints, short-term expectations, social pressures, and then fully allow yourself the room to learn to mastery. Follow this slow, patient, consistent path, and you will get there.


  • MBL is used in our Core Curriculum. To understand our perspective on the entire learning journey, read about Our Pedagogy.
  • Make sure to take a look at the Common Questions page where we address many student submitted questions related to Mastery-based learning.
  • If you enjoy reading about our thoughts around teaching, you may want to continue on to Our Learning Goals.
  • Finally, if you prefer this document in video form, you can watch a video on this article here — make sure to scroll to the bottom. (Note: there are some minor discrepancies in the video due to it being slightly dated, but the core message is the same).

Launch School

Publications of the Launch School Community

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store