A gentle introduction to the LENO system

In the following we give a brief introduction to the LENO system. The goal is to introduce the LENO system to the author of a teaching material and give a first (very simple) example of a teaching material produced using the LENO system. After having read this gentle introduction to the LENO system we recommend to follow The LENO Tutorial which describes how to produce more advanced teaching material using the LENO system.

1. Characteristics of a LENO teaching material

A teaching material produced in the LENO system is organized in a number of lectures (or chapters) and is caracterized by the co-existence of several views, e.g., slide view for presentation purposes, annotated slide view for teaching purposes and thematic view for more traditional reading. The user can dynamically navigate between the different views. As a suplement audio tracks can be used to complement the textual decriptions in the teaching material. See a more detailled explanation of the different views. Icons are used to dynamically navigate between the different views in the teaching material.

Here is an example of a teaching material produced using the LENO system.

The LENO system provides text, images, sound, as well as animations and the teaching material can be presented using several pre-existing graphical styles.

A central issue is the avoidance of maintaining several copies of the contents of the teaching material. External textual fragments are included directly from the source - no copies are made. Elements can be "borrowed" from another page without replicting it in the source document. Trails are supported which allow for various selections of the teaching material without copying any parts. Using a LENO trail it is possible to define a sequence of slides from selected slides in a number of sections. The trail determines the selection and the sequence of the slides. This is useful if you want to present a subset of your slides for some purpose, and if you do not want to deal with multiple copies (which is usually a bad solution).

In the following we explain the basic idea behind the LENO system and show how to produce a LENO teaching material by means of an example. We recommend to try out the example on your own installation of the LENO system. See how to install LENO on your own machine.

2. How to produce teaching materials using the LENO system

The idea behind the LENO system is to provide a tool for authoring and programming of web-based teaching material. Instead of producing the material directly a software package is provided which enables the author to describe the teaching material in a special language closely related to XML. Hence, the teaching material is constructed using textual mark-up as a contrast to traditional WYSIWYG systems.

The teaching material is constructed in a format which is tightly connected to XML. A set of library functions mirroring each of the XML tags are provided, hence enabling the author to express web elements in a way similar to XML. We write something like

(point 
(main-text "This is the text shown in the point")
(annotation "And here is an annotation to the text in the point")
)

Please note that point is not a standard element, but an element we have programmed. Thus, we are able to define and use our own tags, just like in XML.

In addition to the basic XML elements the author can exploit the benefits of programmatic authoring to control document complexity. Programmed solutions are available anywhere in a document, and any time in the writing process. You can abstract from details by writing and applying functions using the Scheme language. We find it important to provide access to XML and HTML elements via functions, not macros or just list data forms. The reason is that we want to author our XML/HTML documents in a functional programming context, where especially higher-order functions are attractive. It is only possible to do this in a flexible way if all the elements of the markup languages are represented as functions. You should read the paper 'Web Programming in Scheme - the LAML approach' (pdf) if you are interested to learn more.

The author of the teaching material produces the teaching material by writing a XML-related source material as described above. The LENO system then automatically processes the source and produces a catalogue containing a self-contained web based teaching material. When processing the source the LENO system returns a text in pure HTML. Or more correctly, returns a data structure - a list that represents a syntax tree - which can be rendered as as HTML. Such a transformation is, by the way, also what happens on most XML documents today, by means of XSL for instance.

The figure below gives an overview of the production of teaching materials using the LENO system. The steps involved are explained below the figure.

LENO system overview

The blue cloud in the middle of the figure above symbolises that the middle step of the process, i.e., the translation of the author produced source document to a self contained web-based teaching material, is done by the LENO system.

3. LENO tool support

The LENO system translates a teaching material written in the LENO source language (a XML related language) to a self contained web-based teaching material. The LENO system provides a number of templates which simplifies the authoring of the teaching material in the LENO source language. In this last part of "A gentle introduction to the LENO system" we will describe the tool support and give a first example of how to produce a teaching material using the LENO system. A detailled description and discussion of the LENO source language is given in The LENO Tutorial and in The LENO Reference Manual. Here we will introduce the ideas behind the LENO system and the LENO source language by means of an example. We show how to create a new teaching material and how to process it using the LENO system. The teaching material we create contains a single slide with two items (bullets)

3.1 Write the source document

The first step involved in the production of a teaching material using the LENO system is to write the source document. The LENO system provides tool support via the use of the Emacs texteditor. Hence, we strogly recommend to use Emacs as the texteditor for constructing and editing LENO documents. On Windows Emacs is started by doubleclicking the icon runemacs which is located in the folder where you chose to install Emacs.

When Emacs is started it appears as in the figure below. Initially Emacs provides six basic menus including the (for the moment most important) File menu for basic file handling (open, save, close ect.). A tutorial of how to use Emacs is available under the Help menu, however, it is for the first use of Emacs not necesaary to know all the details.

Emacs

An existing LENO material is opened in Emacs by choosing Open File in the File menu. Here we will describe how the LENO system supports the construction of a new teaching material.

The LENO system supports easy construction of new teaching material by automatically creation of the necessary folders and files. When creating a new teaching material the autor selects Make new LENO lecture notes... from the Tools -> Laml menu (see the figure below).

Emacs

After having selected Make new LENO lecture notes... you will be asked about the directory, in which to organize the LENO source material. We strogly recommend to create a seperate folder for the LENO material before selecting Make new LENO lecture notes.... You now just give the directory which you have created for the teaching material. You will also be asked about the name of the LENO source file (without extension). The file can, for instance, have the same name as the directory in which it resides.

In the rest of the section we introduce the LENO tool support by means of an example. We create a new teaching material in a newly created folder MyFirstLectureNote. In the two figures below we show how the author is prompted to specify the name of the folder where the material is placed and the name of the material. Please note that the entire path to the folder has to be specified. We call the teaching material myfirstlecturenote.

Emacs

Emacs

After having specified a folder and a name for the material the LENO system automatically creates a number of folders and files. The figure below shows the contens of the folder MyFistLectureNote after having created a new teaching material using the Tools -> Laml -> Make new LENO lecture note... command.

Emacs

The selection of Tools -> Laml -> Make new LENO lecture note... also creates a file which appears in Emacs. The file contains a template for a LENO teching material. The contents have to be filled by the author. The figure below shows the beginning of the file as it appears in Emacs immediately after the selection of Tools -> Laml -> Make new LENO lecture note.... Please also note that two new menu items have appeared in Emacs: Leno and Laml which provides tool support for the construction of LENO teaching materials. We will return to these new menu items later.

Emacs

In the following we present the template automatically provided by the LENO system and show how to fill in the contents using the available tool support in the LENO system. The figure below shows in blue the template of a new teaching material. The red text is the contents filled in by the author of the teaching material. First, the title and subtitle of the teaching material, the name and affiliation of the author and finally the abstract are filled in.

(load (string-append laml-dir "laml.scm"))       
(laml-style "xml-in-laml/lecture-notes/lecture-notes")

(leno-front-matters
  (front-title "LENO")           
  (front-subtitle "A gentle introduction")   
  (front-author "My Name")           
  (front-affiliation "My Affiliation")  
  (front-abstract "This is a gentle introduction to the LENO system.")  

  'slide-view "true"  
  'annotated-slide-view "true"
  'aggregated-view "true" 
  'primary-view "slide-view"

  'scheme-suffix "post-notes.scm"

  'course-home-url ""   
  'author-home-url ""   
  'note-download-url ""   
  'logo-url "http://www.auc.dk/"  
  'note-contents-description ""    
  'slide-header "normal"  ; minimal/normal/none 
  'trail-of-lecture "false"  
  'language "english"      

  'show-and-speak "false" 
  'default-showing-time "2"    
  'additional-showing-time "0" 
  'sound-source "wav-file" 
  'speak-file-prefix "sound/"
  'speak-url-prefix "../sound/"

  'exercise-model "none"   
  'quiz-support "false"   

  'word-index "true"  
  'apply-css-styling "false"

  'news-flash-string  ""  
  'news-flash-level   "2"

  'verbosity-level "1"
  'clean-html-directory "false"
)

(begin-notes)





(end-notes)

After having filled in this general information of the teaching material we are ready to fill in the real contents of the teaching material. In our example we will construct a teaching material containing a single slide with a title and two items.

The contents of the teaching material is filled in between (begin-notes) and (end-notes) in the template. The LENO system provides (via the Leno menu) a number of templates for filling in contents. The idea is that selection of a menu item from the Leno menu will create the corresponding template at the current location of the cursor. The figure below shows the contents of the Leno menu.

Emacs

A template for a slide is created automatically (in the location of the curser) by choosing Insert note page from the Leno menu. Again the figure below shows in blue the template of a slide. The red text is the contents filled in by the author of the teaching material. We have filled in the id of the slide (can be used if we want to refer to that slide later), the title of the slide and an annotation (an additional text which can be seen in the annotated slide view of the teaching material).

(begin-notes)

(note-page 'id "id1"
  (title (main-text "First example in LENO")
         (annotation "This is the annotation of the first slide. 
                      The annotation is available in the annotated slide view.")
  )


)


(end-notes)

Now we are ready to fill in the contents of the slide. In this example we want the slide to contain two items (bullets). By choosing Insert items... from the Leno menu the author is prompted to specify the number of items at the outer level and the inner level. We have chosen 2 items at the outer level and 0 items at the inner level. The figure below shows how the template is automatically intserted. We have filled in the contents of the two items together with two annotations (one for each item) which can be seen in the annotated slide view of the teaching material.

(begin-notes)

(note-page 'id "id1"
  (title (main-text "First example in LENO")
         (annotation "This is the annotation of the first slide. 
                      The annotation is available in the annotated slide view.")
  )
 (items 
  (item 
   (main-text "This is an item"
              ) 
   (annotation "This is an annotation of the first item."
               ))
  (item 
   (main-text "The items are made using a template"
              ) 
   (annotation "The annotations are available in the annotated slide view."
 )))

)


(end-notes)

This concludes our simple example. We have used the LENO tool support (the templates available via the Leno menu in Emacs) to construct a teaching material with a single slide containing two items. The full constructed source document myfirstlecturenote.leno is available here. In the following we will show how the source document is automatically processed by the LENO system and how the final product (the web-based teaching material) is constructed.

3.2 Process the source document (generation of web-based teaching material)

The written source document has to be processed by the LENO system. When doing that a self contained web-based teaching material is produced. The author initiates the LENO system to process the source document by choosing Process asynchronously from the Laml menu (see the figure below) of Emacs.

Emacs

When processing the source document the lower part of the Emacs window will inform about the processing. Potential error reports are also given here.

3.3 The final result

When the source document has been sucessfully processed by the LENO system a web-based teaching material is automatically produced. The result basically consists of two parts: a HTML document which the author can use as a starting point for browsing the material and the actual product: a self contained folder named html containing the web-based teaching material (a bunch of HTML files). The reader is encouraged to inspect the final result of the simple source document constructed in this example. We also recommend to try out the the example on your own installation of the LENO system.

Where to learn more

We hope that this gentle introduction to the LENO system has given you a first glance of how to produce teaching material using the LENO system. We strongly recommend you to try out the example given here yourself. For more advanced introduction to the LENO system we now refer to The LENO Tutorial which also provides a number of on-line available examples.

 

 

Genereret: 18. Februar 2003, 17:48:16