Information Architecture of Interactive and Customizable Learning Environments Myeongjin Lee Adviser : Geoffrey Fox NPAC Computer and Information Science Syracuse University The Learning Environment • To design a computerized learning environment is interdisciplinary, spanning such areas as HCI, Cybernetics, Cognitive Psychology, Human factor engineering, and education. • Computer scientist is an architect to design/build the house of learning environment, to encompass required functionalities by a customer (a learner and a teacher) The Learning Environment • Computer Science Cybernetics HCI Education Human factor engineering Learning Environment Computer Science Cognitive Psychology Interaction Model (Wegner 1997) • Algorithms vs. Interaction Model • Interactive systems provide history-dependent services over time that can learn from and adapt to experience. • Interaction Machines : Turing machines + input and output actions that support dynamic interaction with an external environment. • Interaction machines to model practical applications! Learning Software and Batteries • Computerized performance evaluation tools - e.g. to measure motor skills, response time. Limited because they can not be changed dynamically and seldom customizable. • Computerized learning tools - ordering customized software is not easy. User performance may change in different ratio according to each user. • Lack of functionalities in observing user events’ flows. The System • Cybernetics (the ancestor of Computer Science) : the nature and concepts of a system. • We use their terms to design computerized learning environment (instrumental learning) based on “real learning process” • Requirements of a successful learning is also applied to the case of instrumental learning. The System The Control System Adaptive Control System • The adaptive control system can change the relation between a user and system to achieve a more specific object as time goes on. • The learning system requires a control of user inputs with adaptive ability. • A learning machine is an advanced instance of an adaptive control system. Teaching Machine • To interact with students in order to teach or aid in their learning • The first teaching machine : S. L. Pressy 1920 – First, it was an automatic test administrator, then “learning” mode was added. • Norman Crowder, and Skinner’s teaching machines • Skinner contended that learning through a programmed environment is more effective. • An adaptive controller can provide flexible model of teaching machine. (above ones are fixed environments) Discrete Event System • A dynamic system whose state space is a discrete set, where the state transition mechanism is event-driven. – A discrete set – an event-driven state transition mechanism • a stochastic discrete event system : a system with timing information and an uncertainty factor regarding event prediction a learning system! An Interactive Customizable Information Architecture for a Learning Environment • Internet : Collection of available and extensible (scalable) components and services. • Information architecture to build and design a learning environment on the Internet. • Also to support “exploratory learning” • The adaptive control system is an abstraction of such architecture. • An architecture can be viewed as an interaction model. Components • Application Server (AS), Server, and Client Application Server • To render custom interfaces – separation of data presentation from its contents • To get user inputs to process – most of the work is processed at the server side. – AS processes the trapped user events and sends them to a server • To update or custom user environments – registration, customization, or update requests from clients – interfaces or protocol to use pre-existing web-based software Server • • • • A Content Server. To communicate with databases To process data from the AS or from a database object repository Client • A user ( the learning environment) • A student or a teacher • Clients generate user events which are tracked and processed at both client and server sides. Services • • • • Our information architecture provides education services AS is the middle tier Content server and database are the back-end Described here are required services at our information architecture for a learning environment • Properties are the requirement of each service. http://www.npac.syr.edu/DC “Full Description of Web Flow and Friends for Education and Science portals” Education Portals • Not one-size-fits-all approach, but customizable objects • Links to other sites/games/softwares can be added/deleted (adaptiveness). • Portal Objects are handled by services of the Information Architecture. Education Portals Continued • Our content-based analysis can be “required / recommended features” to be good education portals. • “Assume that we are building education portals in terms of Distributed Education Objects” (http://www.npac.syr.edu/DC/) • OSS (Nasdaq:WEBB), WebCT, Blackboard.. Services at the Information Architecture Event Service • To track and analyze client inputs or events • User events need to be captured at both client and server sides! – User performance at the learning session – System performance may make user perceive information differently. • Basic functions to analyze crude data at the AS reduce workload at Content server. Data Rendering Service • This service renders different types of data to client’s interface. • Content server or object repository does not have to know the representation of data in the information processing procedure. • The user interface rendered by the AS should have event gathering features to be used by event service. Administrative Service • • • • Registration of users Monitoring of user activity the customization of user environment software module to include pre-existing application into the learning system Content Service • Content Service concerns the repository requirement for different performance tests, batteries, or learning application. • The repository needs to be scalable. • To add new required features should be easy to program. • To be modular in terms of functionalities • Performance test or learning application can well be implemented over such information architecture! Database related service • Connection between the content server and databases Services and their properties An example of interaction among components Conclusion • To transform the Internet into an intelligent learning environment • An AS : customization, rendering data, and tracking user inputs. • Possibly several content servers and the AS architecture provide simple and easy-to-follow 3 tier architecture for interactive learning environment. • The use of XML : easy personalization, presentation of information in richer way. Smart Desk • A web-based interactive learning environment. • Initially designed by Dr. Warner for a patient who was cognitively disabled from early brain seizure. • Also a hardware environment to explore or develop a user’s physical capability. Hardware Interface Example 1 • • • • Track ball for a mouse movement. Graphic Tablet for a mouse movement Other objects with photo sensors Designed by Matt Carbone Hardware Interface Example 2 • Smart Desk Chair designed by Tim Lauring • 8 analog signals from pressure sensors and 12 digital signals from palm mouse. Features • • • • Customizable Adaptive Scalable User tracking mechanism (event detection) Customizable • To choose from list of applications (game, learning software, etc), which are classified as level, subjects.. • Tailoring the learning system’s interface and content feature to the cognitive and learning needs and capacities • Java servlets, HTML, Javascript, Oracle, and JDBC Tracking Examples (Card Game) Tracking Examples (Word Learning) Tracking Examples (Mouse Trajectory) Tracking Examples ( web browser) Tracking and Adaptiveness • • • • Java Classes Javascripts : event Object from Javascript Background Process (e.g. NeatTools by Yuh-Jye Chang) Adaptiveness : Tracked Information is reflected back to the learning environment. SD Information Architecture • Registration and Customization process are conceptually handled by AS. • At SD, Servlets play the role as AS in the above processes between user requests and a content server. User Registration Customization Servlets at AS Regist.. AS Custom.. . . DB Table (User Information) • Create table sd_table{ userid ufname ulname uschool usex umajor unation ucomment uip varchar2, varchar2, varchar2, varchar2, varchar2, varchar2, varchar2, varchar2, varchar2}; Table (Objects’ Information) • Create table object_table{ ID varchar2 name image url a_level field description author_name author_contact varchar2 varchar2 varchar2 varchar2 varchar2 varchar2 varchar2 varchar2}; SD Event Model User SD Client Brower AS CS Data and Event flow at SD Server user client AS CS CS Client-side event • Javascript : easily added to the “head” of any html file for “event” detection of keydown, keyup, mouse move, mouse location, event time, double click, etc. (Mix ‘n match!) • With proper browser detection scheme, it will work at both IE and Netscape. Client-side event Continued • NeatTool : “replay” functionality, using standard MS-windows file type (text file can be parsed for further analysis) • Both needs to send information back to server through web browser or other ways. • Easy and accurate • How user interact with the interface. Event.ntl file for client side event detection Javascript Code for client side event detection • • • • • document.onmousedown=mouse_down; document.onmouseup=mouse_up; document.onkeypress=key_up; document.ondblclick=double_click; document.captureEvents(Event.KEYPRESS|E vent.MOUSEDOWN|Event.MOUSEUP|event.DB LCLICK); Example of Javascript Function function key_up(e){ now = new Date; var keyChar = String.fromCharCode(e.which); var px = e.pageX; var py = e.pageY; var text="<fontcolor=navy>["+now.getHours()+":"+ now.getMinutes()+":"+now.getSeconds()+"]</font >";} Server-side event • Servlets and Perl scripts at AS side, communicate with database, file system, and log files. • User transaction at server side shows time and data information, not how user interacted with interface • Also we can tune the system based on such data. (idea of the web benchmark) Events at SD in XML (DTD) <?XML version=“1.0”?> <!DOCTYPE DOCUMENT[ <!ELEMENT DOCUMENT (USER_SESSION) *> <!ELEMENT USER_SESSION (NAME, DATE, C_DATA_TEXT,C_DATA_TRACK,S_DA TA)> XML CONTINUED <!ELEMENT NAME (LNAME, FNAME)> <!ELEMENT LNAME (#PCDATA)> <!ELEMENT FNAME (#PCDATA)> <!ELEMENT DATE (#PCDATA)> <!ELEMENT C_DATA_TEXT (CLIENT)*> <!ELEMENT CLIENT (S_TIME, DATA,WHICH)> XML CONTINUED <!ELEMENT STIME (#PCDATA)> <!ELEMENT DATA (#PCDATA)> <!ELEMENT WHICH (#PCDATA)> <!ELEMENT S_DATA (SERVER) *> <!ELEMENT SERVER (STIME, DATA, WHICH)> XML CONTINUED <!ELEMENT C_DATA_TRACK (T_FILE?,TITLE)> <!ELEMENT TITLE (#PCDATA)> <!ELEMENT T_FILE EMPTY> <!ATTLIST T_FILE TYPE CDATA “TEXT/PLAIN”> Interactivity • A variable characteristic to describe communication or interactions between (sub) systems. • Interactive learner-centered approach works better than repetition or drilling (Krashen 1981) • Jean Piaget : Learning occurs through the constructive processes of assimilation and adjustment. (not filling empty container with information!) Structure of This Thesis Measurement of Interactivity at an Information Architecture for a Learning Environment • Education, learning theory (instrumental learning), and commercial field’s approach were researched. • Content-based analysis - attractiveness, choice, adjustment, information collection, and off-site contacts. • User transaction data analysis - client and server sides User-transaction record analysis • Benchmark (quantitative data analysis) • Performance of web server or arrangement of hyperlinks affect a user’s navigation patterns. – Perception cycles, processing of visual information, or reaction times of the human being – delay in downloading affect learning too. • Web benchmark : measure raw throughput and the handling capacity, performance statistics of web server. • We want to do the same but focus on user behavior - how they interact within a learning environment How we combine to apply two analyses. • Step 1. Assume a virtual user trajectory • Step 2. Build 2 Personalized SDs in include the trajectory • Step 3. Measure the time and transferred data when a virtual user follows the trajectory. • Content-based analysis is presented by a weighted 2 D graph. Content-based analysis generated by a graph generator written in Java User transaction data analysis • Variables : time taken at each page, at each link, and data transferred. • More links at a page will cause longer “View” time. • The number of links at each page at the virtual path is required to calculate the average time spent to look at links. • View time = the average time spent at links + time taken to read contents of the page • domains of variable: can be various distribution, exponential, logarithmic, or linear. (learning curve) Number of Hits vs. Time • X-axis: time taken to read contents of page – do not include the average time at each link • as x=10, SD is 0.027, P-SD1 is 0.037, and P-SD2 is 0.039. Transferred Data vs. Time (1) • One second per link is assumed. • As x=10, SD is 2400 bytes, P-SD1 is 3500 bytes, and PSD2 is 3300 bytes. • A user takes less time in searching for the path in learning and makes more data/information requests to a server. Transferred Data vs. Time (2) • 1.5 seconds per link is assumed. • Transferred data per second is less here. • Perception capability of each user brings differences in measuring interactivity Total Completion Time • Same tangent of 17.5 A learning curve Y = 100 * ex • 100 is an initial rate. • As the value of x moves 2 to 3, Y value is 738.9 to 2,008.6. Adaptiveness issues • 58.4 % increase in transferred data if we decide to add more subjects to the learner’s environment. Conclusion • A generic web based information architecture for a learning environment has been proposed throughout this paper. • Adaptive control system and discrete event system are used to capture the idea of learning process. • Information Architecture – is proposed to serve required Services for our learning environment at the Internet. Conclusion Continued • Events : any form of operational or data requests/responses among subsystems. • Events at the “interaction machine” allows us to have event model with interaction model paradigm. • Interactive agents have greater questionanswering ability than Turing machine. Conclusion Continued • Interactivity at the information architecture is explored. • From the content-based analysis, we saw how practical “requirements” were reflected and considered in designing a system, e.g., educational requirement were taken care of. • With the client side event detection, we got detailed natures of user-generated events. Conclusion Continued • Server side interaction showed us quantitative data to examine the nature of interaction so we can compare systems or improve the system. • Here we could tell interactive and adaptive system worked better. Conclusion Continued • Proving correctness at an interaction model is to show that components have collection of interfaces corresponding to desired forms of useful behavior. (Wegner 1997) Conclusion Continued • We provided foundation to look at properties of interactions among components. • This empirical ways of measuring interaction based on events will make interaction model richer. Future Work • Modeling and simulation in a real time learning environment • “event queues” in abstracting the system will enable the addition of concepts of sharing events or asynchronous/synchronous events into an information architecture Question? Thanks to... • • • • • • • Dr. Geoffrey Fox - My adviser Dr. Dave Warner Dr. Edward Lipson Matt Carbone Taviare Hawkins Rahul Panesar Yuh-Jye Chang