This repository contains resources for mastery-based learning in undergraduate computer architecture courses. As principal Danielle Salzberg has said: [1]
Mastery-based learning is a complete paradigm shift for most teachers. It means thinking about grading as a way to provide feedback, and not a random act that we do because the quarter is ending.
Principles of mastery-based learning include: [2]
-
Providing students with learning goals and the objective criteria for measuring them.
-
Grading students based on these objective criteria and not on work habits, such as as neatness, timeliness, and effort.
-
Giving students multiple opportunities to demonstrate mastery, ultimately grading them on whether, not when, they mastered the material.
These practices place a burden on teachers -- requiring them to create and grade multiple versions of each test. This repository contains scripts for generating questions and answers that can be uploaded to Canvas or other learning management systems for automated testing.
These directories contain code, sample output, and, in some cases, instructional material on the following topics:
Some of this information is specific to Canvas. I welcome pull requests for other LMSs.
The file learning-outcomes.csv can be modified to meet your needs and imported into the Outcomes section of your course.
Activiate the Learning Mastery Gradebook.
The code can be executed with Python 3 (tested with 3.9.0). Descriptions of each script appear in the appropriate subdirectory.
Generated files of questions and answers can be uploaded to Canvas through Respondus 4.0, which is unfortunately not free. I would be happy to learn of free alternatives.
This repository includes qm.py from Thomas Pircher's implementation of the Quine McCluskey algorithm.
This repository was created by Ellen Spertus based on material from her Mills College course CS 111: Computer Architecture.