Page Layout and Navigation

Upon logging in, you'll see a navigation bar at the top of the screen and, in the remainder of the screen, the content that is visible for your section.

The navigation bar provides easy access to a Code Editor that can be used to step through code one line at a time. The right side of the navigation bar lists your username and section.

Below the navigation bar, you'll see a series of quests. Each quest contains a series of challenges, and each challenge contains resources about a specific topic: videos, possibly, or multiple choice or coding questions. If the work is being marked, then a due date is visible on the right-hand side of the quest bar.

A list of challenges under the 'C Language Basics' quest.

Each quest has its challenges listed by it. Each challenge has its own name, and the bar below shows your progress through the challenge. You can click on the challenge to enter it.

Challenges and Problems

Inside a challenge, you'll see a progress bar in the top right and content on the main page. The progress bar contains icons -- for videos and exercises -- and these icons are red if you have not attempted the problem, yellow if you have attempted but not completed the problem, and green if you have solved the problem. Clicking on an icon takes you directly to the problem it represents. Clicking the navigation chevrons will take you to other pages of problems, if there are other pages in the challenge.

An example of how students view testcases.

While your challenge may contain multiple items -- videos, multiple choice problems, or programming exercises -- each item can be completed separately. The picture above shows a programmign exercise that has been completed. Make sure to check the message that is displayed when you click "Submit" carefully. If the message is red or yellow, an error has occurred: your code may not have compiled, may have failed tests, or may be after a deadline. A green bar indicates that all tests have passed. You'll also see a checkmark appear on the problem that you've solved.

Mastery Quizzes

Mastery quizzes are essentially timed challenges with limited attempts. As a student, you're going to be attending one of the mastery quiz sessions hosted by a TA during a given timeslot. Once you get there, the TA will generate a code. You will press 'Mastery Quiz' on the menubar, and input this code. Once the code is input, you will be taken to a Challenge page, except this will have a timer. Once the timer expires, you will be taken to a results page with the results of your most recently completed quiz. Unlike normal challenges however, there are limited attempts to some questions.

Code Editor

The code editor contains a text area where C, Python, Java, or SQL code (depending on your course) can be entered. When the code is submitted, it is compiled, and warnings are reported below the text area. If compilation is successful, then the code is instrumented, and a trace of execution is displayed. Users can step through the trace (forwards or backwards), and a representation of the program's state is updated as the user navigates the code.

Frequently Asked Questions

  1. I can't import system libraries. Why not?
    PCRS runs code on the server, so we have disallowed certain libraries which give you access to the internals of the server.
  2. In Python, I can't seem to use any variable with "open" (or "file" or "input" or ...) in it. I get odd errors.
    Yes -- Python gives you access to some builtin commands -- like open -- that have to be disallowed. The filter that removes them is a little enthusiastic, so even variable names with open are removed. Sorry! Just use a different variable name.
  3. The code editor (or debug button) isn't available.
    Some instructors turn off the code editor for the courses. In addition, if a test case contains hidden code (necessary for testing it for correctness), the debug button is not available.