Version 22 (modified by davea, 14 years ago) (diff)


Berkeley Open Learning Technology (Bolt)

Bolt is a software infrastructure for creating web-based courses.


Reference manual


Implementation notes

Other features of Bolt

By default, every Bolt page includes an "ask a question" link. These questions are delivered as private messages to the course developer.

Identification of course elements

A course can change over time. Elements (lessons, exercises, sets) may be added, deleted, or reordered.

A student has a "context" in a course - a sequential position, and a set of review items. What if the course changes, and these items change or disappear?

Each element may be given a "logical name". For items, this defaults to the file name.

A user's sequential position is stored in the DB as the logical name or last item viewed. On continuation, Bolt looks up that item.

Implementation notes

At the implementation level, an exercise has three functions:

  • When invoked with $mode_show set, it shows the exercise.
  • When invoked with $mode_score set, it computes a score based on the responses stored in $_GET, and assigns the score to $score. Its text output, if any, is ignored.
  • When invoked with $mode_answer, it shows and "answer sheet" based on the responses stored in $_GET. If the response is correct and no answer sheet is to be shown, it sets $no_answer_sheet.

Bolt's exercise primitives perform all these functions for you; however, you're free to implement your own exercises.

The bigger picture

Bolt's primary goal is to serve the needs of volunteer computing and skill aggregation projects. However, we believe that it can also become a tool for research in education and cognitive science, for a variety of reasons:

  • Experiments can be deployed with large sample sizes.
  • Experiments can be deployed immediately, with no dependence on the academic calendar. Significant results are available in days rather than months or years.
  • The student population varies widely in age, language, and education level.
  • The student population is self-selecting for interest in the topic area, and has diverse learning goals.
  • Experiments are not limited by standards or syllabi.
  • Experiments can be conducted without dependence on educational institutions or teachers.