ArticlePDF Available

Abstract and Figures

Intelligent Tutoring Systems are software applications capable of complementing and enhancing the learning process by providing direct customized instruction and feedback to students in various disciplines. Although Intelligent Tutoring Systems could differ widely in their attached knowledge bases and user interfaces (including interaction mechanisms), their behaviors are quite similar. Therefore, it must be possible to establish a common software model for them. A common software model is a step forward to move these systems from proof-of-concepts and academic research tools to widely available tools in schools and homes. The work reported here addresses: (1) the use of Design Patterns to create an object-oriented software model for Intelligent Tutoring Systems; (2) our experience using this model in a three-year development project and its impact on facets such as creating a common language among stakeholders, supporting an incremental development, and adjustment to a highly shifting development team; and (3) the qualities achieved and trade-offs made.
Content may be subject to copyright.
!"#$%&'()*+#"),%-'./"+01+#2%1#%%
3%4)11'"25&).'6%7#6',%8#"%921',,+:'21%;<1#"+2:%=>.1'$.%
%
?3@9AB%C D E F 3 GA F 5=3EHIAFJ%3"+K#2)%=1)1'%L2+*'".+1>%%
73B93%AGAE3%HI3@AF5AHIA3C3B3MJ%3"+K#2)%=1)1'%L2+*'".+1>%%
NLB;%@3EGAIEJ%3"+K#2)%=1)1'%L2+*'".+1>%%
O9E=GDO%&LBGA=DEJ%3"+K#2)%=1)1'%L2+*'".+1>%%
921',,+:'21%;<1#"+2:%=>.1'$.%)"'%.#81P)"'%)00,+/)1+#2.%/)0)Q,'%#8%/#$ 0,'$'2 1+2:%)26%'2()2/+2:%1('%,')"2+2:%0"#/'..%Q>%0"#*+6+2:%6+"'/1%
/<.1#$+K'6%+2.1"</1+#2%)26%8''6Q)/R%1#%.1<6'21.%+2%*)"+#<.%6+./+0,+2'.S%3,1(#<:(%921',,+:'2 1 %;<1#"+ 2 : %=>.1'$ . %/#<,6%6+88'"%P+6',>%+2%1('+"%
)11)/('6% R2#P ,'6:'%Q).'.%)26%<.'"%+21'"8)/'.%T+2/,<6+2:%+21'")/1+#2%$'/()2+.$.UJ%1('+"%Q'()*+#".%)"'%V<+1'%.+$+,)"S%;('" ' 8# " 'J%+1%$<.1%Q' %
0#..+Q,'%1#%'.1)Q,+.(%)%/#$$ #2%.#81P)"'% $# 6',!8#"%1('$S%3%/#$$#2%.#81P)"'%$#6',%+.%)%. 1'0 %8#"P)"6%1#%$# *' %1('.'%.>.1'$.%8"# $ %0"##85
#85/#2/'01.%)26%)/)6'$+/%"'.')"/(%1##,.% 1#%P+6',>%)*)+,)Q,'%1##,.%+2%./(##,.%)26%(#$'.S% %;('%P#"R%"'0#"1'6% ('"'%)66"'..'.W%TXU%1 ('%<.'%#8%
-'.+:2%4)11'"2.%1#% /"')1'%)2% #QY'/15#"+'21'6% .#81P)"'% $#6',% 8#"% 921',,+:'21% ;<1#"+2:% =>.1'$.Z% T[U% #<"% '\0'"+'2/'% <.+2:% 1(+.% $#6',%+2% )%
1("''5>')"% 6'*',#0$'21% 0"#Y'/1% )26% +1.% +$0)/1% #2% 8)/'1.% .</(% ).% /"')1+2:% )% /#$$#2% ,)2:<):'% )$#2:% .1)R'(#,6'".J% .<00#"1+2:% )2%
+2/"'$'21),%6'*' ,# 0 $'21J%)26%)6Y<.1$'21%1#%)%(+:(,>%.(+81+2:%6'*',#0$'21%1')$Z%)26%T]U%1('%V<),+1+'.%)/(+'*'6%)26%1")6'5#88.%$)6'S%%
H)1':#"+'.% )26% =<QY'/1% -'./"+01#".W% D.2.10% ^Software! Engineering_W% -'.+:2 Z% D.2.11% ^Software! Engineering_W% =#81P)"'% 3"/(+1'/1<"'Z%
D.2.13%^Software!Engineering_W%B'<.)Q,'%=#81P)"'S%
C'2'"),%;'"$.W%-'.+:2S%
366+1+#2),%N'>%O#"6.%)26%4(").'.W%-'.+:2%0)11'"2.J%/#$0#2'21%$#6',J%+21',,+:'21%1<1#"+2:%.>.1'$.J%Q'()*+#"),%6'./"+01+#2S%
ACM!Reference!Format:!!
C#2K),'K5=)2/('KJ%?SJ%H()*'K5A/('):)")>J%7SASJ%@)2G'(2J% N SJ%)26%&<",'.#2J%OS%[`XXS%!"#$% &'()*+#"),%-'./"+01+#2%1#%3%4)11'"25&).'6%7#6',%
8#"%921',,+:'21%;<1#"+2:%=>.1'$.S%Y2%[J%]J%3"1+/,'%X%TD/1#Q'"%[`XXUJ%X[%0):'.S%
%
1. 9E;BD-L H ;9D E %
921',,+:'21% ;<1#"+2:% =>.1'$.% T9;=U% /#$0,'$'2 1.% )26% '2()2/'. % 1('% ,')"2+2:% 0"#/'.. % Q>% #88'"+2:% .<00#"1% 8#"%
.1<6'21.% )26% /#$0,'$'21+2:% 1('% 1')/('"a.% ,)Q#"S% ;('"'% )"'% $)2>% 6+./<..+#2.% )Q#<1% 9;=% 0'6):#:+/),% )26%
+2.1"</1+#2),%6'.+:2J%.</(% ).%T32 6' ".#2% '1%) ,S% XbbcJ%& )R' "% '1%),S% [``bJ%)26% E',.#2%[``dUJ% Q<1%2#1%)Q#<1% 1('+"%
1'/(2+/),%+$0 ,' $ ' 2 1) 1+# 2 S%%
%
;('% P#"R% 6'./"+Q'6% ('"'% +.% 0)"1% #8% 1('% 1'/(2+/),% +$0,' $'21)1+#2 % #8% )2 % 9; =J% 2) $'6% 388'/1+* '% 7 ' 1) % ;< 1# " %
T37;US% ;('% 37;% 0"#Y'/1% )+$.% 1#% <.'% )2% )88'/1+*'% ,')"2+2:% /#$ 0)2+#2% 1#% $#1+*)1'% .1<6'21.% 1#% 0'"$)2'2 1,>%
)6#01% '88'/1+*'% $'1)5/#:2+1+*'% .1")1':+'.% T37;% [`X[US% ;('% 37;% 0"#Y'/1% ,##R.% 1#% +$0"#*'% 9;=% 2#1% #2,>% Q>%
)66+2:%1(#.'% 2'P% ','$'21.% T$'1)51<1#"+2:% .1")1':+'.% ) 26 % )88'/ 1+*'% ,') "2+2: % /# $ 0)2 +#2.U J% Q<1% ),.#% Q>% 1)R+2:%
)6*)21):'%#8%0"'*+#<.%'\0'"+'2/'.%P+1(%9;= % +$0,'$ '21) 1+#2.% 8"#$% 1('%9;= % /#$$< 2+1>% 1#%0 "#*+6' % )%.#81P )"'%
8")$'P #" R% 8# "% 6'.+:2+2:% 9;= % Q ).'6 % #2 % )% Q'()*+#"),% 6'./"+01+#2Z% $#6',+2:% $'1)51<1#"+2: % /)0) Q+,+1+'.% )26 %
,')"2+2:%/#$ 0 )2 +#2 .%$#6<,'.%+.%2 #1%0 )"1 %#8%1( +.%0) 0' "%) 26 %+.%,'81%) .%8 <1<"'%P#"RS%
%
32%)2),>.+.%)26%/#$0)"+.#2%#8%'\+.1+2:%9;=%P).%$)6'%+2 %T@)2 G ' (2 %[`` e US%;( ' %)2),>.+.%+2/,<6'6%)%6+*'".'%
.'1% #8% 9;=% .< /(% ).% )2% 9;=% 8#"% 3,:'Q")% +2% I+:(% =/(##,% T326'".#2% '1% ),S% XbbcUZ% )% 1<1#"% 8#"% 0(>.+/.% +2% H #,,':'%
T@)2G'(2%'1%),S% [``cUZ%)%1<1#"%8#"%V< ),+1) 1+* '%"').#2+2:%+2 %2 ) 1< ") ,%,)2:<):'%TC")'..'"%'1%),S%[``fUZ%)%.+$ <,)1'65
O'%)"'%:")1'8<,%1#%I+"#2#"+%O).(+K)R+%8#"% (+.% .<0 0 #" 1% 6< "+2 :% 1(' % P" +1+2 :% 0" #/ '.. % #8% 1(+.% 0)0 ' "S% ;( +.% P# "R % +.% .<00 # "1' 6 % Q>% 1(' % E) 1+# 2) ,%
=/+'2/'% !#<2 6)1+#2J%+2/,<6+2:%1('%8#,,#P+2:%:")21.W%TXU%99=gIHH%388'/1+*'%G')"2+2:%H#$ 0)2+#2.W%7 #6',+2:%)26%.<00#"1+2:% '$#1+#2%6<"+2:%
,')"2+2:%Th`d`cii]UZ%)26%T[ U%-''0 '"%7 #6 ',+2:%*+)%388'/1+*'%7'1)51<1#"+2:%T-BG5%`bX`[[XUS%
3<1(#"j.%)66"'..W%?)*+'"%C#2K),'K5=)2/('KJ%L2+*'".+1>%-"+*'%)26%7+,,%3*'2<'J%;'$0'%3F%ic[idZ%'$)+,W%Y)*+'":.k).<S'6<Z%3<1(#"a.%)66"'..W%
7)"+)5A,'2)%H()*'K5A/('):)")>J%L2+*'".+1>%-"+*'%)26% 7+,,%3*'2<'J%;'$0'%3F%ic[idZ%'$)+,W% (','2/()*'Kk).<S'6<Z%3<1(#"j.%)66"' .. W%N<"1 %
@)2G'(2J% L2+*'".+1>% -"+*'% )26% 7 +,,% 3*'2<'J% ;'$0'% 3F% ic[idZ% '$)+,W% R<"1(*)2,'2k).<S'6<Z% 3< 1( # " a.% )6 6 "' .. W% O +2 .,# P% &<",'.#2J%
L2+*'".+1>%-"+*'%)26%7+,,%3*'2<'J%;'$0'%3F%ic[idZ%'$)+,W%P+2.,#PSQ<",'.#2k).<S'6<%%
4'"$+..+#2%1#%$)R'%6+:+1),%#"%()"6%/#0+'.%#8%),,%#"% 0)"1%#8%1(+.% P#"R%8#"%0'".#2),%#"%/,).."##$%<.'%+.%:")21'6%P+1(#<1%8''%0"#*+6'6%1()1%
/#0+'.%)"'%2#1%$)6'%#"%6+.1"+Q<1'6%8#"%0"#8+1%#"%/#$$'"/+),%)6*)21):'%)26%1()1%/#0+'.%Q')"%1(+.%2#1+/'%)26%1('%8<,,%/+1)1+#2%#2%1('%8+".1%0):'S%
;#%/#0>%#1('"P+.'J%1#%"'0<Q,+.(J%1#%0# .1%#2%.'"*'".%#"%1#%"'6+.1"+Q<1'%1#%,+.1.J%"'V<+"'.%0"+#"%.0'/+8+/%0'"$ +..+#2S%3%0"',+$+2)">% *'".+#2%#8%
1(+.%0)0'"%P).%0"'.'21'6%+2%)%P"+1'".j%P#"R.(#0%)1%1('%Xi1(%H#28'"'2/'%#2%4)11'"2%G)2:<):'.%#8%4"#:")$.%T4G#4US%4G#4jXXJ%D/1 # Q ' " %[X5
[]J%4#"1,)26J%D"':#2J%L=3S%H#0>"+:(1%[`XX%+.%(',6%Q>%1('%)<1(#"T.US%3H7%bdi5X5fc`]5X[i]5d
!"#$%&'()*+#"),%-'./"+01+#2%1#%3%4)11'"25&).'6%7#6',%8#"%921',,+:'21%;<1#"+2:%=>.1'$.W%4):'%5%[%
Q).'6%1<1#"% 8#"% "'0)+"+2:% )*+#2+/% ','/1"#2+/%'V<+0$ '21% TN)1K% '1% ),S%XbbiUZ % )26% )2% 9;=% 1#% 1')/(%=lG% ,)2:<):'%
T7+1"#*+/% [`` ]US% ;('% )2),>.+.% )26% /#$0)"+.#2% /#2/,<6'6% 1( )1% #2,>% )% 8'P% 0'6):#:+/ ),% 8')1<"'.% ()*'% Q'' 2 %
+2*'21'6 % )26% 1()1% '\+.1+2:% 9;= % #88'"'6% 6+88'"'21% /#$Q+2)1+#2.% #8% 1(#.'% 8')1<"'.S% % 91% ),.#% /,)+$'6% 1()1% 9;=%
Q'()*+#".%)"'%.+$+,)"%Q<1%1('%9;=%6+88'"%P+6',>%+2%1('+"%.#81P)"'%+$0,'$'21)1+#2S%
%
!"#$%)%.#81P)"'%'2:+2''"+2:%0'".0'/1+*'J%1(+.%*)"+'1>%+2%.#81P)"'%+$0,'$'21)1+#2%.(#P.%) %,)/R%#8%1('% <.' %# 8%
.#81P)"'%'2:+2' '"+2:% 1'/(2+V<'.%)2 6% $'1(#6#,#:+'.% +2%1('%6 '*',#0$'21% #8%1(+.%R+26%#8%.>.1'$.J%Q'/)<.'%1(' %
.)$'%.0'/+8+/)1+#2.%)"'%/"')1+2:%6+88'"'21%0"#6</1.S%=<Q.'V<'2 1,>J%+1%P+,,%Q'%*),<) Q,'%1#%' .1)Q,+.(%)%$#6',%1()1%
$#*'.%8"#$%1('%9;=%Q'() *+#"%6 './"+01+#2 %1#%1( '%.> .1'$ %+$ 0 ,'$ '2 1)1+#2S%3 2%# 01+$ ),%$ # 6',%. (#< ,6%Q '%/)0 )Q ,'%#8%
.)1+.8>+2:%1('% "'V<+"'$ '2 1.% #8% 9; =%)26% 0"#*+6+2:%6'.+"'6% .#81P)"'%V<),+1+'.S%;(+.%0)0'"%6'./"+Q'.%#<"%)00"#)/(%
1#%)66"'..%1('%6'.+:2%#8%1(+.%$#6',%P+1(+2%)%/#21'\1%6"+*'2%Q>%1("''%R'>%','$'21.W%
%
Incremen ta l! r eq u ire m e n tsS% 37;% "'V<+"'6% +2/"'$'2 1),% '* #,<1+#2% ),#2:% 1("''5>')".Z% 6'*',#0+2:% )2% 9;=%
1('%8+".1%>')"J%)66+2:%$'1)51<1# "+2:%.<0 0#"1%1('%.'/ #26 %>')"J%)26 %+2 / ,< 6+2 : %)88'/1+*'%,')"2+2:%/#$ 0)2+#2.%
1('%1(+"6%>')"S%B'.')"/(%"'.<,1.%)2 6%<. '"%'\0 '"+'2/' %"'0#"1. %6"#*'%2'P%"'V<+"'$'21.S%%%%
Changing! requirementsS% ='*'"),% )26 % 6+*'".'% "'.')"/(% )00"#)/('.% P'"'% 1'.1'6% ).% 0)"1% #8% 1('% 0 "#Y'/1%
+$0,'$ '2 1 )1 +# 2 S% !#"% ')/(% )00"#)/(% )% .#,+6% .> .1'$% P).% "',').'6% )26% 1'.1'6% P+1(% .1<6'21.S % B'.')"/(%
8+26+2:.%P'"'%1")2.,)1'6%+21#%/ () 2 : '. %+2%1 (' %.> .1 '$S%
Shifting! development! teamS% ;('% 6'*',#0$'21% 1')$J% /#$0#.'6 % #8% <26'":")6<)1'% .1<6'21.J% .(+81'6%
/#2.1)21,>%5%'*'">%f%1#%e%$#21(.S%
%
92% 1(+.% /#21'\1J% P'% /(#.'% 1#% +2 / #" 0 #" ) 1'% 6'.+:2% 0)11'"2.% 1#% .1)26)"6+K'% )2% #QY'/15#"+'21'6% $#6',% 8#"% 9;=%
8<2/1+#2) ,+1>%1()1%6"+*' .%1('%P ) >%+2%P(+/( %.#81P)"'%+.%6'*',#0'6S%O'%$)00'6% 1('%8<2/1+#2),%6'./"+01+# 2 %#8%9; =%
Q'()*+#"% :+*'2% +2% T@)2G'(2% [``eU% +21#% )% .#81P)"'% $#6 ',% <.+2:% .#$'% #8% 1('% mC)2:% #8% !#<"n% TC#!U% 6'.+:2%
0)11'"2.% TC)$$)% '1% ),S% XbbcUZ% C#!% 6'.+:2% 0)11'"2.% P'"'% /(#.'2% Q'/)<.'% 1('>% )"'% /,)..+/% 0)11'"2.% #81'2%
/#2.+6'"'6%1('%8#<26)1+#2%8#"%),,%#1('"%0)11'"2.S%L.+2:%C#!%6'.+:2%0)11'"2.%P'%)66"'..'6%1('%/"')1+#2%#8%1('%
$#6',%)26%.#<:(1%1#%+2/#"0#")1'%#2%+1%2#258<2/1+#2 ) ,%"'V<+"'$'2 1.%T+S'S%.#81P )"'%V<),+1>%8)/1#".U%0 )"1+/<,)",>%
"'<.)Q+,+1>J% '\1'2.+Q+,+1>J% )26% )6)01)Q+,+1>% T9AAA % XbbbUS% ;( ' .' % V < ) , +1 +' .% (',0% <.% 1#% )66"'..% 1('% /#21'\1<),%
','$'21.% $'21+#2'6% )Q #*'W% +2/"'$'2 1),% "'V<+"'$'2 1.J% /()2:+2:% "'V<+"'$'21.J% )26% )% .(+81+2:% 6' *',#0$ '2 1%
1')$S%O+1(%1(+.%)00"#)/(%P'%.'' R%1#%/#2 1"+Q<1'%$#*+2:%9;=%/#2.1"</ 1+#2 %8"# $ %.#81P)"'%6'* ',# 0 $'21%).%) %#2'5
#85)5R+26% '26')*#"% 1#% .#81P)"'% 6'*',#0$'21% ).% )% .>.1'$% #8% /#$0#2'21.% 1()1% )"'% P+6',>% <.'6% )26% (+:(,>%
)6)01)Q,'%T?)/#Q.#2%XbbdUS%%
%
;(+.% 0)0'"% +.% #":)2+K'6% ).% 8#,,#P.W% ='/1+#2% [% 0"#*+6'.% .#$'% 1'"$+2#,#:>% )26% Q)/R:"#<26% )Q#<1% 9;=J%
0)11'"2.J%)26%.#81P)"'%V<),+1+'.Z%='/1+#2%]%'\0,#"'.%9;=%8<2/1+#2),%.0 '/+8+/)1+#2%)26%1('%6'.+:2%0"#/'..%<.+2:%
0)11'"2.%1#%$#6',% 9;=%.#81P)"'% /#$ 0#2'21.Z% ='/1+#2% f%6'./"+Q'.%#<"%'\0'"+'2/'%<.+2:% 6'.+:2%0)11'"2.%+21#%1('%
37;%0"#Y'/1%)26%'*),<)1'.%0"#.%)26%/#2.Z%8+2),,>J%='/1+#2%c%/#2/,<6'.%1('%0)0 '"%)2 6%6 './"+Q'.%#2:#+2:%P#"RS%
O'%'\0'/1%6'*',#0'".%+2%9;=%)26%'6</)1+#2%1'/(2#,#:>%/#$$<2+1+'.%1#%8+26%1(+.%0)0'"%<.'8<,%).%)%"'8'"'2/'%)26%
).% )2% '\)$0,'% #8% 1('% <.'% )26% )6*)21):'.% #8% 6'.+:2% 0)11'"2.% 8#"% 6'*',#0+2:% .#81P)"'% .>.1'$.Z% 8#"% .#81P)" ' %
6'.+:2% /#$$<2+1>J% 1(+.% +.% )2% '\0'"+'2 /'% "' 0#"1% #8% )% "'.')"/(% :"#<0% <. +2:% 6 '.+:2 % 0) 11'"2.% 1#% +$0"#*'% +1.%
.#81P)"'%0"#/'..S%
%
2. &3HNCBDLE-%
;(+.%.'/1+#2%0"#*+6'.%Q)/R:"#<26% )Q#<1%9;=%.1"</1<"'%)26%/,)"+8+'.%.#$'%"',)1'6%1'"$+2#,#:>%<.'6%P+1(+2%1(+.%
0)0'"S% 91% ),.#% 0"#*+6'.% Q)/R:"#<26% +28#"$)1+#2% )Q#<1% 6'.+:2% 0)11'"2.J% )26% 1('% 6'8+2+1+#2% #8% 1('% .#81P)"'%
V<),+1+'.%'\0'/1'6%8#"%1('%0"#0#.'6%$#6',S%%
%
[SX 9;=%=1"</1<"'%
9;=%"'8'".%1#%)%/#$ 0<1'"%.>.1'$ % 1()1%)/1.%).% )%1<1#"%.( #P +2:%) 2%+21',,+:'21%P )>%1# %0"#* +6'%8''6Q) /R%)2 6%(+2 1.%1#%
.<00#"1% .1<6'21% )/(+'*'$'21% P(+,'% .#,*+2:% 1).R.S% 3% 1).R% "'8'".% 1#% )% $<,1+5$+2<1'% )/1+*+1>% )..+:2'6% 1#% 1('%
.1<6'21% Q>%1('%9;=S%;).R.%/)2% Q '%.R+00'6%#"%+21'"/()2:'6%P+1(%#1('"%1).R .S%A) / ( %#8%1( ' %) / 1+ # 2 . %1) R ' 2 %1# %)/ (+'*'%
)%1).R%+.%/),,'6%)%.1'0S%A)/(%1).R%/#2.+.1.%#8%$ <,1+0,'%.1'0.%)26%')/(%.1'0%+2*#,*'.%'*'2 1. %P+1( %)%L.'"%921'"8)/'%
!"#$%&'()*+#"),%-'./"+01+#2%1#%3%4)11'"25&).'6%7#6',%8#"%921',,+:'21%;<1#"+2:%=>.1'$.W%4):'%5%]%
T'+1('"%1("#<:(%)%1##,%#"%)2%'2*+"#2$'21US%%A)/(%1).R%"'V <+"'.%1('%< .'%#8%#2'%#"%$#"'%R2#P,'6:'%/#$0#2'21.%
1#%Q'%)//#$0,+.('6S%N2#P,'6:'%/#$0#2'21.%)"'%8"):$'21.%#8%0 '".+.1'21%6#$)+25.0'/+8+/%+28#"$ )1+#2%1()1%1( '%
.1<6'21%+.%'\0'/1'6%1#%,')"2S%N2#P,'6:'%/#$0#2'21.%)"'%/#21)+2'6%+2%)%R2#P,'6:'%Q).'S%
%
9;=%.1"</1<"'%+.%)%1("''5,)> '"%$#6',J%).%.(#P2%+2%!+:<"'%XJ%1()1%6'/#<0,'.%1('% N2#P,'6:'%&).'%)26%1('% L.'"%
921'"8)/'.%8"# $%1('%H#"'%#8%1('%9;=S%;('%6'./"+01+#2%#8%')/(%,)>'"%+.%).%8#,,#PW%
%
Knowledge! Base!(KB)%+2/,< 6 ' .%6)1) %.1"</1 < "' .%)26 %6)1)Q ) .' .%8#"%.1#"+2: %)26%#":)2 +K+2 :%1('%+28#"$)1+#2%
+2.1"</1'6 % Q>% 1('% 9;=S% ;('% 0"#/'..% #8% 0<11+2:% 6)1)% +21#% 1('% N&% +.% /),,'6% )<1(#"+2:S% 3<1(#"+2:% +2*#,*'.%)%
(<$)2% '\0'"1% +21'")/1+2:% P+1(% )2% )<1(#"+2:% 1##,% 1#% 0"#*+6'% 1(+.% 6)1)S% D// ) .+ # 2 ) , ,> J% $)/(+2'5,')"2+2:%
),:#"+1($.%()*'%Q''2%<.'6%1#% /"')1'%1(+.%'\ 0'"1+.' S%3<1(#"+2:%)26%N&%"' 0"'.'2 1)1+#2%)"'%1#0+/.%# <1.+6' %#8%
1(+.%0)0'"S%
User! Interfaces! (UI)% +2/,<6'% :")0( +/ ), % +21'"8) /' .% TP +2 6# P.J% Q<11#2.J% 1'\1J% )26% .#% #2U% )26 % +21'")/1+#2%
$'/()2+.$.% T8"#$% .+2:,'% R'>Q#)"6% '*'21.% 1#% $#"'% /#$0,'\% +21'"8)/'.% .</(% ).% $#1+#2% /)01<"'J% *#+/'%
"'/#:2+1+#2J%Q")+25/#$0 <1'"%+21'"8)/'J%)26%.#%#2US%
Core!+$0 ,'$'21.% 1('% 9;= % Q'()*+#"S%O(+,'% N2#P,'6:'%&).'%)26%L.'"%921'"8)/'.%)"'% (+:(,>%6+88'"'21%8"#$%
#2'% 9;=%1#%)2#1('"J%1('%Q'()*+#"%#8%),,%#8%1('$% +.%V<+1'%.+$+,)"S%;('%H#"'%+.%/#$0#.'6%#8W%TXU%;).R%=','/1#"J%
P(+/(% 0"#*+6'.%)%;).R%T0"#Q,'$%#"%)/1+*+1>U%1( )1%1('%.1<6'2 1%$<.1%.#,*'Z%T[ U%;##,%#"%A2*+"#2$'21J%P(+/(%
$#6',.%)26 %0"'.'21.%1('%+28#"$)1+#2%1()1%1('%.1<6'21%$<.1%R2#P%1#%/#$0,'1'%1('%;).RZ%T]U%=1' 0 %32),>K' "J%
P(+/(%$'1(#6+/),,>%'\)$+2'.%)26%$').<"'.%1('%0'"8#"$)2/'%#8% 1('%.1<6'21%)26%0"#*+6'.% 1( )1%+28#"$)1+#2%
1#%1('%3..'..#"%)26%1( '%4 '6) :#:+/) ,%7#6<,'Z%TfU%4'6):#:+/),%7#6<,'J%P(+/(%0"#*+6'.%.<00#"1%T(+21.%)26%
8''6Q)/RU %1#%$)R'%1('%.1<6'21%.<//'..8< ,,> %/#$0 ,'1 '%1('%;).RZ%.<00#"1%+.%"',)1'6%P+1(%1('%0'"8#"$) 2/'%#8%
1('%.1<6'21% +2%1('% /<""'21% =1'0%)2 6 % 1('%+28# "$)1+#2%8"#$%1('%.1<6'21a.%G')"2'"%7# 6',Z%)26%TcU%3..'..#"J%
P(+/(%,')"2.%8"#$%1(' % .1 <6 '2 1%T(#P% $)2>%( +21 .% ( '%2''6'6 J% ( #P %.R+,,'6%('% P).%+2%1('%1#0+/J%(#P%$</(%1+$'%
('%<.'6%1#%:#%8"#$%#2'%.1'0%1#%)2#1('"%+2%#"6 '"%1#%.#,*'%1('%1) .RJ%'1/SU %)26%1('2%.1#"'.%1(+. %+28#" $)1+#2 %+2%
P()1% +.% R2#P2% ).% )% G')"2'"% 7#6',S% ;('% /#22'/1+#2.% Q'1P''2% 1('% H#"'a.% /#$0 #2'21.% )"'% 6 './"+Q'6% +2%
='/1+#2%]S%
%
%
!+:S%XS%9;=%,)>'"'6%.1"</1<"'W%L.'"%921'"8)/'%T)26%+21'")/1+#2%$'/()2+.$.UJ%!<2/1+#2),+1>%TH#"'UJ%)26%-)1)%TN2#P,'6:'%&).'U%)"'%6'/#<0,'6S%
%
!"#$%&'()*+#"),%-'./"+01+#2%1#%3%4)11'"25&).'6%7#6',%8#"%921',,+:'21%;<1#"+2:%=>.1'$.W%4):'%5%f%
;('%"'.1%#8%1(+.%0)0'"%+.%6'*#1'6%1# %$ #6' ,+2:%1(' %H#"'J%1('%,)> '"%1()1%+$ 0,' $ '2 1.%1('%Q' ()* +#"),%"'.0# 2.' %#8%
1('%9;=S%7#6' ,+2:%N 2# P ,'6:' %& ).' J%L.'"%921'"8)/'.J%)26%1('%/#22'/1+#2%Q'1P''2%1('$%)26%1('%H#"'%+.%#<1%# 8% 1( '%
./#0'%#8%1( +.%0)0'"S%I#P'*'"J%1('%/#22 '/1+#2%Q'1P''2%L.'"% 921'"8)/'.%)26%H#"'%/)2%Q'%').+,>%8+:<"'6%#<1%).%)2%
7@H%0)11'"2%)00,+/)1+#2%T&<. /($ ) 22%'1% ),S%XbbeUJ%P(' " ' %H#"'%)/1.%).% 1('%7#6',%0)"1S%; ('%/#22'/1+#2%Q'1P''2%
H#"'%)26%N2#P,'6:'%&).'%/)2%Q'%"'),+K'6%<.+2:%6+*'".'%6)1)%)//'..%)00"#)/('.S%
%
[S[ O(>%-'.+:2%4)11'"2.o%
=#81P)"'%6'.+:2%0)11'"2.%)"'%<.'6%).% )% :'2'"),% "'<.)Q,'%.#,<1+#2%1#% )% /#$ $#2,>% #//<""+2:%0"#Q,'$% +2% .#81P)"'%
6'.+:2J% 1#% .(#P % "',)1+#2.(+0.% )2 6% +21'")/1+#2.% Q'1P '' 2% /#$0#2'21.% )26% 0"#*+6'% )% .R','1#2% 8#"% 1('%
+$0,'$ '2 1 )1 +# 2 % TC)$ $ ) % '1% ),S% XbbcUS% A*' 2 % 1( #<:(% 1(' % / # 2 / ' 0 1 % # 8% 0 ) 11 ' " 2 . % () . % "' / ' +* ' 6 % "',)1+*',>% ,+11,'%
)11'21+#2%+2%1('%8+',6%#8%9;=J%-'*'6K+/%)26%I)""'"%T[``cU%$'21+#2%1()1%$)2 >%9;=%6'.+:2'".% )26%6'*',#0'".% <.'%
1('+"% #P2% .#,<1+#2.% P( '2 % 8)/'6% P+1(% 6'.+:2% 0"#Q,'$ .% 1()1% )"'% /#$$#2% 1#% 6+88'"'21% .>.1'$ . J% $#6',.J% )26%
0)")6+:$.Z% '*'2% P('2% )% /,#.'"% ,##R% +21#% 1()1% .#,<1+#2.% )26% 1('+"% /#$0)"+.#2% #81'2% .(#P.% 1()1% 6+88'"'21%
.#,<1+#2.%)26%1('%/#21'\1.%+2%P(+/( %1('>%)"' %)00 ,+'6%()* '%$ </( %+2%/#$ $ #2 S%
%
92%1()1%/#21'\1J%#<"%/( #+/' %)Q# < 1%<.+2: %6'.+:2%0)11'"2.%+2%1(+.%0"#Y'/1%P).%6"+*'2%Q>%#<"%+21'"'. 1%+2W%
%
CommunicationS%=+2/'%0)11'"2.a%2)$'.%/,#.',>%$)1/(% 1('+"% #QY'/1+*'%)26%1('% 0"#Q,'$%1('>% .#,*'J%P'% <.'6%
1('$%). %)%/#$$ #2%*#/)Q<,)">%)$#2:% 6+*'".'%.1)R'( #,6'".%)+$+2:%1#%+$0"#*'% 1( '% /# $ $ <2 +/)1+#2%0"#/'..S%
4)11'"2.% 0"#*+6'% <.% P+1(% )% .1)26)"6% *#/)Q<,)">% 1#% 6'./"+Q'% 1('% 1#0#,#:>% #8% 1('% .>.1'$J% 1('% .1"</1<"),%
(+'")"/(>%#8%1('%.<Q.>.1'$.J%)26%1('+"%+21'"8)/'.%)26%/#22'/1+#2.S%
CollaborationS% 4 ) 1 1' " 2 . % .<00# " 1% 1('% . ( ) " +2 : % #8% /# 2 . 1 "</1+#2.% Q'1P''2% 6'*',#0'".% #"% '+1('"% <.'% #1('"a.%
/#2.1"</1+#2.%1#%' 2() 2/' %#<"%#P2S%E#%$)11' "%P()1 %+.%Q'' 2 %Q<+, 1%#"%P ( )1%#1('".%Q<+,1J%+1%+.%),P)> .%R2 # P 2 %
P(+/(%)"'%:#+2:%1#%Q'%1('%"',)1+#2.%T/#22'/1+#2.U%)$#2:%6+88'"'21%/#2.1"</1+#2.S%%
ProductivityS% 4)11'" 2 . % (',0 % 1#% /"') 1 ' % /#$0#2'21.J% )26% /#$0#2'2 1. % .<0 0 # " 1 % 1('% /"')1+#2% #8% 8)$+,+' . % #8%
0"#6</1.%)26g#"%.'*'"),%*'".+#2.%#8%1('%.)$'%0"#6</1%1#%0"#1#1>0'%)26%1'.1%2'P %#0 1+#2.%#8%8<2 /1+#2),+1>S %
AbstractionS%4)11'"2.% )"'%$ #"'%)Q.1")/1% 1()2%Y<.1%)%1'/(2+/),% $ #6',J%Q<1%$#"'%1'/(2+/),% 1()2%)%/#2/'01<),%
$#6',S%4)11'"2.%$)R'% +1%0# .. +Q ,'%1#%0"#*+6 '%) %m /# 2 1" # ,,'6 n%8"' '6 #$%1#%1('%0" #: ")$$'".%Q'/)<.'% 1('>%/)2%
6'*',#0%8<2/1+#2),+1>%+2%1('+"%#P2%/"')1+*'%P)>J%Q<1%1('>%8#,,#P%)26%0"'.'"*'%1('%:<+6',+2'.%#8%)%6'8+2'6%
6'.+:2S%%
%
;('.'% Q'2'8+1.% #8% <.+2:% 0)11'"2.% T/#$$<2+/)1+#2J% /#,,)Q#" ) 1 +# 2 J% 0"#6</1+*+1>J% )26% )Q.1")/1+#2U% (',0% <.% 1#%
#*'"/#$'% 1('% /(),,'2:+2:% /#21'\1<),% ','$'21.% #8% 1(' % 0"#Y'/1% T+2/"'$'2 1),% "'V<+"'$ '21.J% /()2:+2:%
"'V<+"'$'21.J%)2 6%)%.(+81+2:%6'*',#0$'21%1')$ US%
%
[S] 9;=%l<),+1+'.%
9;=%)"'%0+'/'.%#8%.#81P)"'J%('2/' % 1 ( ' > %)"'%'\0'/1'6%1#%$''1%.#$'%.#81P)"'%V<),+1>%/"+1'"+)S%;('"'8#"'J%$#6',+2:%
9;=% Q'()*+#"% +.% ),.#% )Q #< 1% )//# $ 0 ,+.(+2: % V<),+1>% /#2.+6'")1+#2.% 1()1% 6"+*'% 1('+"% 6'.+:2S% =#81P)"'% V<),+1>%
/"+1'"+)% )"'% .0 '/+8+'6% ).% 2#258<2 /1+# 2 ) ,% "'V<+"'$ '2 1. S% 3//#$0,+. (+2 :% 2#258<2/1+# 2 ) ,% "'V<+"'$ '2 1. % +.% #2'%
)66+1+#2),% "').#2% 1#% <.'% 6'.+:2% 0)11'"2.S% -'.+:2% 0)11'"2.% ,'1% <.% 1) R' % )6*)2 1) :' % #8% 0"'*+#<.% '\0'" +'2 /'. % 1#%
+$0,'$ '2 1 % 2# 2 58<2/1+#2) ,% "'V< +" '$'21.% )26 % 1#% )*# +6,! P('2% 0"#0'",>%<.'6J% )//+6'21),% /#$0,'\+1>S% ;('% 2#25
8<2/1+#2) ,%"'V<+"'$ '2 1.%)66"'..'6 %+2%1('%0"#Y'/1%P'"'W%
%
ReusabilityS%B'<.)Q+,+1>%"'8'".% 1#% 1('%6':"''% 1#% P(+/(% )% .#81P)"'%$#6<,'%#"%#1('"% P#"R% 0"#6</1% /)2% Q'%
<.'6%+2%$#"'%1()2%#2'%/#$0<1'"%0"#:")$%#"%.#81P)"'%.>.1'$%T9AAA%XbbbUS%9;=%/#$0#2' 2 1 . %$<.1%Q'%) Q,'%
1#%Q '%<.'6 %):)+2%P+1( %.,+:(1%#"%2#%$#6+8+/)1+#2%8#"%1('%+$0 ,'$ '2 1)1+#2%#8%#1('"%0"#6</1.%#"%*'".+#2.%#8% 1( '%
.)$'%0"#Y'/1S%%
ExtensibilityS% A\1'2.+Q+,+1>% +.% 1('% 6':"''% 1#% P(+/(% )% .>.1'$% #"% /#$0#2'21% /)2% Q'% ').+,>% $#6+8+'6% 1#%
+2/"').'% +1. % .1 #" ) :' % # "% 8< 2 / 1+# 2 ) ,% /) 0 ) /+1 > % T9AA A % Xbb bUS% 9 ; = % / # $0#2 '21.% +2% 1( ' % $#6',% $ <.1% Q'% ) Q,'% 1#%
+2/#"0#") 1 '% 2 ' P % 8< 2 / 1+# 2 ), +1+' .% # "% $#6+8>%'\ +. 1+2 : % 8< 2 /1+# 2 ) ,+1+'.%T'S:SJ%)..'..$'21%.1")1':+'.J%1).R5/"')1+#2%
.1")1':+'.J%,')"2+2:%),:#"+1($.%1#%$+2+2:%,')"2'"%$#6 ',J%'1/SUS%
!"#$%&'()*+#"),%-'./"+01+#2%1#%3%4)11'"25&).'6%7#6',%8#"%921',,+:'21%;<1#"+2:%=>.1'$.W%4):'%5%c%
AdaptabilityS%36)01)Q+,+1>%"'8'".%1#%1('%').'% P +1(%P(+/(%)%.>.1'$% #"%/#$0#2'21%/)2%Q'%$ #6+8+'6% 8#"%<.+2:%
+1%+2%)00,+/ ) 1+# 2 .%# "%'2 * +"# 2 $'21.%#1( '" %1( )2 %1 (# .' %8# "%P(+/(%+1%P) .%. 0 '/ +8+/) ,,> %6 '. +:2 ' 6 % T9A AA %Xbb bUS%%
RobustnessS% B#Q<.12'..% +.% 1('% 6':"''% 1#% P(+/( % )% .>.1'$ % #"% /#$ 0 #2 ' 2 1% /)2 % 8<2/1 +# 2% /#""'/1,>% +2% 1('%
0"'.'2/'% #8% +2*),+6% +20<1.% #"% .1"'..8<,% '2*+"#2$'21),% /#26+1+#2.% T9AAA% XbbbUS% =1<6'2 1 . % '\0 '/ 1 % 1#% :'1%
'88'/1+*'% )26% '88+/+'21% .<00#"1% 8"#$% 1('% 9;=J% ).% +8% +1% P).% )% (<$)2% 1<1#"Z% +21'""<01+#2.% +2% 1('% 1')/(+2:5
,')"2+2:%0"#/ '.. %6< '%1# %.# 81P ) "'%8 )+,<"'.%)"'%(+:(,>%<26'.+")Q,'S%%
PerformanceS% 4'"8#"$)2/'% "'8'".% 1#% 1('% 6':"''% 1#% P(+/(% )% .>.1'$% #"% /#$0#2 '21% )//#$0,+.('.% +1.%
6'.+:2)1'6%8<2/1+#2.%P+1(+2%:+*'2% /#2.1")+21.J%.</(% ).%.0''6J%)//<")/>J%#"% $ '$#">%<.):'%T9AA A%Xbbb US%;(' %
9;=%$<.1%'$ <,) 1'%"'), 51+$'%"'.0#2.'.%8"#$%)%(< $ ) 2 %1< 1# "Z%6' ,) >.%$<.1%Q'%)*#+6'6%)26%,)1'2/>%"'6</'6S%
%
;('%<.'%#8%0)11'"2.%Q'/#$'.%1('%R'>.1#2'%1#% .)1+.8>%1('%8+".1% 1("''%V<),+1+'.%'2<$ '")1'6%)Q#*'S%=)1+.8)/1+#2%#8%
1('%,).1%1P #%"'V<+"'$'2 1.%T"#Q<.12 '..% )2 6% 0'"8#"$)2/'U%+.%"',)1'6%1#% 1('% +$ 0,'$ '2 1)1+#2%#8%1('%$#6',%)26% 2#1%
P+1(%1('%$#6',%0'"%.'S%I#P'*'"J%+2%#<"%'\0'"+'2/'%/#$$<2+/)1+#2J%/#,,)Q#")1+#2J%0"#6</1+*+1>J%)26%)Q.1")/1+#2%
+$0)/1%0 '" 8#" $)2/'%)2 6 %"# Q <. 12 ' .. S%
%
[Sf L2+8+'6%7#6',+2:%G)2:<):'%
L2+8+'6%7#6',,+2:%G)2:<):'% TL7GU%2#1)1+#2%+.%< .' 6 %).%$#6',,+2:% ,)2:<):'J%. 0 ' / +8+ / ) ,, > %L7G%/, ) . .%6+):")$. S%;#%
8)/+,+1)1'%1('%<2 6' ". 1)2 6 +2 : %#8%1('%6+) : ") $ . %#88'" '6 %+2%1( +.%0)0'"%T.''%!+:<"'.%[J% ]J%)26%fU%1(+.%.'/1+#2%0"#*+6'.%
)%Q"+'8%6'./"+01+#2%#8%1('%','$'21.%TQ#\'.%)26%)""#P.U%P+1(+2%)%L7G%6+):")$S%
%
&#\'.%"'0"'.'21%/#$0#2'21.%#"%/,)..'.S%
3""#P.%"'0"'.'21%)..#/+)1+#2%"',)1+#2.(+0.Z%1(' %) "" #P.%:#%8" # $%1('%/# $0#2'2 1%1()1%"'V<' . 1. %8<2/1+#2),+1>%
1#%1('%/#$0#2'2 1%1()1%0"# *+6'.%1( )1%8<2/1+#2 ),+1>S%%
3""#P.% P+1(% 6).('6% ,+2'.% "'0"'.'21% 6'0'26'2/>% "' ,)1+#2.(+0 .Z% +2% 1(' % $#6',% P'% )"'% .(#P+2:% 1('%
6'0'26'2/>%Q'1P''2%8<2/1+#2),%/#$0#2'21.%)26%1('%6)1)%/#$0#2'21%1('>%"'V<+"'%1#%)//'..%1('$S%
3""#P.%P+1(%)%1"+)2:<,)"%.()0'%+2%1('%)""#P(')6%"'0"'.'21%+2('"+1)2/'%"',)1+#2.(+0.S%
3""#P.% .1)"1+2:%P +1(% )% 6+)$#26% .() 0'% "'0"'.'21% /#$0#.+1+#2% "',)1+#2.(+0.Z% 1('>% )"'% <.'6% 1#% "'0"' . ' 2 1%
1()1%)%/#$0#2'2 1%+.%8#"$' 6%Q>%)%/# 2Y<2 /1+#2%#8%#1(' "%/#$ 0 #2' 21. S%%%%
%
3. 7D-AG9EC%;IA%9;=%&AI3@9DB%
;(+.% .'/1+#2% <.'.% 1('% 9;=% Q'()*+#"% 6'./"+Q'6% +2% T@)2G'(2% [``eU% 1#% /"')1'% )% /#2/'01<),% $#6',% 8#"% 1('% H#"'%
,)>'"S% ;('% 9;=% Q'()*+#"J% .1)1'6% +2% T@)2G'( 2% [` `eUJ% +.% .<$$ )"+K'6% +2% )% ,+.1% #8% .1)1'$'21.% 1()1% +6'21+8+' .% 1( '%
+2*#,*'6%/#$ 0 # 2 ' 2 1.J%"'.0# 2 . +Q+, +1+' .%8#"%')/(%/#$ 0 # 2' 2 1J%)26 %"',)1+# 2 .( +0 .%Q'1P''2%/#$0 #2 ' 2 1. S%92%1('%,+.1J%
/#$0#2'21.a% 2)$ '.% P'"'% $)"R'6% +2% Q#,6% )26% "',)1+#2.(+0.% Q'1P''2% /#$0#2 '21.% )"'% '\0,)+2'6S% H#$0,'\%
/#$0#2'21.% P'"'% .0,+1% +21#% .+$ 0,'% #2'.J% +6'21+8>+2:% .0'/+8+/% "'.0#2.+Q+,+1+'.% )26% )..+:2+2:% 1('$% 1#% 2'P%
/#$0#2'21.S%;('%,+.1%#8%.1)1'$'21.%+.%).%8#,,#P.W%
%
=1<6'21.%+21'")/ 1%P+1(%1('%9;= %1( " #< : ( %1( '%User! InterfaceS%;('% '*'21.% 1"+:: '"'6 %Q>%1('% User! Interface!)"'%
()26,'6%Q>% 1('% Tool! /#$0#2'21.% ;('% Tool% +.% 1('% /# $0#2'2 1% "' .0#2 .+Q,'% 8#"% /"')1+2:% )26%$)2 ):+2:% 1('%
'2*+"#2$'21%+2%P(+/( %1( '%.1<6'21%P#"R.S%%
;('%9;=%0"#*+6'.%. 1< 6' 21.%P+1(% 1). R.%1#%Q'%.#,* '6%)2 6%(' ,0.%1('$%+2%1(' %0"#/'..S%3%Task%+.%)%.'1%#8%.1'0.S%%
!#"%.+$0,+/+1>J%1(+.%"'0#"1% )..<$'.%1()1%1('%.'1%#8%.1'0.%+.%.1)1+/%)26%0"'5'2<$ '")1'6S%%92%0"+2/+0,'J%)%Task%
/#<,6% Q'%) %.1' 0%: '2' ")1#"J%P ( +/(%$ ') 2.%.1'0.%/# <,6%Q'%6> 2)$ +/),,>%:'2'")1'6S%%;('%9;= %,+1'")1<"' %"'8'".%1#%
1<1#".%<.+2:%)%.1)1+/J% 0"'5'2<$'")1'6% .'1% #8%.1'0.% ).% m'\)$0,'%1")/+2:% 1<1#".n%P('"').% 1(#.'%<.+2:% .1'0.%
:'2'")1#".%)"'%/),,'6%m$# 6',%1")/+2:%1<1#".n%T@)2G'( 2J%[``eUS%%%A)/(%Step%+.%"',)1'6%1#%'*'21.%+2%1('%User!
InterfaceS% =1'0.% +2/,<6'% Assessment% )26% HelpS% Help% /#<,6% Q'% Hints% Q'8#"'% /#$ 0,'1+2:% 1('% Step% #"%
Feedback%)81'"%/#$0,'1+2:%1('%StepS%A)/(%Task%+.% "' ,) 1' 6%1#% )%.'1% # 8%Knowledge%Components%1()1%)"'%1('%
+28#"$)1 +#2 % )26% .R+,,.% 1()1% )% .1<6'21% 2 ''6 .% 1# % )0 0,>% +2% #"6'"% 1#% .#,*'% 1('% Task% .<//'..8<,,>S% ;('%
Knowledge%Base%+.%)%.'1%#8%Tasks%)26%Knowledge%Components%)26%1('%$)00+2:%Q'1P''2%1('$S%
;('% 9;=% Q'()*+#"% .1)"1.% P('2! 1('% Task! Selector% .','/1. % 1('% 2'\1% Task% 1( )1% 1('% .1<6' 21% $<.1% .# ,*'% )26%
0,)/'.% 1('% Task% +21#% 1('% Tool% +2 % #"6'"% 1 # % Q'% .#,* ' 6% Q>% 1( ' % .1<6'21S% ;('% 8#<"% Q).+/% $'1(#6.% 1#% 6#% m1).R%
!"#$%&'()*+#"),%-'./"+01+#2%1#%3%4)11'"25&).'6%7#6',%8#"%921',,+:'21%;<1#"+2:%=>.1'$.W%4):'%5%e%
.','/1+#2n%)"'%6'./"+Q'6% +2%T@)2 G'( 2%[``eUS%;('%Task!Selector%2''6.% 1#%()*'%)//'..%1#%)%.#<"/'% #8%TasksS%
;('%Task!Factory%+.% 1('% .#<"/'%#8%TasksS%91% '+1('"%"')6.%Tasks%.1#"'6 %+2 %1( '% Knowledge!Base%T"') 6+2 : %
0"'*+#<.,>%(<$)25)<1(#"'6%1).R.U%#"%/"')1'.%1).R. %+2%"' ), 5 1+$ ' S%
;('% Step!Analyzer%/#$0)"'.%1('%.1<6'21a.%L9%Q'()*+#"%1#%1('%/#""'/1%Steps%#8%1('%Task%)26%0 "#*+6'.%1()1%
+28#"$)1 +#2 % 1#% 1('% Assessor% )26% 1('% Pedagogical! ModuleS% ;('% Step! An alyzer% 1>0+/),,>% 6'1'"$+2'.%
P('1('"%1('%.1<6'21a.%.1'0%+.%/#""'/1%#"%+2/#""'/1J%)26%P(+/(%#8%1('%1).Ra.%.1'0.%$#.1%/,#.',>% $)1/('.%1('%
.1<6'21a.%.1'0S%% ;('%Assessor%<06)1'.%1('%Learner!ModelS%;('%Pedagogical!Module%0"#*+6'.%Help%<.+2:%
6+88'"'21% .1")1':+'.% .</(% ).% 0"#*+6+2:% +$$'6+)1'% #"% 6',)>'6% (',0% #"% 0"#*+6+2:% "'V<'.1'6% #"% <2.#,+/+1'6%
(',0S%
;('% Learner! Model! "'0"'.'21.% 1('% R2#P,'6:'J% 6+88+/<,1+'.J% )26% $ +./#2/'01+#2.% #8% 1('% .1<6'21S% ;('%
Learner! Model!,+.1.%Tasks%)..+:2'6% 1#%1('%.1<6'21J%$').<"'.%#8%1('% 1+$'%.0'21%1#%/#$0,'1'%1('%Task,%)26%
1('%.1)1<.%#8%1('%TaskS%!# " %') / ( %Step%+2%1(' %Task%)%/#<21'"%#8%1('%Hints%"'V< '.1'6%)26%Feedback%T'""#".%
$)6'U% +.%R'01S%%7#.1%+$0#"1 ) 2 1 ,>J%8#"%') /( %Knowledge%Component,%)%$).1'">%$').<"'%+.%),.#% R'01S%%;('%
Task!Selector%"',+'.%#2%1('% Learner!M odel’s% $').<"'.%#8%Knowledge!Component%$).1'">!1#%/ (##.'%)%
Task% 1()1% +.% 2'+1('"% 1##% ()"6% T1##% $ )2 >% <2$ ).1' "'6% R2#P ,'6 :'% /#$ 0#2 '21. U% 2#"% 1##% ').>% T1##% $ )2 >%
$).1'"'6%R2#P,'6:'%/#$0#2'21.US%
%
!+:<"'%[%'\1'26.%1('% 9;= % .1"< /1< "'%.(#P2%+2%!+:<"'%X%+2%#"6'"%1#% +6'21+8>%/#$0#2'21.%T8<2/1+#2),%)26%6)1)U%)2 6%
1('+"%"',)1+#2.(+0.S%L7G%2 #1)1+#2 %+.%<.'6%+2.+6' %1('%H#"'%Q,#/R%1#%/"')1'%)%8+".1%)11'$01%#8%1('%#QY'/15#"+'21'6%
$#6',S%;('%2'\1%.'/1+#2%.(#P.%1('%6'1)+,.%#8%1(+.%$# 6',%<.+2:%)%0)11'"25Q).'6%)00"#)/(S%%
%
%
!+:S%[S%9;=%$#6',S%O(+1'%Q#\'.%"'0"'.'21%8<2/1+#2),%/#$0 #2 ' 21 .%) 26 %: ")> %Q #\ ' .%"'0"' .'21%6)1)%/#$0#2'21.S%B',)1+#2.(+0.%#8%)..#/+)1+#2J%
6'0'26'2/>J%/#$0#.+1+#2J%)26%+2('"+1)2/'%)"'%.(#P2%<.+2:%L7G%2#1)1+#2S%
!"#$%&'()*+#"),%-'./"+01+#2%1#%3%4)11'"25&).'6%7#6',%8#"%921',,+:'21%;<1#"+2:%=>.1'$.W%4):'%5%d%
]SX 4)11'"25&).'6%7#6',+2:%
;('% $#6',% +2% !+:<"'% [% "'0"'.'21.% )% /#2/'01<),% 6'./"+01+#2% #8% P(#% +.% 6#+2:% P()1% )26% /#""'.0#26.% 1#% )2%
)Q.1")/1+#2% #8% 1('% '\0'/1'6% 8<2/1+#2),+1>% #8% ')/(% +21'"2),% /#$0#2'21% +2% H#"'S% A*'2% 1(#<:(% 1('% /#2/'01<),%
$#6',%/)2%Q'% )%.1)"1+2:% 0#+21%1#% +$0,'$'21% 9;=%8< 2 /1+# 2 ) ,+1>J%+1%+.%.1+,,%1##%)Q.1")/1%1#%Q'%)%.#81P)"'%6'. +:2%)26%
1('"'8#"'%1('"'%)"'%6+*'".'%#01+#2.%1#%+$ 0,'$'21%+1S%;('%2'\ 1%.1'0 %+2%# <"%0 "#/'.. %P ).%1# %'* #,*'%1(+.%$#6',%Q>%
6'8+2+2:% $#"'% .0'/+8+/% "',)1+#2.(+0.% Q'1P''2% /#$0#2'21.% <.+2:% 6'.+:2% 0)11'"2.Z% 1(+.% 0"#*+6'6% <.% P+1(% )%
1'$0,)1'% 8#"% 1('% .#81P )"'% 6' .+:2% )2 6% 1(' "'8#"'% 8#"% 1( ' % +$ 0 ,' $ ' 2 1)1 +#2 S% ;)Q,'% X% .(#P.% 1('% "',)1+#2.(+0%
Q'1P''2%/#$0#2'21.%0"'*+#<.,>%6'8+2'6%$)1/('6%P+1(%)%0)11'"2%2)$'%P+1(%)%6'./"+01+#2%#8%1('%$')2+2:%#8%1('%
"',)1+#2.(+0S%
%
;)Q,'%XS%B',)1+#2.( +0.%Q'1P' ' 2 %9 ; = %/ # $0#2'2 1. %) 2 6 %6'.+:2%0)11'"2.%
Components!
Pattern
Description!
%
;##,%
FACADE
%
;##,%+.%)%(+:(5,'*',%+21'"8)/'%8#"%1('%.'1%#8%9;=%.<Q.>.1'$.S%%
%
;).R=','/1#"%
STRATEGY
;).R=','/1#"% +.% +$0,'$'21'6% <.+2:% STRATEGY% 0)11'"2% 1#% 6'),% P+1(% 1('% 8)/1% 1()1%
.','/1+2:% 1('% 2'\1% ;).R% 8#"% 1('% .1<6'21% +.% 6#2'% P+1(% 6+88'"'21 % ),: # "+1 ($.%
T$'1(#6#,#:+'.U%6'./"+Q'6%+2%T@)2G'(2%[` `e US%
%
;).R=','/1#"%
)26%
3..'..#"%
OBSERVER
;('%"',)1+#2.(+0%Q'1P''2%;).R=','/1#"%)26%3..'..#"%/)2%Q'%6'./"+Q'6%Q>%OBSERVER%
0)11'"2S% ;).R=','/1#"% 2''6.% +28#"$)1+#2% )Q#<1% /()2:'.% +2% 1('% G')"2'"7#6',%
T0'"8#"$)2/'%#8%1( '%.1<6'21U%$)+21)+2' 6%Q>%3..'..#"J%+2%#"6'"%1#%)6Y<.1%1(' %,'*' ,%#8%1('%
2'\1%;).RS%
%
;).R!)/1#">%
ABSTRACT FACTORY
;).R!)/1#">% /"')1'.% ;).R% #QY'/1.S% ;('% "',)1+#2.(+0% Q'1P''2% ;).R!)/1#">% )26% ;).R%
/#""'.0#26.% 1#% 1('% "',)1+#2.(+0% Q'1P ''2% )% 8)/1#">% )26% )% 0"#6</1% +2% ABSTRACT%
FACTORY%0)11'"2S%%
%
;).R!)/1#">%
STRATEGY
;).R!)/1#">% +$0,'$'21.% STRATEGY% 1#% /"')1'% ;).R.J% 6<'% 1#% 1('% 8)/1% 1()1% 9;=% /#<,6%
+$0,'$'21% '+1('"% 0)"1+/< ,) "% ),:#"+1($.% 1#% /"')1'% ;).R.% +2% "'),51+$'% #"% / "')1'% ;).R.%
"'/#*'"+2:%1('$%8"#$%)%6)1)%"'0#.+1#">S%
%
=1'032),>K'"%
CHAIN OF
RESPONSIBILITIES
CHAIN% OF RESPONSIBILITIES% +.% )% 6 '. +: 2% 0)11'"2% 1()1% )*#+6.% /#<0,+2:% 1('%
.'26'"%#8%)%"'V<'.1%1#%+1.% "'/ '+*'"%Q>%:+*+2:%$#"'%1()2%#2'%#QY'/1%)%/()2/'%1#%()26,'%1('%
"'V<'.1S% =1'032),>K'"% /()+2 .% 1('% "'/'+*+2:% #QY'/1.J% P(+/( % )"'% 1('% 1).Ra.% .1'0.J% )26%
0)..'.%1('%"'V<'.1%),#2:%1('%/()+2%<21+,%#2'%#QY'/1%()26,'.%+1S%I)26,+2:%)%"'V<'.1%$')2.%
"'/#:2+K+2:%)%.1<6'21a.%L9%'*'21%).%)%.1'0%1()1%+.%'+1('"%/#""'/1%#"%+2/#""'/1S%%%
%
3..'..#"%
STRATEGY
3..'..#"% +$0,'$'21.% STRATEGY% 1#% $)+21)+2% 1( '% G')"2'"7#6',S% -+*'".'% .1")1':+ ' .%
/#<,6%Q'%1"+'6%1#%.1#"'%)26%"'/#*'"% 1('% G')"2'"7#6',% +28#"$)1+# 2S%%3% 1>0+/),% .1")1':>%
/#2.+.1.%#8% )..#/+)1+2:%')/(% .1'0%P+1(%)% .'1%#8% R2#P,'6:'%/#$0#2'21.%1()1%"'0"'.'2 1.%
P()1% 1('% .1<6'21% P#<,6% 2''6% 1#% R2#P% +2% #"6'"% 1#% :'1% 1()1% .1'0% /#""'/ 1S% % O('2% 1('%
3..'..#"%+.%+2 8# "$'6%1()1%)%0)"1+/<,)"%=1'0%+.%/#""'/1J%+1%+2/"'$'21.%1('%$).1'">%#8%1('%
)..#/+)1'6% R2#P ,'6:'% /#$0#2'21.S% D2% 1('% #1('"% ()26J% +8% 1('% .1<6'21% :#1% 1('% =1'0%
P"#2:J%1('2%3..'..#"%"'6</'.%1('%$).1'">%#8%1('%)..#/+)1'6%R2#P,'6:'%/#$0#2'21.S%%
%
4'6):#:+/),%
7#6<,'%
STRATEGY
4'6):#:+/),7#6<,'% +$0,'$'21.% STRATEGY% 1#% 0 "#*+6'% .< 00 #"1% 1#% 1(' % .1<6' 21% +2%
.#,*+2:%1('% /< ""'21%=1'0S%D 01+#2.%1#%0"# *+6'%I',0%: #%8"#$%0"' ..+2:%)%Q<11# 2%).R+2:%8#"%)%
I+21%1#%1('%+$0,'$'21)1+#2%#8% +21',,+:'21%),:#"+1($.%1()1%0"#*+6'%.<00#"1%1#%$ )+21)+2%
1('% .1<6'21% +2% 1(' % pK#2'% #8% 0"#\+$),% 6 '*',# 0$'21p% T@>:#1.R>%XbdiUJ% P('"'%1).R.% )"'%
2'+1('"%Q#"+2:,>%').>%2#"%8"<.1")1+2:,>%6+88+/<,1J%Q <1%+2 .1 ') 6 %1('.'%1).R.%)88#"6%$)\+$),%
,')"2+2:%)26%$#1+*)1+2:%/() ,,'2: '.S %
%
=1'0%
COMPOSITE
COMPOSITE% 0)11'"2% ),,#P.% <.% 1#% /#$0#.'% =1'0.% +21#% 1"''% .1"</1<"'.% 1#% "'0"'.'21%
0)"15P(#,'% (+'")"/(+'.S% COMPOSITE% 0)11'"2% ,'1.% <.% 1 "') 1% +26+*+6<),% =1'0 .% )26%
(+'")"/(+'.%#8%=1'0.%T)26%.<Q5=1'0.U%<2+8#"$,>S%
%
3..'..#"%
)26%
=1'032),>K'"%
OBSERVER
;('% "',)1+#2.(+0% Q'1P''2% 3..'..#"% )26% =1'032),>K'"% +.% 6'./"+Q'6% Q>% OBSERVER%
0)11'"2S% 3..'..#"% 2''6.% +28#"$)1+#2% )Q#<1% .1<6'21% 0'"8#"$)2/'% +2% ')/(% =1'0S% ;()1%
+28#"$)1+#2%+.%#Q1) +2 ' 6%8" # $ %= 1' 0 3 2 ), >K '" S%
%
4'6):#:+/),%
7#6<,'%
)26%
=1'032),>K'"%
OBSERVER
;('% "',)1+#2.(+0% Q'1P''2% 4'6):#:+/),7#6<,'% )26% =1'032),>K'"% /)2% Q'% 6'./"+Q'6% Q>%
OBSERVER% 0)11'"2S% 4'6):#:+/),7#6<,'% 2''6.% +28#"$)1+#2% )Q#<1% .1<6'21%
0'"8#"$)2/'%+2%')/(%=1'0S%;()1%+28#"$)1+#2%+.%#Q1)+2'6%8"#$%=1'032),>K'"S%
!"#$%&'()*+#"),%-'./"+01+#2%1#%3%4)11'"25&).'6%7#6',%8#"%921',,+:'21%;<1#"+2:%=>.1'$.W%4):'%5%i%
!+26+2:% 1('% )00"#0"+)1'% 0)11'"2% 1#% Q'% )00,+'6% 1#% ')/(% /#$0#2'21% )26 % "',)1+#2.(+0% P).% )% 0"#/'..% Q).'6% #2%
'\0'"+'2/'%)26% ,+1'")1<"'%"'.')"/(%T& <. /($ ) 22% '1% ),S%X bb eJ% C)$$ ) % '1% ),S%Xbb cUS% % ;('"'%+.% 2#% .'1% #8%"<,'.% #2%
(#P%1#%/(##.'%)%0)11'"2Z%+2 .1 ') 6 J%)%8+"$ %R2#P,'6:'%#8%'\+.1+2:%0)11'"2.%).%P',,%).%1('%0"#Q,'$.%1('>%.#,*'%+.%
"'V<+"'6% +2% #"6'"% 1#% '88'/1+*',>%<.'% 0)11'"2.%1#% 6'./"+Q'% P()1%()00'2.% P+1(+2%)% :+*'2%.>.1'$S% D<"%)00"#)/(%
/#2.+.1.%#8%<.+2:%1('%0)11'"2% 1()1% $ #.1%/,#.',>% $ )1/('.% 1('%.'$) 21+/%6' ./"+01+#2%#8%1('%"'V<+"'$'21%#"%:"#<0%#8%
"'V<+"'$'21.S% !"#$% 1('% mC#!n% 6'.+:2% 0)11'"2.% 6#/<$'21'6% +2% T&<./($)22% '1% ),S% XbbeU% )26% TC)$$)% '1% ),S%
XbbcUJ% P'% 1##R% 1('% R'>P#"6.% #Q.'"*'"J% )Q.1")/1% 8)/1#">J% Q<+,6'"J% /()+2% #8% "'.0#2.+Q+,+1+'.J% .1")1':>J%
/#$$<2+/)1#"J%8)/)6'J%/# $0 #.+1'J%)26%.+2:,'1#2Z%')/(%0)11'"2%+.%8)+",>%/,#.'%1#%+$0,'$'21+2: %1('%1).R%1()1%+1.%
2)$'% $')2.% )26% P()1% ')/(% /#$0#2'21% +.% .<00#.'6% 1#% 6#Z% 8#"% '\)$0,'J% ;).R!)/1#">% +.% )2% ABSTRACT
FACTORY%#8%;).R.S%%
%
]S[ 4<11+2:%3,,%;('%4)11'"2.%;#:'1('"%%
O+1(% 1('%"',)1+#2.(+0.%'\0"'..'6%).%0)11'"2%'V<+*),'2/'.J%).% ,+.1'6%+2% 1('%0"'*+#<.%.'/1+#2J%/"')1+2:%)% .#81P)"'%
6'.+:2%+.%8)+",>% .1")+:(18#"P)"6S%A)/(%0)11'"2%().%)%<2+V<'%'V<+*),'2/'% +2%L7G%T).%)%/,)..%6+):")$US%;('2J%#<"%
6'*',#0$'21%1') $ %P#< ,6%Q'%)Q,'%1#%8#/<.%#2%1('% 6'1)+,'6% +$0,'$ '21)1+#2% #8% 1('%6'.+"'6%8<2/1+#2),+1>J%8+,,+2:%+2%
.0'/+8+/%0,)/'.%+2.+6'%#8%.0'/+8+/%8+,'.J%$'1(# 6 . J%)26%)11"+Q<1'.%T&##/(%'1%),S%[``dUS%;('%L7G%/,)..%6+):")$%8#"%
1('%H#"'%,)>'"%+.%.(# P2%+2%!+:< "' %]S %
%
%
!+:S%]S%L7G%/,)..%6+):")$%.(#P+2:%1('%0)11'"25Q).'6%$#6',%8#"%1('%mH#"'n%,)>'"S%
91%+.%+$0#"1)21%1#%2#1' %1('%8#,,#P +2 :%"' ,)1+#2 .(+0 .%+2%1(' %6+): ")$%.(#P2%+2%!+:<"'%]W%
%
;('% +$0,'$'21)1+#2% #8%=1'0%).%)%COMPOSITE%+.%(+:(,>%<.'8<,Z%+1%0"#*+6'.%1('%/) 0 ) Q +,+1> %#8%$) 2 ) :+2 : %=1'0.%
).%#2'%#"%).%)%(+'")"/(>%#8%.'*'"),%(+'")"/(+/),%=1'0.S%
!"#$%&'()*+#"),%-'./"+01+#2%1#%3%4)11'"25&).'6%7#6',%8#"%921',,+:'21%;<1#"+2:%=>.1'$.W%4):'%5%b%
;).R=','/1#"J% ;).R!)/1#">J% 3..'..#"J% )26% 4'6):#:+/),7#6<,'% +$0,'$'21% 1('% STRATEGY% 0)11'"2% 1()1%
0'"$+1% <.% 1#% 6'8+2'%),:#"+1($.J% '2/)0.<,)1'% 1('$J% ) 26 % $)R'% 1('$% +21'"/()2:')Q ,'S% % STRATEGY% 0)11'"2%
,'1.%1('%),:#"+1($%*)">%+26'0 ' 26 '2 1 ,>%#8%1('%/,)..'.%1()1%<.'%+1S%9$0,'$'21+2:%)%2'P%P)>%1#%.','/1%)%;).RJ%
/"')1'%)%;).RJ%$)2):'%1('%G')"2'"7 #6',J%#"%0"#*+6'%I',0%1#%1('%.1<6'21%/)2%Q'%6#2'%Q>%#2'%6'*',#0'"%P(#%
2''6.%2#%R2#P ,'6:'%)Q#<1%1('% 0"#Y'/1%)1%),,Z% 1('%6'*',#0'"% Y<.1%2''6.% 1#%8#,,#P%1('%0)11'"2% 1#W%TXU% /"')1'%)%
2'P%/,)..%1()1%+$0,'$'21.%1('%/#""'.0#26+2:%+21'"8)/'Z% T[U%+$0,'$'21%)1% ,').1%1('%),:#"+1($%$'1(#6Z% )26%
T]U%/"')1'%).%$)2>%)66 +1+#2),%$'1(#6.%)26g#"%)11"+Q<1'.%).%2''6'6S%
;).R=','/1#"%#Q1)+2.%+28#"$)1+#2%8"#$%3..'..#"J%P(+/(%).%P',,%).%4'6):#:+/),7#6<,'%#Q1)+2.%+28#"$)1+#2%
8"#$% =1'032),>K '"S% ;('% / #2 / '0 1% #8% m#Q.'"*+2:n% 6'./"+Q'.%1('% "',)1+#2.(+0%)26% /,')",>% +6'21+8+'.% (#P% 1('%
.1"</1<"'% #8% /#$ $ <2+/)1+#2 % $<.1% Q'% +$0,'$'21'6% T$'1(#6.% )26% )11"+Q<1'.US% % 91% +.% ').>% 1#% 2#1+/'% P(+/(%
/#$0#2'21%2''6.%+28#"$)1+#2%8"#$%P( +/(%#1('"%/#$0#2 '21S%
%
]S]S%9$0,'$'21)1+#2%
92/,<6+2:% .1"</1<"'% )26% 8<2/1+#2),+1>% 1('% /<""'21% .>.1'$J% 6'*',#0'6% +2% ?)*)J% +.% 8#"$'6% Q>W% X`% 0)/R):'.Z% e[%
/,)..'.Z% dfe% $ '1(#6.Z% d]i% )11"+Q<1'.Z% [[Jf]f% ,+2'.% #8% /#6'Z% XJXc`% "'*+.+#2.% $)+21)+2'6% +2% )% "'*+.+#2% /#21"#,%
.>.1'$%T=@EU%/"')1'6 %Q'1P ''2 %?<,>% [``b %)2 6%?<,>%[`XX%P+1(%)%.(+81+2:%6'*',#0$'21%1')$%#8%2+2'%0 "#:")$$'".%
T$)+21)+2+2:% )% 1')$ % #8% 1P#% 0"# :")$ $ ' ".% )1% )% 1+$' J% P+1(% )2% )*' "):' % #8% .+\% $#2 1(.% #8% 0'"$ ) 2'2 />U% )2 6% 1P #%
"'.+6'21%.#81P)"'%'2: +2''".Z%i%*'".+#2.%"',').'6 %1#%/,+'21.Z%)26%Xf`%<.'".%P #"R+2 :%P+1(%1('%.>.1'$J%P (# %()*'%
Q''2%(+:(%./(##,% .1<6'21.% )26% <26'":")6<)1'%.1<6'21.% 0)"1+/+0)1+2:%+2% 8#<"% .<$$'"5 /) $0 % /#< ".'.% )2 6% 1P#%
<2+*'".+1>%/#<".'.%)1%3"+K#2)%=1)1'%L2+*'".+1>S%
!
;('%+$0,'$'21)1+#2%#8%1('%=1")1':>%/,)..'.%+2/,<6'6W%
%
=1")1':>;).R=','/1#"%+21'"8)/'%+$0,'$'21'6%+2%='V<'2/+),;).R=','/1+#2%/,)..S%%='V<'2/+),;).R=','/1+#2%
/,)..%6'8+2'.%)%.1")1':>%1()1%0"'.'21.%;).R.%1#%1('%.1<6'21%+2%)%0"'6'8+2'6%.'V<'21+),%#"6'"S%
=1")1':>;).R!)/1#">%+21'"8)/'%+$0,'$ '2 1 '6 %+2 %;).R!"#$B'0#.+1#">%/,)..S%;).R!"#$B'0#.+1#">%/,)..%
6'8+2'.%)%.1")1':>%1()1%"'/ #*'" . %;).R.%8"#$%1'\1%8+,'.S%
E#%.1")1':>%+$0,'$'21'6%8#"%3..'..#"J%1(+.%/#$0#2'21%+.%.1+,,%)2%#2:#+2:%0)"1%#8%1('%0"#Y'/1S%
=1")1':>4'6):#:+/),7#6<,'%+21'"8)/'%+$0,'$'21'6%+2%H#26+1+#2),4'6):#:+/),=1")1':>%/,)..S%
H#26+1+#2),4'6):#:+/),=1")1' :> %/,) ..%6 '8+2 ' .%)%.1")1':>%+2%P(+/(J%/#26+1+#2),,>J%1(' %0"'.' 2/'%#8%/'"1) +2%
'*'21.%#"%)/1+#2.%8"#$%1('%.1<6'21%,)<2/('.%0"'5'.1)Q,+.('6%"'.0#2.'.S%%
%
;('.'%/,)..'.J%P(+/(%+$0,'$' 21 % =1")1':>%+21'"8)/'.J%)"'%2#1%.(#P2%+2%!+:<"'%]%6<'%1#%.0)/'%,+$+1)1+#2.S%
%
B':)"6+2:%1('%;##,%/#$0#2'21J%;##,%+.%)%8)/)6'%8#"%)2% '2*+"#2$'21%+2%P(+/(%1('%.1<6'21%+.%)Q,'% 1#%,')"2%
)Q#<1%.>.1'$.%6>2)$+/%$#6',+2:J%<.+2:%)%:")0(+/),%"'0"'.'21)1+#2S%A)/(%$#6',%+.%)%6+"'/1'6%:")0(%8#"$'6%Q>%
2#6'.% )26% '6:'.S% ;('% '6:'.% +26+/)1'% 8,#P% #8% 2<$'"+/% +28#"$)1+#2% Q'1P''2% 2#6'.% )26% 1('% 2#6'.% "'0"'.'21%
*)"+)Q,'.S%3%2#6'%'2/)0.<,)1'.%)%*)"+)Q,'a.%*),<'%).%)2%),:'Q")+/%/#$Q+2)1+#2%#8%1('%2<$Q'".%/#$+2:%+21#%#"%
:#+2:%#<1%#8%+1%*+)% '6:'.S%=1<6'21.%"')6% 1'\1%6'./"+Q+2:%1('%0"#Q,'$J%)26%1('2% 6'8+2'%2#6'.%)26%'6:'.J%'21'"%
*),<'.%#"%'V<)1+#2.%+2%')/(%2#6'J%"<2%1('%$#6',%)26%/#$0)"'%+1.%0"'6+/1+#2.%1#%:+*'2%8)/1.S%98%)2>%#8%1('%$#6',a.%
0"'6+/1+#2.%+.%8),.'%T" '0 "' .' 2 1'6 % P+1(%"'6 %/#,#".%).% 8''6Q)/R UJ%. 1< 6' 2 1.% $<.1%6 'Q < : %1('%$#6 ' ,S%= 1< 6 '2 1.%),.#%
/)2%).R%8#"% 8''6Q )/R%Q>%/('/R+2:%1('+"% $ #6',%)1%')/(%.1'0 %Q'8#"'%"<22+2:%1( '%$#6',%T@)2G'(2 %[`XXUS%!+:<"'%f%
.(#P.%1('%+$0,'$'2 1)1+#2%#8%1('%;##,%/#$0#2'21S%;##,%/#$0#2'21%/#2.+.1.%#2%)%H)2*).%+2%P (+/(%)%C")0(%+.%
6")P2S% 3% C")0(% +.% /#$0#.'6% Q>% 2#6'.% T@'"1'\'.U% )26% ,+2R.% TA6:'.U% 1()1% /# 22' /1% 1( '% 2#6'.S% A ) / ( % @'"1'\%
$)+21)+2.% )%"':+.1'"%#8%),,% *'"1'\'.%:#+2:% #<1%)26% +2S%A)/(%A6:'%$)+21)+2.%6)1)%#8%1('% @'"1'\% +2%P(+/(%+1%.1)"1.%
)26% '26.S% @'"1'\'.J% A6:'.J% )26% C")0(% /)2% Q'% .','/1'6% 8"#$% 1('% H)2*).% )26% Q'% $)2+0<,)1'6% T6"):% )26% 6"#0J%
6','1'6J%)26%.#%#2US%%
%
!"#$%&'()*+#"),%-'./"+01+#2%1#%3%4)11'"25&).'6%7#6',%8#"%921',,+:'21%;<1#"+2:%=>.1'$.W%4):'%5%X`%
!+:S%fS%L7G%/,)..%6+):")$%.(#P+2:%1('%;##,%/#$0#2'21%'2/)0.<,)1'6%+2%1('%$#6',%).%;##,S%
%
4. Aq4AB9AEHA%BA4DB;%3E-%A@3GL3;9DE%
92% 1( +.%.'/ 1+#2 %P '%P +,,%6 './"+Q '%# <"%'\0'"+'2/'% <.+2:%6'.+:2%0)11'"2.%1#%/"')1' %)2%9; =%$#6',%)26%+$0,'$'21+2:%
+1%1#%/"')1'%1( '%37;%.#81P)"'%0"#Y'/1S%%
%
=1)R'(#,6'".%$'21+#2'6%1('%8#,,#P+2:%8)*#")Q,'%V<),+1+'.W%%
%
Incremen ta l! d ev elo p m e ntS% &<+,6+2:% 1( '% 3 7 ;% 0 "#Y'/1% +2% )2% +2/"'$'21),% P)>% #*'"% 1('% /#<".'% #8% 1("''%
>')".%),,#P'6%<.%1#%0)"1+1+#2%1('%+$0,'$'21)1+# 2 % # 8%2'P%8<2/1+#2 ) ,+1 >%+21#% 6 +./ "'1 '%1).R.%1()1% P'"'%P#"R'6%
#2% +26'0'26'21,>% 8"# $% #1('".J% 1('"'8#"' J% "' 6</+2 :% 1(' % 1+$'% #8% 6'0,#>$'21% )66+2:% 0"#:")$$'".% +2%
0)"1+/<,)"%$#$'21.%#8% 1('%0"#Y'/1S%92 /"' $ '2 1),%6'*',#0$ '2 1%),,#P.%<.% 1# %0"#*+6'%)%2'P%8<2/1+#2 ) ,+1> %#"%)%
2'P%*'".+#2%#8%)%/<""'21%8<2/1+#2),+1>%+2%)%P+26 # P %1+$'%#8%1P# %#" %1( "' '%P''R.S%
Shifting! d evelopment!teamS%4"#: " ) $$'". J%'*'2 %P+1(#< 1%R2#P,'6:' %#8%0 )11'"2 .J%P'"'%)Q,'%1#%8#/<.%1('+"%
)11'21+#2% #2% 1('% "'V<+"'$'21.% )..+:2'6% 1#% 1('$Z% ')/(% 0"#:")$$'"% P#"R'6% #2% /#$0,'1+2:% )% .0'/+8+/%
$#6<,'%#"%.'1%#8%/#$0#2'21.%T6'8+2'6%).%)%0)11'"2%.'/1+#2U%)26%"',)1+#2.(+0.%Q'1P''2%/#$0#2'2 1.%P'"'%
),$#.1%'21+"',>%6'8+2'6%Q>%0)11'"2.S%O'%<.'6%=<Q*'".+#2%TH#,,+2.5=<..$)2%[ ``fU%1#% $)+21)+2%)%/#$$#2%
"'0#.+1#">%#8%1('%0"#Y'/1%).%)%1##,%1#%.<00#"1%Q")2/(+2:%)26%$'":+2:%0"#/'..'.S%
CommunicationS% =+2/'% 6+*'".'% .1)R'(#,6'".% .</(% ).% "'.')"/('".% +2% '6</)1+#2% 1'/(2#,#:>J% /#$ 0<1'"%
./+'21+.1.J%6'*' ,# 0'".J%)26%+2.1"</1+#2),%6'.+:2'".%P'"'%+2*#,*'6 J% 6'.+:2%0)11'"2.%(',0'6%<.%):"''%#2%1( '%
.1"</1<"'% #8% 1('% .>.1'$% )26% /#$ $ <2+/)1'% +1% 1#% 1('% 0"#:")$ $ '".% 8#"% ')/(% +26+*+6<),% /#$0 #2'2 1% +2% 1('%
0"#Y'/1S%;('%<.'%#8%0)11'"2%2)$'.%.</(%).%FACTORY%)26%STRATEGY%().%Q''2%)6#01'6%).%)2%)Q.1")/1%P)>%
1#% "' 8'"% 8<2/1+#2),+1+'.% Q'1P''2% .1)R'(#,6'".S% ;( '% 2)$'.% (+6'% /#$0,'\+1>% 8"#$% 2#256'*',#0'".S% E#25
6'*',#0'".%)..<$'%)2%').>%1(+2:% $ <.1% Q'% 6#2 'J%)26%0"#:")$$'".%()*'% )% Q'11'"%+6')% )Q#<1% 1('% Q#<26)"+'.%
#8%/()2:'.J%Q<:.J%)26%2'P%"'V<+"'$'21.S%
%
I#P'*'"J%.#$'%6+.0<1'.%'$'":'6%P+1(%.1)R'(#,6'".%"':)"6+2:%1('%8#,,#P+2:W%
%
SizeS% =1)R'(#,6'".% 0#+21% 1#% 1('% +2/"') .' % +2% .+K'% #8% /#6'% P(+,'% < .+2:% 0)11'"2.% ).% )2% +..<'S% O(+,'% <.+2:%
0)11'"2.% :'2'")1'.% $#"'% /#6'% +2 % #<"% 0"#Y'/1J% 1(+.% +.% 2#1% #2,>% 6<'% 1#% 0)11'"2.% T+21'"8)/'.% )26% )Q.1")/1%
/,)..'.%6'/,)")1+#2.UJ%Q< 1%),.#%Q'/)<.'%P'%6'/+6'6%1#%$)+21)+2%1('%/>/,# $ )1+/%/#$0,'\ +1>%T7/H)Q '%XbdeU%
!"#$%&'()*+#"),%-'./"+01+#2%1#%3%4)11'"25&).'6%7#6',%8#"%921',,+:'21%;<1#"+2:%=>.1'$.W%4):'%5%XX%
8#"% '*'">% $ '1( # 6% < 2 6 '"% X ` J% P (+/ (% $')2.%)00,>+2:% )% m6+*+6'% )26% /#2V<'"n%.1")1':>%1()1% :'2'")1'.%$#"'%
$'1(#6.%+2%1('%.>. 1' $ S %
Deployment! TimeS% =+2/'% +2% ')/(% +1' ") 1 +#2 % #<"% 8+".1% .1'0% 8#/<.'6% #2% 1(' % 6'.+:2% 6'8+2+1+#2% T0)11'"2.UJ%
.#81P)"'%0"#1#1>0'.%6',)>'6%+1.%)0 0') ")2/'S%&<1%#2/'%1('%8+".1%0"#1#1>0'%P).%0"'.'21'6J%2'P%0"#1#1>0'.%
'$'":'6%V<+/R'"%1()1%+2%0"'*+#<.%0"#Y'/1.S%%
%
!+2),,>J%6'*',#0'".%$'21+#2'6%1('%8#,,#P+2:%8)*#")Q ,'%V< ),+1+'.W%
%
CollaborationS% = ( ) " +2:%/#2.1"</ 1 +# 2.%Q'1P''2 %6'*' , # 0 ' " .%P). %)%R'>%','$'2 1 %1#%/#<21 ' "Q),)2/ ' %1('%'88'/1%
#8%)%/#2.1)21%.(+81%+2%1('%0'#0,'%+2%1('%6'*',#0$'21%1')$S%%
ProductivityS%='*'"),%0"#1#1>0'%*'".+#2.%#8%1('%0"#Y'/1%P'"'%/"')1'6%1#%1'.1%2'P%#01+#2.%#8%8<2/1+#2),+1>%).%
P',,%).%2'P%0'6):#:+/),%)00"#)/('.S%%
Abstraction.%4"#*+6+2:%)%m/#21"#,,'6n%8"''6#$%1#%1('%0"#:")$$'".%<.+2:%0)11'"2.%).%1('% :<+6',+2'.%#8%)%
6'8+2'6%6'.+:2%P).%(+:(,>%"','*)21%1#%()26,'%/()2:+2:%)26%+2/"'$'21),%"'V<+"'$'21.S%
%
5. HDEHGL=9DE=%3E-%DECD9EC%ODBN %
7)2>%)<1(#".%/,)+$%1()1%1('+"%9;=%8#,,#P%)%.#81P)"'%)"/(+1'/1<"'%Q'/)<.'%1('>%/)2%+6'21+8>%/#$0#2'21.%)26%
"',)1+#2.(+0.%)$#2 :%1( '.'%/#$0#2'21.%+2.+6'% 1('+"%.>.1'$.S%I#P' * ' " J% 1(+.%6# ' . % 2#1%$')2% 1()1%. 1) 26)"6% )26%
:##6%0")/1+/'.J%.</(%).%6'.+:2%0)11'"2.J%()*'%Q''2 %8#,,#P'6S%O'%1##R%)6*)21):'%#8%1('%:"#P+2:%'\0'"+'2/'%+2%
1('%8+',6%#8%.# 81P )"'%6'.+:2%0)11'"2.%1#%Q#1(%6 '.+:2%)26%+$0,'$'21%)2%9;=%$#6',%+2 %)%0)11'"25Q).'6%)00"#)/(S%
300,>+2:% 6'.+:2% 0)11'"2.% P).% <.'8<,% 1#% /"')1'% )% (+:(5V<),+1>% .#81P)"'% .#,<1+#2% 1()1% +.% ').>% 1#% $)+21)+2% )26%
'\1'26S% -'.+:2+2:% P+1(% V<),+1>% )11"+Q<1'.% ).% 6"+*'".% ().% "'.<,1'6% +2% )% 6'.+:2% 1()1% ().% 0"#*'2% 1#% Q'% $#"'%
"'<.)Q,'J% '\1'2.+Q,'J% )26% )6)01)Q,'S% L. +2 :% 6'.+:2% 0)11'"2.% +$0"#*' 6% #<"% /#$$<2+/)1+#2J% /#,,)Q#")1+#2J% )26%
0"#6</1+*+1>S%-' . +: 2 %0)11'"2.%8) /+,+1 )1' %1('%R2#P,'6:'%1")2.8'"%)/"#..%)%(+:(,>%.(+81+2:%6'*',#0 $' 21%1')$ %)26%
1(<.% 1('% 6'*' ,#0$ ' 21% #8% 1('% .>.1'$ J% P('"'% 1('% /"')1+#2% #8% 2'P% *'".+#2.% #"% *)"+)21.% #8% 1('% .#81P)"'% P).%
"',)1+*',>% ') .>% +2% 1'"$.% #8% 1+$'% )26% '88#"1S% 366+2:% 6'.+:2% 0)11'"2.% +2% 1('% 6'*',# 0 $'21% #8% 9;=% ) ,,# P'6% <.% 1#%
/"')1'%)%/#$$#2%*#/)Q<,)">%)$ #2:%.1)R'(# ,6'".J%$)R+2:%1('%0"#/'..%$#"'%)//<")1'%)26%'88'/1+*'%6'.+:25P+.'S%
O'%)00,+'6%#<"%$#6',%1#%Q<+,6%.'*'"),%*)"+)21.%#8%1('%37;%.>.1'$%+2%1("''%>')".%#8%P#"RJ%P+1(%)%(+:(%")1'%#8%
/()2:'.%+2%"'V<+"'$ '21.%8#"%1('%0"#6< /1%)26%)%(+:(%.(+81+2:%6 '*',#0$ '2 1%1')$S%92%#1('" %P # "6 . J%P ' %()* ' %Q' ' 2 %
)Q,'%1#%/"')1'%)%8)$+,>%#8%37;.%)"# < 26 %1( '%.) $ ' %6' .+: 2S%%
!<1<"'%"'.')"/(%P+,,%8#/<.%#2%1P #%)66+1+#2.W%1('%8+".1%#2'%P+,,%Q'%1('%+2/,<.+#2%#8%)%$#6<,'%8# "%/#$0) 2+# 2 .%1#%
0"#*+6'%.<00#"1%8#"%1('%.1<6'21%.< /(%).%,')"2 +2: %/#$0)2+#2 .J%)88'/1+*'%/ #$0)2+#2. J%)26%1')/()Q,'%):'21.J%)26%
1('%.'/#26%#2'%P+,,%Q'%1('%+2/,<.+#2%#8%$'1)51<1#"+2:%/#$0#2'21.S%
%
BA!ABAEHA=%
37;%5%388'/1+*'%7'1)%;<1#"S%[`X[S%3"+K#2)%=1)1'%L2+*'".+1>S%(110Wgg)$1S).<S'6<S%
%
326'".#2J%?S%BSJ%H#"Q'11J%3S%;SJ%N#'6+2:'"J% NS%BSJ%)26%4',,'1+'"J%BS%XbbcS%H#:2+1+*'%;<1#".W%G'..#2.%G')"2'6S%Journal(of(the(Lea rnin g(SciencesJ%
fT[UJ%Xed5[`dS%
%
&)R'"J% BS% =S% ?S% -SJ% 6'% H)"*),(#J% 3SJ% B).0)1J% ?SJ% 3,'*'2J% @SJ% H#"Q'11J% 3S% ;SJ% )26% N#'6+2:'"J% NS% BS% [``bS% % A6</)1+#2),% .#81P)"'% 8')1<"'.% 1()1%
'2/#<"):'.%)26%6+./#<"):'%m:)$+2:%1('%.>.1'$nS%92%Proceedings(of(the(International(Conference(on(Artificial(Intelligence(in(EducationS%9D=%
4"'..S%
%
&##/(J%CSJ%7)R.+$/(<RJ%BSJ%A2:,'J%7SJ%M#<2:J%&SJ%H#2),,'2J%?SJ%)26%I#<.1#2J%NS%[``dS%Object<Oriented(Analysis(and(Design(with(ApplicationsJ%
;(+"6%A6+1+#2S%366+.#25O'.,'>%4"#8'..+#2),S%
%
&<./($)22J% !SJ% 7'<2+'"J% BSJ% B#(2'"1J% ISJ% =#$$'",)6J% 4SJ% )26% =1),J% 7S% XbbeS% A( system( of( patterns:( Pattern<oriented( software( architectureS%
O+,'>S%
%
H#,,+2.5=<..$)2J%&SJ%!+1K0)1"+/RJ%&S%OSJ%)26%4+,)1#J%HS%7S%[``fS%Version(control(with(subversionS%DaB'+,,>%7'6+)J%92 / S%%
%
-'*'6K+/J%@S%)26%I)""'"J%3S%[``cS%=#81P)"'%4)11'"2.%+2%9;=%3"/(+1'/1<"'.S%International(Journal(of(Artificial(Intelligence(in(EducationJ%Xc J%[%
T30"+,%[``cUJ%e]5bfS%
%
!"#$%&'()*+#"),%-'./"+01+#2%1#%3%4)11'"25&).'6%7#6',%8#"%921',,+:'21%;<1#"+2:%=>.1'$.W%4):'%5%X[%
C)$$)J%ASJ% I',$J% BSJ% ?# ( 2 . # 2 J% BSJ%)26% @,+..+6' . J% ?S%XbbcS% Design(Patterns:(Elements(of( Reusable(Object<Oriented(SoftwareS%3 6 6 + .# 2 5O'.,'>%
G#2:$)2%4<Q,+.(+2:%H#SJ%92/SJ%&#.1#2J%73J%L=3S%
%
C)$$)J% ASJ% I',$J% BSJ% ?#(2.#2J% BSJ% )26% @,+..+6'.J% ?S% [``[S% -'.+:2% 4)11'"2.W% )Q.1")/1+#2% )26% "'<.'% #8% #QY'/15#"+'21'6% 6'.+:2S% In( Softwa re(
pioneersS%7)28"'6%&"#>%) 2 6 %A " 2 . 1%-'2'"1%TA6.SUS%= 0 " +2 : ' "5@'",):%E'P%M#"RJ%92/SJ%E'P%M#"RJ%EMJ%L=3%d`X5dXdS%
%
C")'..'"J%3S%HSJ%G<J%=SJ%?)/R.#2J%CS%;SJ%7+1/(',,J%IS%ISJ%@'21<")J%)26%7SJ%D,2'>J%3SJ%G#<P'".'J%7S7S%[``fS%3<1#;<1#"W%3%1<1#"%P+1(%6+),#:<'%+2%
2)1<"),%,)2:<):'S%Behavioral(Research(Methods,(Instruments(and(ComputersJ%]eJ%Xi`5Xb]S%
%
9AAAS%XbbbS%Standard(Glossary(of(Software(Engineering(TerminologyS(eX`SX[5Xbb`J%@#,SXS%9AAA%4"'..S%
%
?)/#Q.#2J%9S%XbbdS%Software(Reuse:(Architecture,(Process(and(Organization(for(Business(SuccessS%366+.#25O'.,'>%4"#8'..+#2),S%%
%
N)1KJ%=SJ%G'.:#,6J%3SJ%I<:('.J%ASJ%4'1'".J%-SJ%A::)2J%CSJ%C#"6+2J%7SJ%)26%C"''2Q'":SJ%GS%XbbiS%=('",#/R%[W%32%+21',,+:'21%1<1#"+2:% .>.1'$%Q<+,1%
<0#2% 1('% GB-H% ;<1#"% !")$'P#"RS% 92% HS% 4S% &,##$% r% BS% &S% G#81+2% TA6.SUJ% Facilitating( the( development( and( use( of( interactive( learning(
environmentsS([[d5%[ciS%
%
7/H)Q'J%;S%XbdeS%3%/#$0,'\+1>%$').<"'S%IEEE(Trans.(Software(En ginee ringJ%cJ%fcsc`S%
%
7+1"#*+/J%3S%[``]S%32%+21',,+:'21%=lG%1<1#"%#2%1('%P'QS%International(Journal(of(Artificial(Intelligence(in(Edu cationJ%X ] T [ 5fUJ%Xbd5[f]S%
%
E',.#2J%&S% HS%[``dS%% A\0,#"+2:%1('% <.'% #8%+26+*+6<),+K'6J%"'8,'/1+*'%:<+6)2/'%+2% )2%'6</)1+#2),%$<,1+5<.'"%*+"1<),% '2*+"#2$'21S% Journal( of(
Science(Education(and(TechnologyJ%XeTXUJ%i]5bdS%
%
@)2G'(2J% NS%[``eS%;('%&'()*+#"%#8%;<1#"+2:%=>.1'$.S%International(Journal(of(Artificial(Intelligence(in( E du catio nS%@#,<$'%XeJ%9..<' %]J% 4): '.%
[[d5[ecS%9D=%4"'..S%
%
@)2G'(2J%NSJ% G>2/(J% HSJ%=/(<,1KJ% NSJ% =()0+"#J%?S%3SJ% =(',Q>J%BS%ISJ%;)>,#"J% GSJ%%;"')/>J%-SJ% O'+2.1'+2J%3SJ% )26%O+21'".:+,,J%7SS% [``cS% ;(' % 3 2 6 ' . %
0(>.+/.%1<1#"+2:%.>.1'$W%G'..#2.%,')"2'6S%International(Journal(of(Artificial(Intelligence(in(EducationJ%XcT]UJ%Xfd5[`fS%%
%
@)2G'(2J%NSJ%&<",'.# 2 J%OSJ%H()*'K5A/('):)")>J%7SASJ%H("+.1#0('".#2J% BSJ%C#2K),'K5=)2/('KJ%?SJ%I).1+2:.J%?SJ%I+6),:#54#21'1J%MSJ%)26%F()2:J%GSS%
[`XXS%;('%388'/1+*'%7'1)5;<1#"+2:%4"#Y'/1W% I#P%1#%$#1+*)1'% .1<6'21.%1#%<.'%'88'/1+*'%$'1)5/#:2+1+*'%.1")1':+'.S%;S%I+").(+$)%'1%),S%TA6.SUS%
92%Proceedings( of(the(19th(International(Conference( on(Computers(in(EducationS%H(+)2: %7)+J%;()+,)2 6 W%3.+)54)/+8+/% =#/+'1>%8#"%H#$0< 1'".%+2%
A6</)1+#2S%
%
@>:#1.R>J%GS%=S%XbdiS%Mind(in(Society:(The(Development(of(Higher(Psychological(ProcessesS%H)$Q"+6:'J%73W%I)"*)"6 %L 2+*'".+1>%4"'.. S%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
4G#4jXXJ%D/1#Q'"%[X5[]J%4#"1,)26J%D"':#2J%L=3S%H#0>"+:(1%[`XX%+.%(',6%Q>%1(' %) < 1( # "T.U S%3H 7%bdi5X5fc`]5X[i]5d%
... om learners. @BULLET The communication module is required for content presentation and the capture of learning data in the course of interacting with the ITS. For implementation, a layered, 3-tier architecture has turned out to be effective. It is based on the user interface on top of a middle layer, termed the core, on top of a knowledge base (cf.Gonzalez-Sanchez et al., 2011p3ff): 1. 'The knowledge base (KB) includes data structures and databases responsible for putting into the computer system the information instructed by the ITS. The process of putting data in KB is called " authoring ". Authoring involves a human expert interacting with an authoring tool to provide this knowledge.' 2. The 'user interfac ...
Article
Although a large number of e-learning systems for individual learning support exist today, many of them still deal with pedagogical issues in an isolated way. In contrast, intertwining interactive system features with educational concepts allows pedagogical designs that may be considered according to their educational rationale. However, pedagogical approaches also do not provide requirements for technologies; they rather consider tools and features as predefined design parameters. Taking an interoperability point of view allows focus on the interaction between the pedagogical and the technological systems. By interpreting technology and didactic approaches as systems and ensuring their interoperability, educators are able to adapt learning experiences and technological features in a way that the overall learning system becomes personalized. A key element of the described work is an architecture that captures the design elements from both progressive education focusing on individual learning support, and the enabling web-based e-learning technologies.
... Esto da un componente adicional, fundamental y que todos los alumnos y docentes buscan en los claustros educativos: la motivación. Existe evidencia de que un ambiente de RV que utiliza componentes tecnológicos de inmersión para el aprendizaje motiva y estimula al estudiante, le permite conocer o reafirmar procesos y conceptos abstractos que difícilmente comprende cuando no los ve [11]. Es en el ámbito educativo en donde la RV puede jugar un papel importante como apoyo en los procesos enseñanza/aprendizaje de las matemáticas [17]. ...
Conference Paper
Full-text available
Este trabajo presenta el diseño, implementación y validación funcio-nal de un prototipo software basado en Realidad Virtual semi-inmersiva para la enseñanza del cálculo multivariado y vectorial en estudiantes de ingeniería. El prototipo contiene una serie de escenarios (salones) con ejemplos de conceptos de dicho curso. Los escenarios son visualizados usando smartphones con siste-ma operativo Android y Cardboards (gafas estereoscópicas de bajo costo). Para evaluar el producto final, se realizaron varias intervenciones con estudiantes de Ingeniería Civil e Ingeniería de Sistemas y Computación de la Universidad del Quindío aplicando un test Likert. Las pruebas experimentales arrojaron resulta-dos que presentan un alto grado de confiabilidad y aceptación por parte de estu-diantes. 1 Introducción La Realidad Virtual (RV), la Realidad Aumentada (RA) y sus variaciones representan técnicas de interfaces de usuario que tienen en cuenta el espacio tridimensional. En estas interfaces, el usuario actúa de manera multisensorial, explorando sus aspectos a través de la visión, el oído y en ocasiones, el tacto [15]. En un contexto educativo, las técnicas la RV brindan experiencias para los educandos tan significativas como las que se viven en la realidad [8]. Esto da un componente adicional, fundamental y que todos los alumnos y docentes buscan en los claustros educativos: la motivación. Exis-te evidencia de que un ambiente de RV que utiliza componentes tecnológicos de in-mersión para el aprendizaje motiva y estimula al estudiante, le permite conocer o reafirmar procesos y conceptos abstractos que difícilmente comprende cuando no los ve [11]. Es en el ámbito educativo en donde la RV puede jugar un papel importante como apoyo en los procesos enseñanza/aprendizaje de las matemáticas [17]. En los últimos años y principalmente en los países desarrollados, la RV ha ganado presencia en la educación como un enfoque alternativo a las experiencias de aprendizaje tradi-cionales [1]. Actualmente se clasifican los entornos virtuales en 3 categorías denominadas RV no inmersiva, semi-inmersiva e inmersiva. La primera de ellas consiste en la interac
... A production-rule system and a third-party implementation of emotion recognition algorithms were used to support the application development. A detailed description of moving from AMT system architecture to software design is outside the scope of this paper due to space limitations; nevertheless, a description of mapping the ITS module to a software design can be found in [9]. The four-year implementation process was managed using a revision control system and comprises 1,643 revisions and 8 released versions. ...
Conference Paper
Full-text available
Intelligent Tutoring Systems (ITSs) constitute an alternative to expert human tutors, providing direct customized instruction and feedback to students. ITSs could positively impact education if adopted on a large scale, but doing that requires tools to enable their mass production. This circumstance is the key motivation for this work. We present a component-based approach for a system architecture for ITSs equipped with meta-tutoring and affective capabilities. We elicited the requirements that those systems might address and created a system architecture that models their structure and behavior to drive development efforts. Our experience applying the architecture in the incremental implementation of a four-year project is discussed.
Conference Paper
بيئة تعلم الكترونية قائمة على الفصل المعكوس وأثرها في تنمية مهارات مقرر الحاسب الآلي لدى طلاب المرحلة الإعدادية
Chapter
Although a large number of e-learning systems for individual learning support exist today, many of them still deal with pedagogical issues in an isolated way. In contrast, intertwining interactive system features with educational concepts allows pedagogical designs that may be considered according to their educational rationale. However, pedagogical approaches also do not provide requirements for technologies; they rather consider tools and features as predefined design parameters. Taking an interoperability point of view allowsfocus on the interaction between the pedagogical and the technological systems. By interpreting technology and didactic approaches as systems and ensuring their interoperability, educators are able to adapt learning experiences and technological features in a way that the overall learning system becomes personalized. A key element of the described work is an architecture that captures the design elements from both progressive education focusing on individual learning support, and the enabling web-based e-learning technologies.
Article
This paper describes Dragoon, a simple intelligent tutoring system which teaches the construction of models of dynamic systems. Modelling is one of seven practices dictated in two new sets of educational standards in the U.S.A., and Dragoon is one of the first systems for teaching model construction for dynamic systems. Dragoon can be classified as a step-based tutoring system that uses example-tracing, an explicit pedagogical policy and an open learner model. Dragoon can also be used for computer-supported collaborative learning, and provides tools for classroom orchestration. This paper describes the features, user interfaces, and architecture of Dragoon; compares and contrasts Dragoon with other intelligent tutoring systems; and presents a brief overview of formative and summative evaluations of Dragoon in both high school and college classes. Of four summative evaluations, three found that students who used Dragoon learned more about the target system than students who did equivalent work without Dragoon.
Article
Constructing models of dynamic systems is an important skill in both mathematics and science instruction. However, it has proved difficult to teach. Dragoon is an intelligent tutoring system intended to quickly and effectively teach this important skill. This paper describes Dragoon and an evaluation of it. The evaluation randomly assigned students in a university class to either Dragoon or baseline instruction that used Dragoon as an editor only. Among students who did use their systems, the tutored students scored reliably higher (p < .021, d = 1.06) on the post-test than the students who used only the conventional editor-based instruction.
Article
Full-text available
Meta-tutoring applies the basic policies of interactive tutoring to get students to adopt effective meta-cognitive strategies. Unfortunately, when the meta-tutor is removed, students often revert to using ineffective strategies. This paper is an early report on the progress of the Affective Meta-Tutoring (AMT) project, which will use an affective learning companion to motivate students to more permanently adopt effective meta-cognitive strategies.
Article
Tutoring systems are described as having two loops. The outer loop executes once for each task, where a task usually consists of solving a complex, multi-step problem. The inner loop executes once for each step taken by the student in the solution of a task. The inner loop can give feedback and hints on each step. The inner loop can also assess the student's evolving competence and update a student model, which is used by the outer loop to select a next task that is appropriate for the student. For those who know little about tutoring systems, this description is meant as a demystifying introduction. For tutoring system experts, this description illustrates that although tutoring systems differ widely in their task domains, user interfaces, software structures, knowledge bases, etc., their behaviors are in fact quite similar.
Article
All disasters have their tipping point, the moment at which order finally breaks down and events simply spiral out of control. Do you ever find yourself in projects like that? Are you able to spot that crucial moment? Perhaps it’s when you make “just a couple of changes” and find that you have brought everything crashing down around you (and even worse, you’re not quite sure how to get back to the point of stability you have just destroyed). It could be when you realize that three members of your team have been working on the same set of classes and merrily saving over each other’s work. Or perhaps it’s when you discover that a bug fix you have implemented twice has somehow disappeared from the codebase yet again. Wouldn’t it be nice if there was a tool to help you manage collaborative working, allowing you to take snapshots of your projects and roll them back if necessary, and to merge multiple strands of development? In this chapter, we look at Subversion, a tool that does all that and more.