Upload
jacob-thompson
View
214
Download
0
Embed Size (px)
Citation preview
2000-03-14 CBT Data Interchange, F. Farance, ©2000 Edutool.Com 1
CBT Data Interchange (SEQ, Tcl)2000-03-14 Presentation
Frank Farance, +1 212 486 4700, [email protected]
a division of Farance Inc.
Presentation to LTSC CBT Data Interchange WG
(IEEE 1484.6) http://ltsc.ieee.org/wg6
2000-03-14 CBT Data Interchange, F. Farance, ©2000 Edutool.Com 2
Overview
• What is CBT Data Interchange
• Related Topics and Activities
• Framework for Interchange
• Progress Report
• Future Activities
2000-03-14 CBT Data Interchange, F. Farance, ©2000 Edutool.Com 3
What is CBT Interchange?
• Initially:– Exchanging content among authoring tools
– The “RTF” of learning content
• Revised:– Exchanging content among authoring tools
– The “RTF” of learning content
– Question banks
– Interaction types
– Sequencing
– Independence of user interface
2000-03-14 CBT Data Interchange, F. Farance, ©2000 Edutool.Com 4
Exchanging Content Among Authoring Tools
• Large investment in learning content
• Multi-vendor environments
• Retargeting towards different learning technology frameworks
• Import and export, e.g., tech pubs
2000-03-14 CBT Data Interchange, F. Farance, ©2000 Edutool.Com 5
Related Topics and Activities
• IEEE 1484.6: Content Sequencing– Sequencing primitives– Interaction types
• IEEE 1484.10: CBT Data Interchange (Tcl)– Raw syntax for exchange– Control flow primitives– Tk widgets, if desired
• IMS Question & Test Interoperability– Question Bank interchange
2000-03-14 CBT Data Interchange, F. Farance, ©2000 Edutool.Com 6
Framework for Interchange [1/2]
• Authoring tools:– Generate content– Can export to common format– Should export as portability test
• Conversion tools:– Import and export to authoring systems– Script conversion– Cleanup of “proprietary” features
2000-03-14 CBT Data Interchange, F. Farance, ©2000 Edutool.Com 7
Framework for Interchange [2/2]
• Support tools:– Metadata tagging– Import/export to/from databases (QTI)– Rendering for multiple target systems– Sample run– Packaging
2000-03-14 CBT Data Interchange, F. Farance, ©2000 Edutool.Com 8
General Perspective On Content Sequencing
• Various levels of granularity• Sequencing primitives are used at all
levels– Examples: prerequisites, flow/decisions,
launch– Services: access student history, content
library
• Integrate with a variety of systems, both low-level and high-level
2000-03-14 CBT Data Interchange, F. Farance, ©2000 Edutool.Com 9
Typical Usage Scenario: The Student
• Kris is working at home today. In school he uses a Macintosh, but at home he uses an IBM PC.
• Kris operates on both platforms because he uses a “standard” learning technology web browser (1484.18).
• His learning content is available in a portable format (1484.10)
• The content is sent to his workstation in a portable “packaging” format (1484.17).
1484.10
1484.17
1484.18IBM PC
Macintosh1484.18
2000-03-14 CBT Data Interchange, F. Farance, ©2000 Edutool.Com 10
Typical Usage Scenario: The Student
• Kris’ learning progresses via a “learning management system” (1484.11), also known as an “LMS”.
• The LMS moves him through lessons based on optimal sequencing (1484.6).
1484.6
1484.11
LearningManagementSystem
Sequencing
2000-03-14 CBT Data Interchange, F. Farance, ©2000 Edutool.Com 11
Typical Usage Scenario: The Developer
• Erik wants to develop a course.• Erik bases the course on some new
material he authors (1484.6, 1484.10).• Additionally, Erik incorporates existing
material found on the web (1484.12).1484.10
1484.12
1484.6
A New Course
Existing Material &Cataloging Info
New, AuthoredMaterials
Erik
2000-03-14 CBT Data Interchange, F. Farance, ©2000 Edutool.Com 12
IEEE 1484.6, 1484.10
• Close collaboration
• 1484.6: Environment issues, access to assessment, performance, leaning styles, metadata, content libraries, launching content
• 1484.10: Tcl syntax, control transfer (invoke)
2000-03-14 CBT Data Interchange, F. Farance, ©2000 Edutool.Com 13
IEEE 1484.6 Focus
• Environment specification:– related to 1484.10 language– Access to student records: get, put, scan– Access to content catalogs (metadata): what
learning resources are available– Access to launch mechanism
• Uses logic features of 1484.10 to choose the next “lesson”, i.e., “assignable unit”.
2000-03-14 CBT Data Interchange, F. Farance, ©2000 Edutool.Com 14
IEEE 1484.10 Focus
• Language specification:– Related to 1484.6 libraries and
environment– Defines programming logic features, useful
for creating sequence programs, e.g., choosing the next “lesson”, i.e., “assignable unit”.
• Data interchange language
2000-03-14 CBT Data Interchange, F. Farance, ©2000 Edutool.Com 15
Item Sequencing: Using 1484.10 For 1484.6 Sequencing
• Module• Next• Script – several authoring tool scripts• Wait – several varieties• Play• Interaction – several varieties• Decision• Go to – yet to be defined• External – yet to be defined
2000-03-14 CBT Data Interchange, F. Farance, ©2000 Edutool.Com 16
Module
• A module is represented by a Tcl procedure
• Modules can be called with parameters
• Example:proc check_enrollment { student_id } {
set result [ lookup $student_id ]return $result
}
2000-03-14 CBT Data Interchange, F. Farance, ©2000 Edutool.Com 17
Next
• Modules normally flow from one element to the next
• Example:mime_display pict1.gifmime_display pict2.gifcheck_enrollment $student_id
2000-03-14 CBT Data Interchange, F. Farance, ©2000 Edutool.Com 18
Wait
• Highly functional, wait for internal commands, or external events
• Can spawn multiple threads• Internal command example:
after 500 # pause for 500 millisecondsafter 1 x y z # pause 1 second, then run “x y z”after cancel x # cancel pending waits
• External event example:tkwait var # wait for variable to be settkwait visibility w # wait for window w to be visibletkwait window w # wait for window w to close
2000-03-14 CBT Data Interchange, F. Farance, ©2000 Edutool.Com 19
Play
• Play MIME media
• Extracted from run-time registry or system defaults
• Example:mime_play movie1.mpg [options] # play moviemime_play jpeg [options] # display image
2000-03-14 CBT Data Interchange, F. Farance, ©2000 Edutool.Com 20
Interaction
• Interaction types:– multiple choice, fill in blank, choose M of N, true-false, hot
spot, slider, write sentences, submit project, randomized content, content templates
• Based on low-level, widely used paradigm• Based on work by Claude Ostyn (Asymetrix), Bill
McDonald (Flightsafety/Boeing), and IMS QTI• Simplified abstractions, parameterized abstractions• Starting point for common interaction templates
2000-03-14 CBT Data Interchange, F. Farance, ©2000 Edutool.Com 21
Multiple Choice
• Presentation “text”
• Question “text”
• Choices– Labels– Choice text
• Flag: randomization
• Correct answer
2000-03-14 CBT Data Interchange, F. Farance, ©2000 Edutool.Com 22
Multiple Choice(Tcl-based CBT Data Interchange)
multiple_choice \-P type \ presentation type, e.g., text, text-file, MIME type-p value \ presentation, e.g., string, filename, URL-Q type \ question type ... same as pres. type-q value \ question value ... same a pres.-L type \ label type ... same as pres. type, multiple option-l value \ label name ... same as pres., multiple option-C type \ choice type ... same as pres. type, multiple option-c value \ choice value ... same as pres., multiple option-A type \ answer type ... same as pres. type, usually “string”-a value \ answer value ... same as pres., usually match string-H type \ hint type ... same as pres. type-h value \ hint value ... same as pres.-D type \ repository type-d loc \ location in repositorycontent_id content ID associated with interaction
Note: Syntax to be revised
2000-03-14 CBT Data Interchange, F. Farance, ©2000 Edutool.Com 23
Multiple Choice Content Example
multiple-choice \ -P text-file -p content-1-p \ -Q text-file -q content-1-q \ -C text-file -c content-1-1 \ -C text-file -c content-1-2 \ -C text-file -c content-1-3 \ -C text-file -c content-1-4 \ -A string -a Friday \ content-1
2000-03-14 CBT Data Interchange, F. Farance, ©2000 Edutool.Com 24
Fill In Blank
• Presentation “text”
• Question “text”, including blank
• Correct answer
• Flag: case insensitive
• Flag: ignore leading, multiple, trailing spaces
• Spelling fuzziness
2000-03-14 CBT Data Interchange, F. Farance, ©2000 Edutool.Com 25
Fill In Blank(Tcl-based CBT Data Interchange)
fill_in_blank \-P type \ presentation type, e.g., text, text-file, MIME type-p value \ presentation, e.g., string, filename, URL-Q type \ question type ... same as pres. type-q value \ question value ... same a pres. (replace “____”)-L type \ label type ... same as pres. type, multiple option-l value \ label name ... same as pres., multiple option-C type \ choice type ... same as pres. type, multiple option-c value \ choice value ... same as pres., multiple option-A type \ answer type ... same as pres. type, usually “string”-a value \ answer value ... same as pres., usually match string-H type \ hint type ... same as pres. type-h value \ hint value ... same as pres.-D type \ repository type-d loc \ location in repositorycontent_id content ID associated with interaction
Note: Syntax to be revised
2000-03-14 CBT Data Interchange, F. Farance, ©2000 Edutool.Com 26
Fill-In-Blank Content Example
fill_in_blank \ -P text-file -p content-2-p \ -Q text-file -q content-2-q \ -A string -a Friday \ content-2
2000-03-14 CBT Data Interchange, F. Farance, ©2000 Edutool.Com 27
Choose M of N
• Presentation “text”
• Left column of choices
• Right column of choices
• Flag: ordered vs. unordered
• Flag: randomization
• Answer list
2000-03-14 CBT Data Interchange, F. Farance, ©2000 Edutool.Com 28
Choose M of N(Tcl-based CBT Data Interchange)
selection_choice \-P type \ presentation type, e.g., text, text-file, MIME type-p value \ presentation, e.g., string, filename, URL-Q type \ question type ... same as pres. type-q value \ question value ... same a pres.-L type \ label type ... same as pres. type, multiple option-l value \ label name ... same as pres., multiple option-C type \ choice type ... same as pres. type, multiple option-c value \ choice value ... same as pres., multiple option-A type \ answer type ... same as pres. type, usually “string”-a value \ answer value ... same as pres., usually match string-H type \ hint type ... same as pres. type-h value \ hint value ... same as pres.-D type \ repository type-d loc \ location in repositorycontent_id content ID associated with interaction
Note: Syntax to be revised
2000-03-14 CBT Data Interchange, F. Farance, ©2000 Edutool.Com 29
True-False
• Presentation “text”
• Correct answer
2000-03-14 CBT Data Interchange, F. Farance, ©2000 Edutool.Com 30
True-False(Tcl-based CBT Data Interchange)
true_false \-P type \ presentation type, e.g., text, text-file, MIME type-p value \ presentation, e.g., string, filename, URL-Q type \ question type ... same as pres. type-q value \ question value ... same a pres.-L type \ label type ... same as pres. type, multiple option-l value \ label name ... same as pres., multiple option-C type \ choice type ... same as pres. type, multiple option-c value \ choice value ... same as pres., multiple option-A type \ answer type ... same as pres. type, usually “string”-a value \ answer value ... must be “true” or “false”-H type \ hint type ... same as pres. type-h value \ hint value ... same as pres.-D type \ repository type-d loc \ location in repositorycontent_id content ID associated with interaction
Note: Syntax to be revised
2000-03-14 CBT Data Interchange, F. Farance, ©2000 Edutool.Com 31
True-False Content Example
true_false \ -P text-file -p content-3-p \ -Q text-file -q content-3-q \ -A string -a true \ content-3
2000-03-14 CBT Data Interchange, F. Farance, ©2000 Edutool.Com 32
Write Sentences
• Presentation “text”
• Correct answer
• Comparison script
2000-03-14 CBT Data Interchange, F. Farance, ©2000 Edutool.Com 33
Write Sentences(Tcl-based CBT Data Interchange)
write_sentence \-P type \ presentation type, e.g., text, text-file, MIME type-p value \ presentation, e.g., string, filename, URL-Q type \ question type ... same as pres. type-q value \ question value ... same a pres.-L type \ label type ... same as pres. type, multiple option-l value \ label name ... same as pres., multiple option-C type \ choice type ... same as pres. type, multiple option-c value \ choice value ... same as pres., multiple option-A type \ answer type ... usually “writing-check”-a value \ answer value ... same as pres., usually match string-H type \ hint type ... same as pres. type-h value \ hint value ... same as pres.-D type \ repository type-d loc \ location in repositorycontent_id content ID associated with interaction
Note: Syntax to be revised
2000-03-14 CBT Data Interchange, F. Farance, ©2000 Edutool.Com 34
Write-Sentences Content Example
write_sentence \ -P text-file -p content-4-p \ -Q text-file -q content-4-q \ -A writing-check \ -a spelling,grammar,\include=Sunday,include=Monday,\include=Tuesday,include=Wednesday,\include=Thursday,include=Friday,\include=Saturday \ content-4
2000-03-14 CBT Data Interchange, F. Farance, ©2000 Edutool.Com 35
Submit Project
• Presentation “text”
• Requested “pointers” of work
• Grading system: E-mail, FTP, posting, script, CGI
2000-03-14 CBT Data Interchange, F. Farance, ©2000 Edutool.Com 36
Submit-Project(Tcl-based CBT Data Interchange)
submit_project \-P type \ presentation type, e.g., text, text-file, MIME type-p value \ presentation, e.g., string, filename, URL-Q type \ question type ... same as pres. type-q value \ question value ... same a pres.-L type \ label type ... same as pres. type, multiple option-l value \ label name ... same as pres., multiple option-C type \ choice type ... same as pres. type, multiple option-c value \ choice value ... same as pres., multiple option-A type \ answer type ... usually “human-eval”-a value \ answer value ... same as pres., usually match string-H type \ hint type ... same as pres. type-h value \ hint value ... same as pres.-D type \ repository type-d loc \ location in repositorycontent_id content ID associated with interaction
Note: Syntax to be revised
2000-03-14 CBT Data Interchange, F. Farance, ©2000 Edutool.Com 37
Randomized Content
• Presentation “text”
• Template “text”
• Rendering system
• Correct “answer”
• Grading system (e.g., CGI)
2000-03-14 CBT Data Interchange, F. Farance, ©2000 Edutool.Com 38
Template Expand(Tcl-based CBT Data Interchange)
template_expand \-P type \ presentation type, e.g., text, text-file, MIME type-p value \ presentation, e.g., string, filename, URL-Q type \ question type ... same as pres. type-q value \ question value ... same a pres.-L type \ label type ... same as pres. type, multiple option-l value \ label name ... same as pres., multiple option-C type \ choice type ... same as pres. type, multiple option-c value \ choice value ... same as pres., multiple option-A type \ answer type ... same as pres. type, usually "string”-a value \ answer value ... same as pres., usually match string-H type \ hint type ... same as pres. type-h value \ hint value ... same as pres.-D type \ repository type-d loc \ location in repository-X loc \ expansion rulescontent_id content ID associated with interaction
Note: Syntax to be revised
2000-03-14 CBT Data Interchange, F. Farance, ©2000 Edutool.Com 39
Harmonization with IMS
• Current activities in IMS on “Question & Test Interoperability”
• IMS focus is on “question bank” exchange
• IEEE 1484.6 and IMS QTI are very close
• NOTE: Tcl parameter names will change to harmonize with IMS QTI
2000-03-14 CBT Data Interchange, F. Farance, ©2000 Edutool.Com 40
Decision
• A module is represented by a Tcl procedure
• Modules can be called with parameters
• Example:proc check_enrollment { student_id } {
set result [ lookup $student_id ]return $result
}
2000-03-14 CBT Data Interchange, F. Farance, ©2000 Edutool.Com 41
Converting Scripting Code
• Custom transformation for each authoring tool ==> common code
• Sample for Authorware:– Translate assignment (approx.)
• s/\([a-zA-Z0-9_]*\)[ ]*:=/set \1 /g
– Translate array syntax (approx.)• s/\[/{ /g;s/\]/} /g;s/,/ /g
– Translate property syntax (approx.)• s/#\([a-zA-Z0-9_]*\)/.\1/g
– Support library
2000-03-14 CBT Data Interchange, F. Farance, ©2000 Edutool.Com 42
Sample Conversion
• Authorware:abcd := 1
def := ASIN(1.0)
props := [ #x: 1 #y:2 #z: 3]
if abcd > 1 then
xyz
else
pqr
end if
• Tcl/Tk:set abcd [ expr 1 ]
set def [ expr asin(1.0) ]
set props [ expr { .x: 1 .y:2 .z: 3} ]
if {abcd > 1} then {
xyz
} else {
pqr
}
2000-03-14 CBT Data Interchange, F. Farance, ©2000 Edutool.Com 43
Progress Report
• Basic interaction types coded– Still some work (e.g., hot spot, slider)
• Basic sequencing library (e.g., prerequisites)– Interface yet to be defined
• Developer interactions– Significant work needed on PowerPoint UI
• Integration– API access– CMI, LOM, and PAPI data model access– Make sequencer available with open source CMI
(XavierProject.ORG)
• High Priority: improve UI and workflow
2000-03-14 CBT Data Interchange, F. Farance, ©2000 Edutool.Com 44
Open Issues
• Business rationale for vendor import/export• Need user-based navigation• User actions/behavior• Should subdivide list between navigation
actions/behavior• Focus on some grouping “level” to identify the
triggers that can be passed to affect the sequence• Should refer to low-level micro operations• State transition diagrams (functional def)
2000-03-14 CBT Data Interchange, F. Farance, ©2000 Edutool.Com 45
Future Work (2000-05)
• Revised Tcl/SEQ data interchange specification
• Collaboration among: IEEE LTSC, AICC, IMS, others
• Interface to “course structure” library• Improved UI and workflow• API integration• Demonstration of practical examples, work
with other vendors