This page contains materials to guide system administrators and instructors on the installation and use of PCRS-C with the C Programming video modules. The content materials, including videos and a database of problems, are published as shared educational resources and licensed under a Creative Commons Attribution 4.0 International license. The software itself, PCRS, is published under GPL v3.0.


The C Programming Modules project is implemented in PCRS-C, an application for bundling interactive programming exercises with video-based instruction. In the C Programming video modules, each module contains a Discover component, where students watch videos and answer multiple choice and short answer questions to gauge comprehension. Many modules also contain a Rehearse component, where students solve interactive programming exercises that are accompanied by videos that explain solutions, and a Perform component, which contains programming exercises to complete for evaluation.

Visualizing a C program

PCRS-C programming exercises are evaluated using test cases provided by the instructor, and students receive immediate feedback upon submission. To explore code, or to debug code that has failed a test, PCRS-C features an execution trace visualizer. The visualizer allows the student to execute code line-by-line (forwards and backwards) and to observe changes that occur to program state as the program executes.

All tools and materials have been designed to meet WCAG 2.0 accessibility standards.


The videos associated with the C Programming Modules are available for direct use, but to use the interactive exercises that accompany them, instructors will need to have a system administrator create a local instance of PCRS-C for their use.

Here are some resources for installation:


Instructors have the ability to create problems, organize content, set deadlines, and view grades. This guide provides an introduction to instructor-specific features on the system.

Students can view videos and solve problems that have been posted by instructors. This guide provides a brief introduction to the features of the system visible to students.