test authoring tool for demonstration

36
Test Authoring Tool for Demonstration Master’s Project Final Report Submitted in Partial Fulfillment to the Requirements for Master’s Degree in Computer Science By Anushri Kumar SID: 00116146 Email: [email protected] Project Advisor Dr. Irwin B. Levinstein Email: [email protected] 1

Upload: sampetruda

Post on 19-Jun-2015

479 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Test Authoring Tool for Demonstration

Test Authoring Tool for Demonstration

Master’s Project Final Report

Submitted in

Partial Fulfillment to the Requirements for

Master’s Degree in Computer Science

By

Anushri Kumar

SID: 00116146

Email: [email protected]

Project Advisor

Dr. Irwin B. Levinstein

Email: [email protected]

Project Defense Date: Dec 4th, 2006

Department of Computer Science

1

Page 2: Test Authoring Tool for Demonstration

Old Dominion University

Index

Page No

Acknowledgements……………………………………………...3

Background of the Project………………………………………4

Motivations of the Project ……………………………………...8

Introduction…………………………………….……………….9

Project Design…………………………………………………..10

Technologies Used……………………………………………...10

Implementation Details…………………………………………11

Screen Shots…………………………………………………….12

Conclusions……………………………………………………..23

References ……………………………………………………...24

Installation guide………………………………………………..25

2

Page 3: Test Authoring Tool for Demonstration

ACKNOWLEDGEMENTS

I would like to express my appreciation and sincere thanks to my project advisor Dr.

Irvin B. Levinstein, Associate Professor, Dept of Computer Science, Old Dominion

University for his guidance, encouragement and patience throughout the duration of this

project. I am grateful to him for his valuable time and vast experience which have been

critical to making this project meaningful and successful.

My sincere thanks go to my project leader Ms. Chutima Boonthum, Ph.D Candidate,

Old Dominion University, for providing valuable advice and help throughout the

duration of the project.

3

Page 4: Test Authoring Tool for Demonstration

BACKGROUND

Description of iSTART

iSTART is a web-based tutoring system that teaches Reading Strategies to

high school students in order to improve their reading skills. iSTART stands for

Interactive Strategy Trainer for Active Reading and Thinking. This has been

developed by Dr. Daniel McNamara, Dr. Irwin Levinstein, and Chutima Boonthum.

The current system Version 2.0 has 3 modules in the trainer namely:

INTRODUCTION:

Animated pedagogical agents are used in each module to teach the reading strategies. In

the Introduction module, a teacher agent called Dr. Julie provides teaches self-

explanation and five reading strategies to two student agent called Sheila and Mike. The

five reading strategies are comprehension monitoring, paraphrasing, prediction,

elaboration, and bridging. The user watches/listens to the dialogue between these agents.

DEMONSTRATION:

The Demonstration module shows examples of the ways in which the reading strategies

can be used to self-explain science texts.

4

Page 5: Test Authoring Tool for Demonstration

Fig 1 – Demonstration module

In this module, Merlin acts a teacher and Genie acts a student trying to self-explain the

sentences in the presented science texts. The user is asked to identify the strategies used

by Genie and the parts of the self explanation that contains these strategies.

PRACTICE:

In the Practice module students are required to generate self-explanations to science texts.

Merlin tries to provide feedback to the students based on the score returned by evaluation

of the self-explanation. This evaluation is carried out by iSTART algorithm which is

based on combination of different techniques like word based rules system and Latent

Semantic Analysis (LSA).

I developed a new version of Demonstration module as a part of Research work done

under Dr. Levinstein due to the following reasons:

o The old demonstration was not flexible since it had a fixed set of questions

embedded in the source code so to make any change to the question the source

code had to be modified.

o It didn’t provide much help to the weak students so they often guessed instead of

analyzed because they found the task too difficult. The new demonstration

module over came these limitations and introduced new features.

o Demonstration should be able to present easier content to a student when he/she

are having difficulties.

o The new version takes into account the particular sentence and the explanation

that is most important and also considers the previous strategies the student had

to deal with.

5

Page 6: Test Authoring Tool for Demonstration

Thus, the following new additions were made in Demonstration module:

o Tool Tips: Allows students to receive a reminder of what each strategy’s purpose

and use is. Reduces the amount of memorization and provides more help to

students with more need.

Fig. 2 – Multiple Choice box with reduced number of options & Tool tips

o The Questioning Method: New questioning methods have been devised to make

sure that the student isn’t guessing and requires him to identify a certain strategy.

This is done by reducing the number of choices a student has and the number of

things he has to think about.

Fig. 3 – Genie used strategy X with a reminder

6

Page 7: Test Authoring Tool for Demonstration

o Reduced Text: In this technique we highlight certain portion of the self

explanation and ask questions from the highlighted area. Student only needs to

reads the entire text the first time, but when he re-reads the text, he only has to

read the highlighted area and determine which strategy was used in that area.

o Text Highlights: In this technique we use different colors for sentence that

represent different strategies used. Simplifies the student’s actions as he now does

not have to determine on his own the separation of parts based on what strategy

was used.

Fig. 4(a)

Reduced Self Explanation with Pre-parsing

Fig. 4(b)

Reduced Self Explanation with no Pre-Parsing

Fig. 4(c)

Whole Self Explanation with no Pre-Parsing

Follow-up Strategies: Introduced two ways of responding to the student if the question

was answered incorrectly which are as follows:

o tellStrategy: In this technique if the student clicks on an incorrect part then we tell

the student the right answer. This helps students to realize their mistakes.

7

Page 8: Test Authoring Tool for Demonstration

o simpleNo: In this technique if the student clicks on an incorrect part then we tell

the student to try again.

MOTIVATION OF PROJECT

We chose XML to store the questions sets for the new demonstration. XML allows the

question sets to be completely independent of the programming language(s) used in the

iSTART. An additional advantage of storing question sets in XML format is that the

future versions of iSTART will be able to use them regardless of the changes in features

of programming languages. Also we can have more that one XML file so the same text

can have several different question sets.

Thus, in the new demonstration the Self Explanation styles, Questioning method and

Follow up strategies for each student level are contained in a XML file. At runtime this

XML file is parsed, student information is read and the question settings are displayed

accordingly.

Fig 5– Snapshot of the XML configuration file (Settings for one student level)

8

<?xml version="1.0" encoding="ISO-8859-1" ?> <para id="para1"> <sentPart id=“1"> <student level="5"> <question no=“1"> <method type="MCB" style="deterministic"> <strategy>P</strategy> <strategy>M</strategy> <strategy>B</strategy> </method> <SEFocus present="Y"> <part>1</part> <part>2</part> </SEFocus> <parsing>Y</parsing> <FollowUp> <part no=“1">simpleNo</part> <part no=“2">tellStrategy</part> <part no=“3">tellStrategy</part> </FollowUp> </question>……

Page 9: Test Authoring Tool for Demonstration

For each sentence, we have to store question set for 10 student levels. This makes the

XML configuration file very complex. The question set is stored in a complicated

structure which naïve users can’t understand so there is a need for an authoring tool.

The current procedure followed to generate this XML file is as follows:

Researchers at Memphis put question sets in an excel sheet.

At ODU, we use a Perl script to generate the XML from the excel sheet.

The Authoring tool attempts to automate this process and would provide researchers with

a single interface to enter, update and edit question sets all in one place.

INTRODUCTION

The authoring tool provides a simple interface for creating new questioning styles for

Demonstration and to maintain existing ones.

It automates the process of generating complex structures used to store question

sets of the Demonstration module.

It ensures that logically and syntactically correct XML Configuration file is

generated.

The Test Authoring Tool provides the researcher/experimenter with an interface

to :

o Create new Questioning styles (XML configuration file)

o Edit existing Questioning styles

o Preview the Demonstration test with the Questioning styles

o View student settings in a consistent manner

o Perform Sanity checks. These checks ensure that the researcher creates a

logically correct question.

9

Page 10: Test Authoring Tool for Demonstration

PROJECT ARCHITECTURE

Fig 6 – Project Design

TECHNOLOGIES USED

GUI/Presentation: ASP.NET 2.0, ASP.NET AJAX,

Object Oriented JavaScript, HTML

Business Objects: C#.NET, ADO.NET

Database: XML, MySQL

Web Server: IIS

BrowserASP.NET

WEBAPPLICATION

(C# ASPX Pages and

ASP.NET AJAX)

XML

WebServiceXML

MYSQL

Fetches/Updates XML files

Stores Account information

Configuration files

10

Page 11: Test Authoring Tool for Demonstration

IMPLEMENTATION DETAILS

One of the main aims of the project was to create web pages that provide a rich user

experience with responsive and familiar user interface (UI) elements. AJAX is used

widely to build rich UI’s but suffers from certain drawbacks such as it is difficult to make

it compatible across browser since each browser’s DOM differ and it is difficult to debug.

So, I decided to use ASP.NET AJAX which is a new Web development technology that

integrates client script libraries with the ASP.NET 2.0 server-based development

framework. ASP.NET AJAX enables the creation of AJAX-style applications, and offers

a complete framework for creating applications that can target the appropriate platform

(client and server) for application tasks, providing the same level of programmability on

both platforms. ASP.NET AJAX can be used to make client centric applications while

retaining the ability to communicate with the server in the background.

Listed below are the advantages of using ASP.NET AJAX:

Improved efficiency by performing significant parts of a Web page's processing in

the browser.

Familiar UI elements such as progress indicators, tool tips, and pop-up windows.

Partial-page updates that refresh only the parts of the Web page that have been

updated.

Client integration with ASP.NET application services for forms authentication

and user profiles.

Integration of data from different sources through calls to Web services.

Support for the most popular and commonly used browsers, including Microsoft

Internet Explorer, Mozilla Firefox, and Apple Safari.

11

Page 12: Test Authoring Tool for Demonstration

SCREEN SHOTS

LOGIN PAGE

Explanation: The User has to log in with a username and password.

Implementation: I’ve used ASP.NET Forms Authentication and Role based Security to

make the application secure. Forms authentication is a security mechanism that

authenticates a user by asking him or her type of credentials into a Web Form. Through

entries in Web.config, you identify the login page and tell ASP.NET which resources the

login page protects. If the login is successful, ASP.NET then issues the user an

authentication ticket in the form of a cookie and redirects the user to the page originally

requested.

User credentials are stored in a MySQL database and every time a user logs the

credentials are checked against those in database. And if the user is authenticated we

redirect him to his authorized page depending on his role. The Role information too is

stored in the database in the credentials table.

The Roles available in our database are o Admin

o User

12

Page 13: Test Authoring Tool for Demonstration

REGISTER NEW USER

Explanation: New user can register here.

Implementation: I’ve have used MySQL database as the backend. In order to use

MySQL with ASP.NET, the MySQL ODBC Driver needs to be installed. I have used the

Login controls introduced in ASP.NET 2.0. However, since I was working with MySQL

database, I had to program a custom membership provider to get the new Login controls

to talk to the MySQL database. A membership provider is the glue between the Login

control and the membership database. Once the user provides this information and clicks

on the submit button, the custom membership provider class is called to authenticate and

register the user.

13

Page 14: Test Authoring Tool for Demonstration

MAIN PAGE

Explanation: Once the user is authenticated, he is taken to the main page. We will

hereafter call the question set used for a particular demonstration test, as a Questioning

Style. The user can view and edit questioning styles created by other users too. While

here the user can:

Edit the test name, test description and level of an existing questioning style

Delete an existing questioning style

Configure an existing questioning style

Preview existing questioning styles

Create new questioning styles.

Copy from existing questioning style

Implementation:

I’ve used the SqlDataSource to retrieve the data from the database and a GridView

control which binds to the SqlDataSource and displays the information about existing

questioning styles. The GridView control enables the display, sorting, paging and editing

14

Page 15: Test Authoring Tool for Demonstration

a set of database records. The GridView control enables sorting and paging through

database records without requiring a postback to the server by using client-side script.

EDIT EXISTING TESTS

Explanation: The test name, test description and the test level can be modified by

clicking the edit button. Once the changes are made the user has to click on the update or

cancel link.

15

Page 16: Test Authoring Tool for Demonstration

CREATE NEW QUESTIONING STYLES

STEP 1

Explanation: The first step to create a new questioning style is to enter a test name, short

description about the test and the level of the test. When the user clicks on Next button, a

check is performed to verify that the same test name doesn’t exist in the database.

16

Page 17: Test Authoring Tool for Demonstration

CREATE QUESTIONING STYLE, STEP 2

Explanation: Once the user has completed Step 1, the second step is to select the text for

the questioning style. Currently we have two texts namely Forestfires and Photosynthesis.

The sentences of the text are bold and quoted. OK, Short, Similar and Meta-Understand

tell the teacher (Merlin) how to respond. The user can view the explanations for

sentences, the strategy that the part uses (e.g. P stands for paraphrasing, R stands for

prediction etc) and whether it bridges to a previous sentence (-1 means it doesn’t bridge

whereas any other value indicates the sentence it bridges to).

17

Implementation: The texts are stored in XML files at the server. Depending on the user

selection from the dropdown list, the appropriate XML file is parsed and the data is

displayed in a DataList. The DataList control displays data items in a repeating list. The

content and layout of list items in DataList is defined using templates.

The ASP.NET AJAX server controls consist of server and client code that integrate to

produce AJAX-like behavior. I used the following features:

17

Page 18: Test Authoring Tool for Demonstration

UpdatePanel Control and Update Progress Control

UpdatePanel controls help to refresh selected parts of the page, instead of

refreshing the whole page with a postback. The Update progress control provides

visual feedback on the browser when the contents of one or more Update Panel

controls are updated. I’ve used UpdatePanel so that only the part of the page that

contains XML is refreshed when the user selects a different text. The

UpdateProgress control provides visual feedback while the page is being loaded.

ScriptManager Control

ScriptManager control registers the Microsoft AJAX Library as a script resource,

which enables client script to make use of the type system extensions, and to

support features such as partial-page rendering and Web service calls.

CREATE QUESTIONING STYLE, STEP 3

Explanation: After the user selects the text, the new questioning style is created and then

the user can select the settings for the question sets. All the sentences are listed in the

menu. When a sentence is selected the question sets for all the 10 levels are displayed. By

18

Page 19: Test Authoring Tool for Demonstration

clicking on Edit link the user can create/edit a question set. On clicking on Edit a panel is

displayed which allows the user to set question method, set parse and reduce options for

the Self explanation and set follow up strategies for the parts.

Implementation:

The page offers 2 views to the user:

Sentence View: In this view, the sentences listed in the menu. When the user

selects a sentence, then question sets for all 10 levels for that sentence are

displayed.

Level View: In this view, all 10 levels are listed in the menu. When the user

selects a level, then the question sets for that particular level for all sentences are

displayed.

The sentences and the corresponding explanations of the text are stored in objects at the

client. The objects are populated when the page loads and there after the data is accessed

by calling methods on the objects. So, round trips to the server are avoided whenever the

user views the sentences and its corresponding explanations.

This is possible because:

Microsoft AJAX Library adds type system extensions to JavaScript that provide

Object Oriented features like classes, namespaces, inheritance, interfaces,

enumerations and reflection.

These enable the development of applications in a structured way that improves

maintainability, makes it easier to add features, and makes it easier to layer

functionality.

ListView control is used to display the question sets. I’ve programmed the ListView

control using xml-script. Xml-script is a new set of declarative elements contained in the

page markup that is sent to the browser. Xml-script introduces a new declarative script

format for defining script object instances, their property values, and how they wire up to

each other.

19

Page 20: Test Authoring Tool for Demonstration

EDIT A QUESTIONING STYLE

Explanation: The user can configure settings for existing questioning styles. When the

user clicks on a sentence on the left pane, the question sets for all levels appears. In order

to edit a particular question, the user can click on the Edit link beside each question. A

panel appears which allows the user to select the settings for that sentence. The settings

for the previous sentence are also displayed so that the experimenter can see what

question was asked to the student in the previous sentence. The students level increases

or decreases by one or remains the same depending on how the students answers.

Displaying the previous sentence question sets helps the experimenter to understand how

the student reached a particular level and what question should he be asked next.

Implementation: When the user clicks on a sentence from the menu, a web service is

called which parses the XML file (at the server) for that test and returns the question sets

belonging to that sentence. The web service is called directly from the JavaScript.

20

Page 21: Test Authoring Tool for Demonstration

The question sets are rendered incrementally i.e. the question sets are shown to the user

as they arrive instead of waiting for the entire information to arrive. This minimizes the

delay.

Once the user makes the changes and hits the save button, sanity checks are performed to

make sure that the settings made for this particular question do not conflict with the

settings of the previous questions. If the sanity checks are successful, a web service

updates the changes in the XML stored at the server, the part of the page showing the

question sets is refreshed to show the new settings.

The application calls Microsoft ASP.NET AJAX Web services by using JavaScript; the

server asynchronous communication layer automatically generates JavaScript proxy

classes.

A Web Service is used to fetch and update data in the XML files on the server. All web

services are accessed directly from the browser (using JavaScript). Previously, a web

service client had to be written to consume the web service. So, this results in faster

access to the server and thus a more responsive UI.

The web service uses SAX XML parsing to fetch data and DOM XML parsing to save

data.

21

Page 22: Test Authoring Tool for Demonstration

PREVIEW A QUESTIONING STYLE

Explanation: This option allows the user to see how the newly created questioning style

would look with actual demonstration.

Implementation: The existing demonstration module works with the Apache Tomcat

and Java technology. Since the authoring tool is build in the .NET framework, I had to

install Apache Tomcat and Java and get the existing demonstration to work with the

Authoring tool. The Demonstration tool generates an xml file which contains the question

sets for the test. The Preview program first makes sure that the xml file contains settings

22

Page 23: Test Authoring Tool for Demonstration

for all the questions. It then passes the location of the xml file and name of the text file

for a particular test to the Demonstration module. The Demonstration module loads the

xml file dynamically and uses the text file specified and allows the experimenter to

preview the test.

CONCLUSIONS

Creation of complex question set structure for Demonstration can be easily done

by using the Authoring tool.

The Authoring Tool developed in this project allows the iSTART Demonstration

module to achieve the required flexibility and adaptability.

Taking the extra time to develop an Authoring tool is well worth the extra effort

since it ensures that the generated XML is logically and syntactically correct.

This project will thus help the iSTART psychologists, researchers, experimenters

to create and maintain question sets for demonstration and ultimately benefit the

high school students.

23

Page 24: Test Authoring Tool for Demonstration

REFERENCES

ASP.NET AJAX - http://ajax.asp.net/

ASP.NET 2.0 - http://asp.net/

MSDN .NET Framework help link

Foundations of Atlas: Rapid Ajax Development with ASP.NET 2.0, Laurence

Moroney

Microsoft Programming .NET, Jeff Prosise,

Professional XML, 2nd Edition, Wrox Press

Setup of Tomcat server for serving JSP pages -http://tomcat.apache.org/tomcat-

5.0-doc/setup.html

Tutorial on JSP -http://www.apl.jhu.edu/~hall/java/Servlet-Tutorial/

24

Page 25: Test Authoring Tool for Demonstration

INSTALLATION GUIDE

FRONEND INSTALLATION

1. Download and install ASP.NET AJAX from link.

2. Copy the DemoAuthoringTool into c:\Inetpub\wwwroot

3. Right clicks My Computer\Manage, which takes to IIS console.

4. Browse through Default Webster and right click DemoAuthoringTool \Properties.

Click on the button "create "and click okay button. This creates a virtual directory

for the project.

5. Browse to the DemoAuthoringTool folder in the C:\intetpub\wwwroot and go to

the folder properties. Go to security and add user ASP.NET and give full control

to this user.

6. Now open the DemoAuthoringTool Solution in Visual Studio.NET.

7. Now you should be ready to run the application

BACKEND INSTALLATION

1. Download MySQL from the link http://dev.mysql.com/downloads/.

2. Create Tables

Tests

COLUMN NAME DATA TYPE CONSTRAINTS

TestID VARCHAR(25) PRIMARY KEY

Testname VARCHAR(25)

Description VARCHAR(45)

TestComplete VARCHAR(5)

25

Page 26: Test Authoring Tool for Demonstration

TestPath VARCHAR(45)

TestLevel VARCHAR(45)

Text VARCHAR(45)

Users

COLUMN NAME DATA TYPE CONSTRAINT

UserID VARCHAR(25) Primary Key

UserPassword VARCHAR(25)

Role VARCHAR(20)

UserEmail VARCHAR(45)

UserTest

COLUMN NAME DATA TYPE CONSTRAINT

UserID VARCHAR(25) Foreign Key

TestID VARCHAR(25) Foreign Key

3. Download and install MySQL ODBC driver from

http://dev.mysql.com/downloads/connector/odbc/3.51.html

26