This workshop follows our presentation about PrairieLearn: an online problem-driven learning system for creating homeworks and tests. It allows questions to be written using arbitrary HTML, JavaScript, and Python, thus enabling very powerful questions that can randomize and auto-grade themselves, and can access client- and server-side libraries to handle tasks such as graphical drawing, symbolic algebra, and student code compilation and execution. Participants should bring a laptop running Docker (https://www.docker.com/community-edition), a git client (https://desktop.github.com/), and a code-editor like Atom (https://atom.io/). We will get you bootstrapped using those tools to create course content for PrairieLearn. We’ll walk through examples of basic questions with randomization and auto-grading and more complicated scenarios like client-side JavaScript and containerized grading environments.