This syllabus is a work-in-progress. Please consult it weekly to check for updates.


Course Summary

Course Name
XML and Data in Application Development
Course Number
ICT-4540
Instructor
Michael I Schwartz
Class Meetings
The course begins September 14th, and continues through November 19th.
An optional "live" class via Adobe Connect is expected to be offered once per week.
Course Description
Extensible Markup Language (XML) is an open, text-based markup language that provides structural and semantic information to data. This data about data, or metadata provides meaning and context to the application using it, and even supports manipulation and display.

The course focuses on techniques to make this data useful for business applications as well as browser display. Other standards, such as JSON, are discussed, as well as use of CSS for display of XML data. Some Javascript is introduced to illustrate the document model, and techniques for integration of data.

While the course material enables approaches used by programmers, a deliberate choice has been made to remove programming language requirements from the course. All coursework may be done with an editor and a standard web browser, independent of computing platform.

Additionally, the course will acquaint students with XSLT techniques necessary to perform basic transformation operations, the XQuery declarative language for extracting XML content, and will touch upon the JSON format as a browser-friendly alternative to XML.
Course Prerequisites
Knowledge of HTML
ICT 4300, Web Enabled Information Systems
Note: The following course prerequisites are under review for removal
  • Familiarity with Javascript
  • ICT-4505, Website Design & Management
  • ICT 4510. Advanced Website Design & Management
Course Objectives
At the end of this course, a student will be able to: At the end of this course, a student will be able to:
  1. Explain the syntax of XML, compare and contrast with HTML
  2. Create well-formed XML documents
  3. Create and use XML data on a web page
  4. Create a Document Type Definition (DTD)
  5. Understand and create an XML Schema document
  6. Create valid XML documents, including namespaces
  7. Create useful XPath expressions
  8. Create useful XQuery expressions
  9. Work with XML Stylesheet Language (XSL) and XSL transformations (XSLT), Create a Computational Style Sheet
  10. Understand and work with the Document Object Model (DOM)
  11. Use JavaScript to modify data on a web page in both XML and JSON formats.
Required Materials and Resources
Text & other materials

There is no required text for this course. This is a rapidly changing area, and the primary materials will be Internet sources. There are reasonably good internet resources on all these topics, individually. I will provide pointers throughout the course to these materials.

Although there is no required text, each student will wish to ensure finding a text or other resources that suits hir learning style.

For many students, augmenting this material with a text which presents a good deal of the material in a consistent way with built-up examples is desirable.

The books listed below are reasonably good choices. Beginning XML is good for very basic information; XML Primer Plus also includes information useful to those who expect to program (e.g., Java or JavaScript) pages with XML data sources. Each of these texts will be a bit behind the current standards, which the instructor will try to convey, and the homework exercises are not taken from any of these book's examples.

Instructor slides are available via Canvas for student convenience.

There are a number of books on each of the topics in the course. The following books provide some material for the topics:

  • Beginning XML (Wrox), 5th Edition, Fawcett, et. al., ISBN: 978-1118162132, 2012
  • XML Primer Plus (SAMS), Nicholas Chase, ISBN: 0-872-32422-9
  • XML in a Nutshell (O'Reilly), 3rd Edition, Harold & Means, ISBN: 978-0-596-00764-5
  • XSLT and XPath On The Edge, Jeni Tennison, Unlimited Edition, ISBN: 978-0764547768
  • XQuery (O'Reilly), Walmsley, ISBN: 978-0-596-00634-1; also available as an ebook(*)
  • *Note: A new edition of XQuery is in production (November 2015). Look for the update, which promises to be excellent. A preview is available as an ebook if you can't wait.

The course will also reference the standards for HTML5, CSS, XHTML, XML, XQuery, and XSLT. These standards, and good tutorials on them, can be found at:

The following book is a complement to the course for those interersted in traditional programming leveraging XML

  • XML Primer Plus (SAMS), Nicholas Chase, ISBN 0-672324229, 2002
Electronic Mail
  • Responses can also be received by mailing a description of your problem to mschwart@du.edu
WWW
Appointments
  • By email, or call 303-394-3117.

Course Policies and Procedures

Attendance
Course attendance is expected, and forms the class participation portion of your grade.
Assignment Due Dates and Policy
Assignments must be completed before the class marked as their due date on the syllabus.
They must be available for grading by electronically submitting them to Canvas at 9PM on class day (face-to-face classes) or midnight, Mountain Time on the week-ending-day for the course for online courses.
Any exceptions requested to this policy must be made in advance with the instructor.
Late work will receive no credit.
Make advance arrangements with the instructor for any requested exceptions.
Except for the final project, all assignments may be resubmitted after rework of indicated portions. Resubmitted assignments will receive a maximum credit of 90%
Assignments are available at the beginning of the course, but the instructor reserves the right to clarify, modify, or replace them in advance of their being worked.
Resubmission Policy
Any assignment which was properly attempted and handed in on time may be resubmitted.
Resubmitted assignments must be submitted by the due date of the final exam (last Friday of the course).
Resubmitted assignments may earn up to a score of 90%.
Sample Solutions
Sample solutions for each exercise will be made available after the due date for the assignment has passed.
Sample solutions may be used as examples to draw from for future submissions.
Evaluation & Scoring
Course grades will be based on the homework exercises, quiz, participation, and the final project and presentation, weighted as follows:
  • 25% Exam & Quiz: The final exam counts like two quizzes
  • 50% Assignments
  • 15% Final Project
  • 10% Participation: Attendance (face-to-face classes), discussion group participation (online classes)
Grading scale is as follows, to conform to the University College standard:
  • 94-100%: A
  • 90-93%: A-
  • 87-89%: B+
  • 83-86%: B
  • 80-82%: B-
  • 00-79%: C or below
Academic Integrity

University College enforces the University of Denver's Honor Code and the procedures put forth by the Office of Citizenship and Community Standards. Academic dishonesty (including but not limited to plagiarism, cheating, and falsification of data and research) is in violation of the Code and can result in a failing grade and/or expulsion from the University.

The University of Denver defines plagiarism as the presentation of another person's idea or product as the student's own. Plagiarism includes but is not limited to the following:

  • Copying word-for-word all or part of another's written work
  • Using phrases, charts, figures, illustrations, graphics, codes, music, mathematical and scientific solutions without citing the source
  • Paraphrasing ideas, conclusions or research without citing the source
  • Using all or part of a literary plot, poem, film, musical score, Internet website or other artistic product without attributing the work to its creator

As student members of a community committed to academic integrity and honesty, it is your responsibility to become familiar with the DU Honor Code and its procedures. Please visit www.du.edu/honorcode or refer to the University College Student Handbook for more information.

Course Evaluations
As part of being a sustainable and green campus, University College has moved from paper evaluations to online course and faculty evaluations. We hope that the electronic format will be more convenient, as well as allow time for more thoughtful responses. You will receive an email in your DU email account approximately a week before the end of the course with a link to the course evaluation. This allows you to complete the evaluation without having to login to the course shell on Canvas. The online course evaluation will be available for approximately two weeks. The faculty/course evaluation is anonymous and will close prior to grades posting for the quarter. As was the case with paper evaluations, faculty will not receive evaluation data until after grades have been submitted.

Please take the time to complete the course and faculty evaluations thoughtfully. The student responses from each evaluated course provide essential feedback concerning instructors and courses and assist in determining improvements for subsequent quarters. We appreciate your assistance in helping us maintain the quality of our academic programs.

Course Schedule

Class / Objectives Weekly Goals Reading Homework

Class 1:
A, B, C

  • Course Introduction
  • History of XML
  • HTML comparison to XML
  • XML document structure
  • XML document display using a cascaded style sheet
  • Displaying an XML document in a web browser
  • XML Class 1 Notes
  • w3schools.com XML Basic Tutorial: Home, Intruduction, How to Use, Syntax
  • w3schools.com XML Advanced Tutorial: XML CDATA www.w3schools.com/xml/xml_cdata.asp

Any questions about tools you wish to use should be asked this week

While a web browser, text editor, and a few website tools are the bare minimun, there are many free or inexpensive tools that can improve your productivity

Homework 1 is due next week.

Quiz 1 is due at the end of Week 1

Class 2:
C, D, F

  • Namespaces: Why they are needed and how they are declared and used
  • Namespaces in CSS
  • Creating a compound document with XML and XHTML

Homework 1 due

The homework for next week familiarizes you with syntax for managing namespaces

Homework 2 is due next week

Quiz 2 is due at the end of Week 2

Class 3:
D, F

  • Document Type Definitions
  • Parsed and unparsed entities
  • Valid XML documents

Homework 2 due

The homework for next week explores the two basic document validation methods in XML, DTDs and XML Schema

Homework 3 is due next week. This homework includes XML Schema and DTD descriptions of a dataset. Both are combined to give you the ability to compare and constrast.

Quiz 3 is due at the end of Week 3

Class 4:
E, F

  • XML Schemas and schema dialects
  • Approaches to building schemata

Homework 3 due

The next homework is due in two weeks and introduces XPath and XSL

Begin Homework 4, which is due in two weeks

Quiz 4 is due at the end of Week 4

Class 5:
F, G, I

  • History and theory of XPath, XSL, XSLT
  • XSLT Stylesheets and applications
  • Selections using XPath expressions and predicates

This homework introduces XSL Transformations

Homework 4 is due next week

Quiz 5 is due at the end of Week 5

Class 6:
H, I

  • XSL: Aggregates: Sums and counts
  • Introduction to XQuery
  • Supplement on computations in XSLT (XML Class 7 Notes)
  • Introduction to XQuery (XML Class 6b Notes)
  • w3schools.com, XML Tutorials, XQuery Basic, http://www.w3schools.com/xquery/default.asp
  • XQuery FLWOR expression tutorial: http://www.xquery.com/tutorials/flwor/ and http://www.datadirect.com/resources/dis/flwor/index.html

Other material may be helpful if you are expecting to use this technology in your work

  • Walmsley's O'Reilly book, XQuery, ISBN: 978-0-596-00634-1 (and it may be found on line)
  • Note on XQuery and HTML5: http://www.front2backdev.com/2011/12/03/xquery-and-html5/
  • IBM intro to XQuery: http://www.ibm.com/developerworks/xml/library/x-xquery/index.html
  • IBM intro to XQuery in a Java environment: http://www.ibm.com/developerworks/xml/library/x-xjavaxquery/
  • Saxon: http://saxon.sourceforge.net/, and http://saxon.sourceforge.net/saxon7.8/using-xquery.html

Homework 4 is due

The next homework applies your XPath skills to a new tool, XQuery

Homework 5 is due in two weeks

Quiz 6 is due at the end of Week 6

Class 7:
J, K

  • Introduction to the DOM
  • The role of Javascript in XML
  • Final project discussion
  • www.w3schools.com/dom/dom_intro.asp
  • www.brainjar.com/dhtml/intro/
  • www.w3.org/TR/DOM-Level-3-Core/introduction.html
  • The role of Javascript in XML
  • http://www.codeproject.com/Articles/3337/XML-and-JavaScript

Homework 5 is due next week

We will follow it up with an exercise to place XML or JSON into an HTML document

Use of Javascript to place parts of an XML document into an HTML document

Quiz 7 is due at the end of Week 7

Class 8:
J, K

  • Introduction to JSON
  • Comparison of JSON and XML
  • Final project discussion
  • www.json.org top level; and
  • www.json.org/js.html; and
  • json.org/example.html

Homework 5 is due

The last exercise will have you place XML or JSON results into an HTML document using Javascript. Use of JQuery (thus leveraging XQuery) is also acceptable.

Homework 6 will be due the last week of class

Quiz 8 is due at the end of Week 8

Class 9:
C

  • Final project, review ground rules
  • Preparation for final exam

Homework 6 will be due the last week of class

Final Projects due

Class 10:
C

  • Summary and any special topics
  • XML Class 5 Notes

All commentary on final projects due

Homework 6 is due

Final Exam is due