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

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

  • View
    214

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute

Experience with an XML-Based Syllabus Editor and

Search Engine

Michael Wollowski

Computer Science and Software Engineering Department

Rose-Hulman Institute of Technology

Page 2: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute

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: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute

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: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute

XML: The Technology

• Three technologies in one:

– DTD– XML document– XSL stylesheet

Page 5: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute

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: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute

XML: XML Documents

• Example:

<course_description>

<id>CSSE 100</id> <title>Introduction to Programming and Problem Solving

</title>

</course_description>

Page 7: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute

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: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute

XML: XML Documents

• Design your own element structure by defining a DTD

• Use someone else’s DTD

Page 9: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute

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: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute

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: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute

XML: XSL Stylesheets

Page 12: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute

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: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute

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: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute

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: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute

Structural Overview of Documents

Syllabus

Course Description

Departmental Information

Page 16: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute

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: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute

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: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute

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: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute

Forms-Based Editor

Page 20: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute

Syllabus Editor Demo

Page 21: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute

Syllabus Editor Demo

Page 22: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute

Syllabus Editor Demo

Page 23: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute

Syllabus Editor Demo

Page 24: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute

Syllabus Editor Demo

Page 25: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute

Syllabus Editor Demo

Page 26: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute

Pinpoint Searching

• Special-purpose search engine tailored to DTD

• Information processing engine

Page 27: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute

Pinpoint Searching

Page 28: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute

Syllabus Search Demo

Page 29: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute

Syllabus Search Demo

Page 30: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute

Syllabus Search Demo

Page 31: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute

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: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute

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: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute

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: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute

Future Work

• General purpose search engine

• DTDs for other course materials