Skip to main content

The PreTeXt Guide

Section 32.1 About Runestone Academy

Runestone textbooks are designed around interactive activities and active reading. We are very far along in the process of exposing these capabilities via PreTeXt markup. Publicly-accessible Runestone servers are availble at Runestone Academy
  • Every feature of the usual PreTeXt HTML output should function identically on a Runestone server.
  • We have designed PreTeXt markup for the various types of problems available in Runestone: True/False, multiple choice, Parsons problems, matching, clickable area, (basic) fill-in, and ActiveCode programming exercises. Hosted on Runestone, readers have their responses graded and get instant feedback, plus their results are saved at the site. For other HTML output, hosted on your own server, these problems are automatically graded and the reader gets instant feedback, but of course, responses and scores are not saved anywhere. Please see Section 4.12 for details of these exercises and their markup.
  • Any <exercise> authored in PreTeXt can be electively rendered as a Runestone short answer question, when the Runestone platform is targeted as the host. A student can use notation in formulating their answer, and Runestone will provide the instructor an efficient interface for reviewing student responses, provide feedback, and assign scores.
  • Every feature described for an <exercise> is also available for PROJECT-LIKE, and for individual terminal <task> within these structures.
  • As much as possible, non-interactive versions of these problems will render in less-capable formats, like PDF, EPUB, and braille.
  • A <program> element with the attribute @interactive set to activecode (even outside of a an exercise) will be realized as a Runestone ActiveCode interactive program, where programs can be edited, compiled, and run. In some cases a CodeLens interactive trace utility is also available. The @language must be set. Supported values for the language when hosted at Runestone are: python, python3, c, cpp (C++), javascript, java, octave (Matlab), sql, and html. When hosted on your own server, python, javascript, sql, and html, are supported with in-browser routines. So you do not need to configure anything server-side for this capability. See subsections of Section 4.15 for details.
  • Similarly, a <program> element with the attribute @interactive set to codelens (even outside of a an exercise) will be realized as a Runestone CodeLens interactive program. This allowa a reader to step through the program, much like in a debugger, but with more informative displays of the intermediate state of the program (and nothing like breakpoints or changing variable’s values). This ability varies by language, and by hosting location. See subsections of Section 4.15 for details.
  • All of the interactive exercises on a Runestone server can be worked by a student at the location in the book where they were authored, or a student may use the interface provided by the server (the assignment page) to locate exercises assigned by an instructor, at a location disjoint from the text itself.
  • Additional activities are available when your book is hosted on a Runestone server, such as peer instruction. For example, you may choose an exercise, typically multiple-choice, for all the students to answer in class. Then the server can pair up students with different answers to discuss their responses before any more is know about the solution. This can be done through a chat window for a class where moving around is difficult.
  • Students and instructors are provided extensive reports on progress.
  • Instructors may download a spreadsheet of scores at any time.
  • If you preview some books in Runestone’s library, you will notice the use of ethical advertisements. This, along with donations, is how Runestone can offer free hosting to authors and courses. Once a student logs in as a member of a course, advertisements are no longer shown. So do not let an adversion to online advertising dissuade you from making courses possible on Runestone.
  • Interactive exercises may not function fully inide of knowls. This bug is being tracked at GitHub #1983
We will not attempt to duplicate Runestone’s documentation here. Visit the Runestone Academy
site to learn more about all the features designed for hosting your textbook for everybody’s courses.