TeachML
This article or section is incomplete and its contents need further attention. Some sections may be missing, some information may be wrong, spelling and grammar may have to be improved etc. Use your judgment!
Contents |
Definition
TeachML is an educational modelling language for contents. The code can be run in the Targeteam software.
This project may be dead since the homepage of the project is dead. See ELML, a very similar (and alive) project.
TeachML has been created in the TArgeted Reuse and GEneration of TEAching Materials (Targeteam) project). “ Targeteam is a system for supporting the preparation, use, and reuse of teaching materials. It is centered around the XML based language TeachML which can be classified as an "educational modelling language".” ([1], retrieved 15:50, 29 May 2007 (MEST)).
The Targeteam project is a joint development effort of the group of Prof. Gunnar Teege, University of the Armed Forces, and Prof. Johann Schlichter, Technical University, both at faculty of Informatics, in Munich, Germany. The Targeteam System is an Open Source development, implemented completely in Java. The System and all documentation can be downloaded from the Targeteam homepage and can freely be used and distributed.
TeachML architecture
The most important element of TeachML is the issue: “Targeteam [...] provides an abstract structure in the form of a homogeneous hierarchy of issues . Content chunks are not identified as “chapter”, “section”, “paragraph”, “list entry”, “exercise”, “slide”, “course unit” etc. Instead, the actual structure is generated automatically from the homogeneous hierarchy when the delivery format is produced. The abstract structure makes it possible, to reuse Targeteam content chunks in differently structured contexts. The same issue can be used in one context as a subsection where the subissues become list entries, and in another context as a separate chapter where the subissues become sections ” (Teege, 2002)
The main structure of TeachML can be formalized with a UML class diagram
TeachML 1.2 Integrated Materials Language
<?xml version="1.0" encoding="ISO-8859-1"?> <!-- ................................... --> <!-- TeachML 1.2 Integrated Materials Language --> <!-- file: TeachML-Int.dtd This is the TeachML language for complete integrated TeachML materials. It consists of all TeachML language modules but TeachML Integration. Note, that this is not the real DTD, as it is used in the Targeteam system. The real DTD is modularized into several files, according to DTD modularization in XHTML, and it makes heavy use of parameter enities. This file contains all DTD modules and most parameter entities have been eliminated for better readability. This file is provided for getting a first quick impression of the Targeteam DTD. More information about the elements, their semantics, their use and examples can be found in the Targeteam documentation, available at the Targeteam homepage: http://www11.in.tum.de/forschung/projekte/targeteam/ .................................... --> <!-- The document element is teachml. --> <!-- TeachML document element ..................... --> <!ELEMENT teachml ( module ) > <!-- Next, all sublanguages for content are integrated. Each sublanguage XXX contributes the elements in ContentXXX.mix to the elements which may be used anywhere in content. --> <!-- Language Core --> <!-- content contribution elements: --> <!ENTITY % ContentCore.mix "note | definition | code | defined | emph | quote | ref | whatsit | xor" > <!-- complete element set: --> <!ENTITY % ElementsCore.mix "%ContentCore.mix; | header | intro | kernel | details | illustration | exercises | metaissues | summary | module | issue " > <!-- Sublanguage Box --> <!-- complete element set: --> <!ENTITY % ElementsBox.mix "vbox | hbox | cbox | ivbox | ihbox" > <!-- content contribution elements: all --> <!ENTITY % ContentBox.mix "%ElementsBox.mix;" > <!-- Sublanguage Tup --> <!-- complete element set: --> <!ENTITY % ElementsTup.mix "tuples | metatuple | tuple | ten" > <!-- content contribution element: tuples --> <!ENTITY % ContentTup.mix "tuples" > <!-- Sublanguage Astep --> <!-- complete element set: --> <!ENTITY % ElementsAstep.mix "atom-stepping | atoms | step | nosteps" > <!-- content contribution elements: all --> <!ENTITY % ContentAstep.mix "%ElementsAstep.mix;" > <!-- Additionally, content elements which are only present after integration (this is the atom element) --> <!-- complete element set: --> <!ENTITY % ElementsIntegrated.mix "atom" > <!-- content contribution elements: all --> <!ENTITY % ContentIntegrated.mix "%ElementsIntegrated.mix;" > <!ENTITY % Content.mix "| %ContentCore.mix; | %ContentBox.mix; | %ContentTup.mix; | %ContentAstep.mix; | %ContentIntegrated.mix;" > <!ENTITY % Elements.mix "| %ElementsCore.mix; | %ElementsBox.mix; | %ElementsTup.mix; | %ElementsAstep.mix; | %ElementsIntegrated.mix;" > <!-- Now we define the language modules. They only interact via the Content.mix parameter. --> <!-- TeachML core language ..................... --> <!-- Parameter defaults: --> <!ENTITY % Inissue.class "header | intro | kernel | details | illustration | exercises | metaissues | summary" > <!-- The Root Element: module. --> <!ELEMENT module ( issue )+ > <!ATTLIST module id ID #IMPLIED > <!-- ********************************* --> <!-- The sublanguage for structuring --> <!ELEMENT issue ( %Inissue.class; )* > <!ATTLIST issue id ID #IMPLIED kind CDATA #IMPLIED author CDATA #IMPLIED affiliation CDATA #IMPLIED > <!ELEMENT header ( #PCDATA %Content.mix; )* > <!ELEMENT intro ( #PCDATA %Content.mix; )*" > <!ATTLIST intro id ID #IMPLIED> <!ELEMENT kernel ( #PCDATA %Content.mix; )* > <!ATTLIST kernel id ID #IMPLIED> <!ELEMENT summary ( #PCDATA %Content.mix; )* > <!ATTLIST summary id ID #IMPLIED> <!ELEMENT xor ( alt )* > <!ELEMENT alt ( #PCDATA | issue %Content.mix; )* > <!ATTLIST alt types NMTOKENS "standard"> <!-- Issue groups: --> <!ENTITY % [http://www.eurodl.org/materials/contrib/2002/7teege/teege.htm Teege, 2002]Issuegroup.attrib " id ID #IMPLIED header CDATA #IMPLIED labels (numbers | letters | capletters | dots) #IMPLIED first-label CDATA #IMPLIED label-pre CDATA #IMPLIED label-post CDATA #IMPLIED " > <!ELEMENT details ( issue | xor )* > <!ATTLIST details %Issuegroup.attrib; > <!ELEMENT illustration ( issue | xor )* > <!ATTLIST illustration %Issuegroup.attrib; > <!ELEMENT metaissues ( issue | xor )* > <!ATTLIST metaissues %Issuegroup.attrib; > <!ELEMENT exercises ( issue | xor )* > <!ATTLIST exercises %Issuegroup.attrib; > <!-- *********************************** --> <!-- The sublanguage for textual content --> <!ELEMENT definition ( #PCDATA %Content.mix; )* > <!ATTLIST definition id ID #IMPLIED> <!ELEMENT note ( #PCDATA %Content.mix; )* > <!ATTLIST note id ID #IMPLIED> <!ELEMENT code ( #PCDATA %Content.mix; )* > <!ELEMENT defined ( #PCDATA %Content.mix; )* > <!ELEMENT emph ( #PCDATA %Content.mix; )* > <!ELEMENT quote ( #PCDATA %Content.mix; )* > <!ELEMENT whatsit ( #PCDATA %Content.mix; )* > <!ATTLIST whatsit kind CDATA #REQUIRED> <!-- ************************************ --> <!-- The sublanguage for cross references --> <!ELEMENT ref ( #PCDATA %Content.mix; )* > <!ATTLIST ref target-module NMTOKEN #IMPLIED target-atom NMTOKEN #IMPLIED target NMTOKEN #IMPLIED url CDATA #IMPLIED> <!-- ************************************ --> <!-- The sublanguage for simple includes --> <!ELEMENT include EMPTY > <!ATTLIST include select CDATA #REQUIRED> <!-- TeachML Box ................... ..................... --> <!ELEMENT vbox ( %ElementsBox.mix; )+ > <!ATTLIST vbox width CDATA #IMPLIED id ID #IMPLIED > <!ELEMENT hbox ( %ElementsBox.mix; )+ > <!ATTLIST hbox width CDATA #IMPLIED id ID #IMPLIED > <!ELEMENT cbox ( #PCDATA %Content.mix; )* > <!ATTLIST cbox width CDATA #IMPLIED id ID #IMPLIED > <!ELEMENT ivbox ( %ElementsBox.mix; )+ > <!ATTLIST ivbox width CDATA #IMPLIED id ID #IMPLIED > <!ELEMENT ihbox ( %ElementsBox.mix; )+ > <!ATTLIST ihbox width CDATA #IMPLIED id ID #IMPLIED > <!-- TeachML Tup ................... ..................... --> <!ELEMENT tuples ( metatuple?, tuple+ ) > <!ATTLIST tuples arity CDATA #IMPLIED id ID #IMPLIED > <!ELEMENT metatuple ( ten+ ) > <!ELEMENT tuple ( ten+ ) > <!-- "ten" is the abbreviation of Tuple ENtry --> <!ELEMENT ten ( #PCDATA %Content.mix; )* > <!-- TeachML Astep ................... ..................... --> <!ELEMENT atom-stepping ( #PCDATA %Content.mix; )* > <!ATTLIST atom-stepping id ID #IMPLIED > <!ELEMENT atoms ( atom )+ > <!ELEMENT step ( #PCDATA %Content.mix; )* > <!ATTLIST step atom CDATA #REQUIRED initial (true|false) "false" > <!ELEMENT nosteps EMPTY > <!ATTLIST nosteps atom CDATA #REQUIRED > <!-- TeachML Integration extensions .................... --> <!ELEMENT atom ( alternative )+ > <!ATTLIST atom id ID #IMPLIED > <!ELEMENT alternative EMPTY > <!ATTLIST alternative name CDATA #REQUIRED extension CDATA #REQUIRED type CDATA #REQUIRED derived-from CDATA #IMPLIED derived-by CDATA #IMPLIED>
Discussion
The following text is copy/paste from http://www.targeteam.net/ (!), , retrieved 15:50, 29 May 2007 (MEST).
- Learner's Experience
The feedback from learners was positive about the rich offer of different delivery formats which can be selected according to the learning situation and personal preferences. The main delivery formats offered where a fulltext script in PDF, a fulltext online script as structured HTML, and a short "slide" version in HTML used during the lectures.
- Authors Experience
After a period of accomodation the abstract structure and the separation from layout of the Targeteam content was perceived by authors as making the development of teaching materials substantially easier. However, this is only true for the development of new content or the reuse of Targeteam content. The reuse of "legacy content", such as content in LaTeX, Powerpoint or Word format, is rather difficult.
Links
- TArgeted Reuse and GEneration of TEAching Materials (TargeTeam Homepage - dead link June 2009)
Bibliography
- Teege, Gunnar (2002), Reuse of Teaching Materials in Targeteam HTML
- Ruch, Tobias (2008). Konzeption und Realisierung eines Layout-Editors für TeachML-Kursinhalte, Vdm Verlag Dr. Müller, ISBN 3639046293.
- Wehner, F. & Lorz, A. (2001). Developing Modular and Adaptable Courseware Using TeachML. In C. Montgomerie & J. Viteli (Eds.), Proceedings of World Conference on Educational Multimedia, Hypermedia and Telecommunications 2001 (pp. 2013-2018). Chesapeake, VA: AACE. Abstract/PDF


