Are you a student?
Enroll courseAre you an instructor?
Request course View docsEmpower 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 …
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 communityWant to contribute?
PrairieLearn is open source, so anyone can add features or fix bugs!
GitHub Slack Developer guide