PrairieLearn

Mastery learning meets online assessment

Log in

Are you a student?

Enroll course

Are you an instructor?

Request course View docs

Empower students to master content

Real-time

Students receive immediate feedback about mastery level

Randomized

Students solve randomized question variants until mastery

Repetition

Students are incentivized to repeat questions until mastery

Improve teaching workflows

Adaptive

Score adaptively based on student mastery and question difficulty

Automated

Automate the submission and grading process

Analytics

Analyze assessment quality and student outcomes

Jumpstart your assessments with PrairieLearn elements

PrairieLearn offers a wide range of built-in widgets to accelerate your question writing development

Selectors

Select correct answers from a pool of distractors

  • Radio buttons
  • Checkboxes
  • Dropdowns

Inputs

Fill in the blank

  • Numerics
  • Integers
  • Strings
  • Symbolic expressions
  • Pandas dataframes

Editors

Work with in-browser, live-preview editors

  • Markdown
  • LaTeX

Visualizations

Display 2D and 3D visuals

  • Images (static or generated)
  • GraphViz graphs
  • Drawing canvases
  • Element overlays
  • 3D scenes and objects

Files

Work with external files

  • File uploads
  • File downloads

Draggables

Drag and drop items into order or orientation

  • Lines of code
  • Chronological events
  • 2D vectors
  • 3D objects

Workspaces

Work remotely in custom Docker containers via in-browser frontends

  • Visual Studio Code
  • Jupyter notebooks
  • RStudio

And more …

Check out the docs to see more elements or how to roll your own!

Use elements Write elements

Ready to get started as an instructor?

Start by requesting a course and creating some content. Join the Slack workspace for ad hoc assistance or some random banter!

Request your course Create your content Join our community

Want to contribute?

PrairieLearn is open source, so anyone can add features or fix bugs!

GitHub Slack Developer guide