Top Banner
Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute of Technology
34

RHIT/CSSE

Feb 24, 2016

Download

Documents

Cady

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 - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: RHIT/CSSE

Experience with an XML-Based Syllabus Editor and

Search EngineMichael Wollowski

Computer Science and Software Engineering Department

Rose-Hulman Institute of Technology

Page 2: RHIT/CSSE

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

Page 3: RHIT/CSSE

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

Page 4: RHIT/CSSE

XML: The Technology

• Three technologies in one:

– DTD– XML document– XSL stylesheet

Page 5: RHIT/CSSE

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

Page 6: RHIT/CSSE

XML: XML Documents

• Example:<course_description> <id>CSSE 100</id> <title>Introduction to Programming and Problem Solving

</title></course_description>

Page 7: RHIT/CSSE

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>

Page 8: RHIT/CSSE

XML: XML Documents

• Design your own element structure by defining a DTD

• Use someone else’s DTD

Page 9: RHIT/CSSE

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

Page 10: RHIT/CSSE

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

Page 11: RHIT/CSSE

XML: XSL Stylesheets

Page 12: RHIT/CSSE

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

Page 13: RHIT/CSSE

XML: XSL Stylesheets

• They are complex• Determine order of presentation• Leave out information• Limited amount of processing, e.g. fill in

missing information

Page 14: RHIT/CSSE

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

Page 15: RHIT/CSSE

Structural Overview of DocumentsSyllabus

Course Description

Departmental Information

Page 16: RHIT/CSSE

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>

Page 17: RHIT/CSSE

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)

Page 18: RHIT/CSSE

Forms-Based Editor

• A web-page with text-fields for XML elements

• Customized to DTD• Straight-forward to provide• Possible to auto-generate

Page 19: RHIT/CSSE

Forms-Based Editor

Page 20: RHIT/CSSE

Syllabus Editor Demo

Page 21: RHIT/CSSE

Syllabus Editor Demo

Page 22: RHIT/CSSE

Syllabus Editor Demo

Page 23: RHIT/CSSE

Syllabus Editor Demo

Page 24: RHIT/CSSE

Syllabus Editor Demo

Page 25: RHIT/CSSE

Syllabus Editor Demo

Page 26: RHIT/CSSE

Pinpoint Searching

• Special-purpose search engine tailored to DTD

• Information processing engine

Page 27: RHIT/CSSE

Pinpoint Searching

Page 28: RHIT/CSSE

Syllabus Search Demo

Page 29: RHIT/CSSE

Syllabus Search Demo

Page 30: RHIT/CSSE

Syllabus Search Demo

Page 31: RHIT/CSSE

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

Page 32: RHIT/CSSE

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

Page 33: RHIT/CSSE

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

Page 34: RHIT/CSSE

Future Work

• General purpose search engine• DTDs for other course materials