Transcript
Page 1: GALE: The GRAPPLE Adaptive Learning Environment

GALE:The GRAPPLE Adaptive Learning Environment

Paul De BraEindhoven University of Technology

January 24, 2011GRAPPLE Public Event Slide 1

Page 2: GALE: The GRAPPLE Adaptive Learning Environment

January 24, 2011GRAPPLE Public Event Slide 2

Page 3: GALE: The GRAPPLE Adaptive Learning Environment

January 24, 2011GRAPPLE Public Event Slide 3

Page 4: GALE: The GRAPPLE Adaptive Learning Environment

Main GALE Functionality• Concept access

1. user model updates2. determine adaptive layout3. retrieve and adapt a “page” (xml file)• conditional inclusion of fragments/objects• adapt destination+presentation of links

4. generate additional parts: header, footer, accordion menu, …

January 24, 2011GRAPPLE Public Event Slide 4

Page 5: GALE: The GRAPPLE Adaptive Learning Environment

January 24, 2011GRAPPLE Public Event Slide 5

Page 6: GALE: The GRAPPLE Adaptive Learning Environment

January 24, 2011GRAPPLE Public Event Slide 6

Page 7: GALE: The GRAPPLE Adaptive Learning Environment

Creating Adaptive Courses• Creating conceptual adaptation models– using authoring tools– understanding prerequisites

• Creating content (pages) for GALE– using templates and layout definitions– user model operations within pages

• Setting up the GRAPPLE infrastructure– combining an LMS with GALE– exchanging user model information

January 24, 2011GRAPPLE Public Event Slide 7

Page 8: GALE: The GRAPPLE Adaptive Learning Environment

Authoring Pages Separately

January 24, 2011GRAPPLE Public Event Slide 8

Page 9: GALE: The GRAPPLE Adaptive Learning Environment

Template-Based Authoring

January 24, 2011GRAPPLE Public Event Slide 9

Page 10: GALE: The GRAPPLE Adaptive Learning Environment

The GALE course model• A course consists of concepts and relationships• A concept has– properties: value given by the author– attributes:

• value determined by adaptation rules;• properties, includes data type, persistence, …• event code: what to do when the value changes

– a resource (selector): a URL or an expression to determine a URL

– event code: what to do when the concept is accessed

January 24, 2011GRAPPLE Public Event Slide 10

Page 11: GALE: The GRAPPLE Adaptive Learning Environment

GALE Code• An author need not use any GALE code

(adaptation rules and expressions)• An author can use GALE code to make a

course more adaptive (than without code)– conditions for inclusion of fragments– insert value of a property or attribute in

the page– complex stuff like generate lists of links

January 24, 2011GRAPPLE Public Event Slide 11

Page 12: GALE: The GRAPPLE Adaptive Learning Environment

Conditional Inclusion of Fragments

• Example from the course “hypermedia structures and systems” taught at the TU/e:– Before reading about Xanadu the URL page

shows:…In Xanadu (a fully distributed hypertext system, developed by Ted Nelson at Brown University, from 1965 on) there was only one protocol, so that part could be missing.…

– After reading about Xanadu this becomes:…In Xanadu there was only one protocol, so that part could be missing.…

January 24, 2011GRAPPLE Public Event Slide 12

Page 13: GALE: The GRAPPLE Adaptive Learning Environment

Conditional Inclusion of Fragments

• Use the GALE <if>, <then>, <else> tags• Write a GALE expression

…In <gale:a href=“xanadu”>Xanadu</gale:a><gale:if expr=“${xanadu#knowledge}&lt;90”><gale:then>(a fully distributed hypertext system, developed by Ted Nelson at Brown University, from 1965 on)</gale:then></gale:if>there was only one protocol, so that part could be missing.…

January 24, 2011GRAPPLE Public Event Slide 13

Page 14: GALE: The GRAPPLE Adaptive Learning Environment

GALE Shorthand Code• URI syntax, # for attributes, ? for

properties• ${…} for expressions, #{…} for

assignments– ${#suitability}– ${#image?title}– ${->(parent)?type}– #{->(parent)#visited, ${->(parent)#visited}

+1};– "page".equals(${->(parent)?type})– #{gale://gale.tue.nl/personal#history,

gale.conceptUri()}; January 24, 2011GRAPPLE Public Event Slide 14

Page 15: GALE: The GRAPPLE Adaptive Learning Environment

Including Course/User Info

January 24, 2011GRAPPLE Public Event Slide 15

Page 16: GALE: The GRAPPLE Adaptive Learning Environment

Including Course/User Info• Show the user’s name:

<gale:variable name="gale://gale.tue.nl/personal#name" />

• Include info generated by a plug-in:<gale:count method="done” uri="gale://gale.tue.nl/cam/MilkyWay />

• Show title of current concept:<gale:variable expr="${?title}"/>

• Include the image with URL from “image” property:<img width=“300”><gale:attr-variable name="src” expr="${?image}"/></img>

January 24, 2011GRAPPLE Public Event Slide 16

Page 17: GALE: The GRAPPLE Adaptive Learning Environment

Complex Page Constructs• We consider one example: generting a list

of links:

January 24, 2011GRAPPLE Public Event Slide 17

Page 18: GALE: The GRAPPLE Adaptive Learning Environment

Complex Page Constructs• The <for> tag generates bits of xhtml

from a list of objects:<ul> <gale:for var="concept" expr="${&lt;-(isMoonOf)}”> <li><gale:a> <gale:variable expr="${%concept?title}"/> <gale:attr-variable name="href” expr="&quot;%concept&quot;"/> </gale:a> </li> </gale:for></ul>

January 24, 2011GRAPPLE Public Event Slide 18

Page 19: GALE: The GRAPPLE Adaptive Learning Environment

Link Adaptation in GALE• Standard schema:– links are good, neutral or bad;– link classes are used by a CSS stylesheet to

create the presentation color scheme• Implementation:– default: gale://gale.tue.nl/config/link#classexpr– #link.classepr attribute of the current concept– (${#suitability}?($

{#visited}>0?\"neutral\":\"good\"):\"bad\")• Icons can be configured as well

January 24, 2011GRAPPLE Public Event Slide 19

Page 20: GALE: The GRAPPLE Adaptive Learning Environment

Adaptive Link Destinations• Several pages for one concept– create several resources;– define an expression for each resource• Url: gale:/tutorial/readme.xhtml

Property (name): exprValue: ${#visited}==1 • Url: gale:/tutorial/welcome.xhtml

Property (name): exprValue: true

(${#visited)==1 ? ”gale:/tutorial/readme.xhtml” : "gale:/tutorial/welcome.xhtml")

January 24, 2011GRAPPLE Public Event Slide 20

Page 21: GALE: The GRAPPLE Adaptive Learning Environment

Adaptive Layout in GALE• A course has a layout with different frames or

“cells” (header, menu, footer, page)• Default layout is defined in

gale://gale.tue.nl/config/presentation#layout<struct cols="250px;*”> <view name="static-tree-view" /> <struct rows="60px;*;40px”> <view name="file-view" file="gale:/header.xhtml" / <content /> <p><hr />Next suggested concept to study: <view name="next-view" /></p> </struct></struct>

January 24, 2011GRAPPLE Public Event Slide 21

Page 22: GALE: The GRAPPLE Adaptive Learning Environment

“Complex” Layout Example• The “hypermedia” course has adaptive layout:

(escaping not done to make it easier to read)

(${gale://wwwis.win.tue.nl/2ID65/introductorypart#done} ? ("page".equals(${?type}) ? “<struct cols="20%;*”> <view name="static-tree-view"/> <content/> </struct>” : “” ) : “” )</default>

• If introductorypart is done then there is a non-trivial layout for pages, else there is no layout.

January 24, 2011GRAPPLE Public Event Slide 22

Page 23: GALE: The GRAPPLE Adaptive Learning Environment

Extensibility in GALE• Add modules to handle different XML tags• Add processors to handle different formats

(other than XML)• Create your own views• Add plug-ins (generate fragments or

pages)• Change code language (expression

syntax)• Add login managers• Add more Domain services (compile from

other formats besides CAM) January 24, 2011GRAPPLE Public Event Slide 23


Top Related