Nowadays the e-learning domain has different development directions. Learning management systems
(LMS) tend to integrate standardized content like: Shareable Content Object Reference Model (SCORM),
Aviation Industry Computer Based Training Committee(AICC), etc.
In products like Storyline 2 and Studio'13 the focus is set on
the development of content based on slides. They start from Microsoft PowerPoint slides and enhance
it with several facilities like: narrations, annotations, motion paths, screen recordings, videos,
iterations, conditional interactions, simulations, language support. Another focus of these
products is set on content publishing to various platforms like iPads, Android tablets etc.
The Captivate e-learning content authoring tool contains facilities like: to create content for
iPads and tablets with responsive design, storyboards based on slides, multiple choice templates,
text, image and video galleries, sync with the cloud, e-mailing facilities of the just created story
boards, the content is expressed as a Flash clips and HTML5 web pages played on most of the
browsers. xAPI is a flexible specification allowing to track informal learning, social
learning and real world experiences. The recording format is a very generic one in the form of
actor, verb and object memorized in a learning record store (LRS).
SCORM (Shareable Content Object Reference Model) is a set of standards for e-learning software in
order to increase integration of e-learning content.
Generative learning objects (GLO) are reusable pedagogical templates to be filled with content
obtained in several ways. One efficient way for e-learning content generation is to use
meta-programming on generative models.
In this paper we present several generative models to be reused in authoring computer science (CS)
The first model we propose is a CS text problem composer embedding features like: composition rules
for generating learning objects, linked lists problems generation, modelling problems being built
around the composition concept.
A second model is a code refactorer based on several refactoring rules like: changing variable
names, changing code indentations, changing loop instructions etc in order to be used by first year
students to recognize different algorithms.
A third model is a code tamperer based on several code tempering rules used to affect the sensitive
sections, operators, variables, etc of an algorithm where students will have to identify the
inserted faults. In this model we include a source code block randomizer component based on abstract
syntax tree (AST) subtree swaps and other rules. A source code line randomizer can be included in
the same context based on swapping sensitive lines in an algorithm selected manually or
A fourth model is demonstrator based on several concepts like: to give as input an algorithm, to
give as output the visualization of the data structure changes during the algorithm run.