A system to generate electronic books on programming exercises

Electronic books offer a number of possibilities for innovation over paper books in certain fields. It is the case of programming exercises, which have a complex but well‐established structure. We describe a system for the development of electronic books on programming exercises. A mark‐up language, called eXercita, was designed to represent and manage programming exercises in a comprehensive manner. Several tools allow customizing exercises to the user’s purposes, as well as selecting parts of individual exercises and subsets of the repository. As a consequence, the user can generate a custom electronic book, presented as a hierarchical Web site and implemented structured according to a given specified criterion. Based on the eXercita language, we have developed a large repository of exercises, as well as two books: an electronic book on the Web and a paper book containing a set of selected exercises.