CSPP51038: XML
Summer 2010


Course number: CSPP51038

Meeting times: Mondays starting June 28, 2010 5:30-8:20pm

Register for listhost

Professor: Andrew Siegel (asiegel@cs.uchicago.edu)

TA: Ali Alkhafaji (ali.a.alkhafaji@gmail.com)

Course description: This course focuses primarily on using XML to greatly simplify application design. Examples in the course will be driven by real-world programming tasks that aim to remove inefficiencies in non-automated processes. These examples will set the background and context for studying XML in depth. In the first part of course the XML standard is studied and assignments are geared toward learning how to best design sophisticated schema to describe complex data. The second part of the course will focus on using these XML schema to simplify the messaging layer of distributed applications. Finally, higher level XML-based programming strategies will be applied to more easily solve more complex problems.

Course Format: Instructor lecture with interspersed hands-on assignments, an end of class quiz, and signficant student participation. Please bring several sheets of paper and something to write with for quiz and assignments (a laptop is helpful but not necessary).

Pre-requisites: Strong programming skills preferably in Java, but C#, Python, Perl, or C++ will be ok also.

Grading:

  • 70% homework
  • 30% quizzes

    Getting Help: The course listhost is the best place to get help quickly. We will monitor it as frequently as possible and often be able to answer immediately. Students are encouraged to help their peers on the listhost by contributing when it is convenient.

    Required tools:

    Web Links:
    There are too many reasonably good links for me to keep this up alone. If you find something that is useful for any of the topics below, send link to me and I will add to this list for the benefit of others.


    Course Material

    Syllabus:
    Date Topic Reference Material Readings Homework in-class Quiz
    June 28 Warmup: Introduction to XML; XML Schema Part I examples homework1 exercises
    June 5 JULY 4: CLASS RESCHEDULED
    July 12 XML Schema Part II: types, namespaces, imports, keys, etc. examples exercises
    July 19 Quiz1, XSLT Part I examples homework2 exercises quiz1
    July 26 XSLT Part II examples XSLT standard exercises
    Aug. 2 XML Parsing Models:DOM, SAX, auto language bindings using JAXB, etc.
    examples
    XPath standard homework3 exercises
    August 9 Quiz2, SOAP, RPC mechanisms examples Argument against SOAP encoding exercises quiz2
    Aug 16 WSDL homework4 exercises