Checkpoint: A Tool for Supporting Terminal-Based Capture-the-Flag Assessments
Checkpoint is a responsive, terminal-based assignment system designed to support faculty in teaching and assessing a broad scope of computer science topics with Capture-the-Flag (CTF) style challenges. Unlike existing CTF frameworks, where binary completion of a given task is the only metric for evaluation, Checkpoint enables students to receive partial credit and dynamic feedback as they complete tasks. Not only does this allow students to confirm they are on the right track, but it simultaneously provides detailed analytics to instructors about each student’s progress as they complete the assignment.
Presented by an in-browser terminal emulator neatly wrapped in a Docker image, Checkpoint is a versatile tool that can be implemented in a variety of Learning Management Systems (LMSs) with minimal effort. Instructors can easily define flags in a user-friendly configuration file with flag names mapped to optional feedback and regex patterns, which automatically mark flags as complete and render feedback to students within their terminal environment.