Download - 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
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
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
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
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
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
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
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>……
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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