experience with an xml- based syllabus editor and search engine michael wollowski computer science...
Post on 19-Dec-2015
214 views
TRANSCRIPT
Experience with an XML-Based Syllabus Editor and
Search Engine
Michael Wollowski
Computer Science and Software Engineering Department
Rose-Hulman Institute of Technology
RHIT/CSSE
• Small engineering school• Students expect the use of technology:
e-mail web newsgroups online gradebook RHINO
• Not interested in online instruction• Interested in use of technology to facilitate learning
Introduction: Benefits of XML
• Separation of form and contents
• Common information can be placed into separate files
• Webpages of the same kind are rendered in the same way
• Ease of editing
• Pinpoint searching
XML: The Technology
• Three technologies in one:
– DTD– XML document– XSL stylesheet
XML: XML Documents
• XML documents contain elements
• An element consists of an opening and closing tag
• Elements are nested
• Element names describe contents
• Elements are not used to format documents
XML: XML Documents
• Example:
<course_description>
<id>CSSE 100</id> <title>Introduction to Programming and Problem Solving
</title>
</course_description>
XML: XML Documents
<?xml version="1.0"?><!DOCTYPE course_description SYSTEM "course_description.dtd"><?xml-stylesheet type="text/xsl" href="course_description.xsl"?><course_description><id> CSSE 120</id><title> Fundamentals of Software Development I </title><credits> 3R-3L-4C F,W,S </credits><description>This course develops problem solving skills and introduces both fundamental concepts of computer
science and current practices of object-oriented software development. Students complete a series ofprojects requiring the choice of appropriate algorithms and the use of procedural abstraction, control
constructs, and elementary data structures. The projects explore current practices of object-orientedsoftware development, such as multi-threaded event-driven programming, the development of graphical
user interfaces, and interaction among objects. Students complete some projects individually, some in small groups, and one in a challenging multi-week team project. The use of a disciplined design process is emphasized in each of the projects, including good programming style and thorough testing. This course presumes no prior programming experience.
</description></course_description>
XML: XML Documents
• Design your own element structure by defining a DTD
• Use someone else’s DTD
XML: DTDs
• A DTD defines a class of documents
• A DTD specifies:
– Elements of the document
– Attributes of elements
– Order and nesting of elements– Whether elements are necessary
XML: XSL Stylesheets
• Used to transform an XML document into an HTML document
• XML documents specify which XSL stylesheet is to be used.
• Web-browser receives XML document and then requests XSL stylesheet
XML: XSL Stylesheets
XML: XSL Stylesheets
• Uniform appearance of classes of documents: use same stylesheet
• Stylesheet has to be edited just once
• Separation of form and contents
• Content providers focus on providing contents
XML: XSL Stylesheets
• They are complex
• Determine order of presentation
• Leave out information
• Limited amount of processing, e.g. fill in missing information
XML: XSL Stylesheets
• Combine information from several documents
• Minimize repetition of information, by placing common information into separate documents
• Ensures consistency of information
• Reduces amount of nuisance editing
Structural Overview of Documents
Syllabus
Course Description
Departmental Information
Department.xml file
<?xml version="1.0"?>
<!DOCTYPE departmental_information SYSTEM "department.dtd">
<departmental_information>
<institution> Rose-Hulman Institute of Technology</institution>
<department> Computer Science and Software Engineering Department
</department>
<term> Fall</term>
<year> 2002/3</year>
</departmental_information>
Editing
• Separation of form and contents greatly aids in editing
• Contents providers do not have to be concerned about formatting
• Three ways to edit an XML document:– Edit a template (good)– Copy and edit another document (better)– Use a forms-based editor (best)
Forms-Based Editor
• A web-page with text-fields for XML elements
• Customized to DTD
• Straight-forward to provide
• Possible to auto-generate
Forms-Based Editor
Syllabus Editor Demo
Syllabus Editor Demo
Syllabus Editor Demo
Syllabus Editor Demo
Syllabus Editor Demo
Syllabus Editor Demo
Pinpoint Searching
• Special-purpose search engine tailored to DTD
• Information processing engine
Pinpoint Searching
Syllabus Search Demo
Syllabus Search Demo
Syllabus Search Demo
Experience with the Technology
• Course description editor is easy
• Tested syllabus editor on 20 students
• Editor works well for structured XML documents
• HTML can be added and is properly rendered
• Preview of documents is being added
Experience with the Technology
• Tested course descriptions search engine on 30 students
• One side of classroom used our XML search engine, other side used Google, restricted to RHIT
• Asked a variety of questions, some favored ours, some favored Google, and some were neutral
Experience with the Technology
• “Which courses can I take if I passed CSSE230?” favored XML search
• “What are the required CS courses for a CS major?” favored Google
• “What programming languages are used in the CS curriculum?” favored neither
• XML searchers turned in their results before Google searchers
Future Work
• General purpose search engine
• DTDs for other course materials