Mastery-Based Learning in Computer Science Education

8:30 AM on November 1, 2022 | computer science programming

Benjamin Bloom initially proposed the concept of mastery learning in 1968, building directly on work by John Carroll in 1963:

“Most students (perhaps over 90 percent) can master what we have to teach them, and it is the task of instruction to find the means which will enable our students to master the subject."

Mastery learning was initially presented as a departure from the idea of a normal distribution or bell curve.

What is Mastery-Based Learning?

The core idea of focusing on student mastery of content and skills is the underlying foundation of many pedagogical models:

  • Mastery or Mastery-Based Learning
  • Competency-based education
  • Outcomes-based approaches

Even within each of these buckets, there are many definitions. Washington State codified into law the following definition through legislation (E2SHB 1599 Sec. 301):

  • “Competencies include explicit, measurable, transferable learning objectives that empower students; 
  • Assessments are meaningful and a positive learning experience for students; 
  • Students receive rapid, differentiated support based on their individual learning needs; and 
  • Learning outcomes emphasize competencies that include application and creation of knowledge along with the development of important skills and dispositions.”

Connecticut’s Board of Education adopted these “10 Principles of Mastery-Based Learning:”

  1. “All learning expectations are clearly and consistently communicated to students and families, including long-term expectations (such as graduation requirements and graduation competencies), short-term expectations (such as the specific learning objectives for a course or other learning experience), and general expectations (such as the performance levels used in the school’s grading and reporting system). 
  2. Student achievement is evaluated against common learning standards and performance expectations that are consistently applied to all students regardless of whether they are enrolled in traditional courses or pursuing alternative learning pathways. 
  3. All forms of assessment are competency-based and criterion-referenced, and success is defined by the achievement of expected competencies, not relative measures of performance or student-to-student comparisons. 
  4. Formative assessments measure learning progress during the instructional process, and formative-assessment results are used to inform instructional adjustments, teaching practices, and academic support. 
  5. Summative assessments evaluate learning achievement, and summative assessment results record a student’s level of mastery at a specific point in time. 
  6. Academic progress and achievement are monitored and reported separately from work habits, character traits, and behaviors such as attendance and class participation, which are also monitored and reported. 
  7. Academic grades communicate learning progress and achievement to students and families, and grades are used to facilitate and improve the learning process. 
  8. Students are given multiple opportunities to improve their work when they fail to meet expected standards. 
  9. Students can demonstrate learning progress and achievement in multiple ways through differentiated assessments, personalized-learning options, or alternative learning pathways. 
  10. Students are given opportunities to make important decisions about their learning, which includes contributing to the design of learning experiences and learning pathways.”

Core Challenges of Implementing Mastery-Based Learning

The core challenges of implementing Mastery-Based Learning are laid out by Nodine (2016):

  • Determine what mastery means
  • Provide materials that enable all students to reach mastery
  • Allow sufficient time for every student to work through the material and achieve mastery
  • Provide ways for students to demonstrate mastery

The first and last challenges are related – and can begin to be addressed by Bloom’s early work (1956) – Bloom’s Taxonomy. The current version was published in 2001 by Anderson & Krathwohl:

Once clear Learning Objectives are established, ways for students to demonstrate that mastery should become clear.

To address the middle two challenges around materials and time, many have recently turned to technology to help provide self-paced, differentiated learning.

Many tools only offer support for one of these challenges. Many MOOC platforms, such as Coursera and EdX, are designed for self-paced learning.

Other platforms specializing in differentiation, such as PrairieLearn, Realizeit, and the Canvas LMS, allow the creation of MasteryPaths.

Mastery-Based Learning Practices in Computing Education

Looking at computing education, a handful of practices are reported in the literature. Spertus & Kurmas (2021) discuss enumerating learning goals and course objectives, along with a clear plan for how instructors will evaluate them. They also discuss allowing learners multiple assignment attempts and providing rich rubric-based student feedback.

Garner et al (2019) provide a comprehensive and recent review of the CS Education literature on mastery learning. They found many implementations attempted to be self-paced or highly flexible with timing.

Almost all also included a mechanism for multiple attempts or retakes until a student reached mastery. Garner and colleagues report several approaches to grading, ranging from exams to contract grading.

A couple of studies reviewed by Garner’s team explicitly call out formative assessments as instruments to measure students' progress toward mastery while giving both the student and teacher a better sense of the student’s current state of mastery.

Formative assessments that measure student progress towards mastery thus allow for any necessary changes in instruction can be made. Importantly, formative assessments are typically ungraded, as their purpose is to inform interventions.

Finally, Garner et al. (2019) described one study by Urban-Lurain and Weinshank, where students could not move on to the next topic until they passed the previous topic’s task at a certain level. This concept of prerequisites makes sense in many computational courses where future topics require the mastery of previous topics.

Challenges of Mastery-Based Learning in Computing Education

Even after overhauling your course, mastery-based learning can come with unforeseen challenges. Campbell, Peterson, and Smith (2019) list three challenges they encountered:

“First, the course requires significant resources, and administering it is significantly more time-consuming for instructors than a regular course. Second, students hesitated to treat mastery quizzes as formative. Finally, the flexibility that the course provided, with little structure and few incentives to help students stay on track, led to considerable procrastination.”

Their last point about student procrastination was replicated in later work by Ott, McCane, and Meek (2021). “A shift to a more flexible, self-paced learning model without a high-stake final exam led to increased procrastination which was more pronounced for lower achieving students.”

Like much of education, there seems to be a delicate balance between providing students the freedom to work at their own pace and structure to keep them on track to complete their work on time.

Want to help us find out more about student perceptions of mastery-based learning in computer science? Share our survey on the topic with your students and you’ll be one of the first to receive the findings they’re published.

Just complete the form here to get the link.


Anderson, L. W., & Krathwohl, D. R. (2001). A taxonomy for learning, teaching, and assessing: A revision of Bloom's taxonomy of educational objectives. Longman.

Bloom, B. S. (1956). Taxonomy of educational objectives: The classification of educational goals. Cognitive domain.

Bloom, B. S. (1968). Learning for Mastery. Instruction and Curriculum. Regional Education Laboratory for the Carolinas and Virginia, Topical Papers and Reprints, Number 1. Evaluation comment, 1(2), n2.

Campbell, J., Petersen, A., & Smith, J. (2019, February). Self-paced mastery learning cs1. In Proceedings of the 50th ACM technical symposium on computer science education (pp. 955-961).

Carroll, J. (1963). A model of school learning. Teachers College Record, 64,

Garner, J., Denny, P., & Luxton-Reilly, A. (2019, January). Mastery learning in computer science education. In Proceedings of the Twenty-First Australasian Computing Education Conference (pp. 37-46).

Nodine, T. R. (2016). How did we get here? A brief history of competency-based higher education in the United States. The Journal of Competency-Based Education, 1(1), 5-11.

Ott, C., McCane, B., & Meek, N. (2021, June). Mastery Learning in CS1-An Invitation to Procrastinate?: Reflecting on Six Years of Mastery Learning. In Proceedings of the 26th ACM Conference on Innovation and Technology in Computer Science Education V. 1 (pp. 18-24).

Spertus, E., & Kurmas, Z. (2021, June). Mastery-based learning in undergraduate computer architecture. In 2021 ACM/IEEE Workshop on Computer Architecture Education (WCAE) (pp. 1-7). IEEE.

Elise Deitrick

Elise is Codio's VP of Product & Partnerships. She believes in making quality educational experiences available to everyone. With a BS in Computer Science and a PhD in STEM Education, she has spent the last several years teaching robotics, computer science and engineering. Elise now uses that experience and expertise to shape Codio's product and content.