CSCI 5733
XML Application Development
Spring 2006
Course Syllabus and Policies

by K. Yue

This is not an easy course (but not too hard too). It is an elective course so you my not need to take it if you are not prepared. Make sure that you have the right background and prepare to work hard. Hopefully, we will learn a lot together. Good luck.

1. General Information

Instructor

Dr. Kwok-Bun Yue, Associate Professor of Computer Science, Chair, Computer Information Systems
Delta 169, 281-283-3864, yue@cl.uh.edu
URL: http://dcm.cl.uh.edu/yue/
Office hour: TR 4:00 to 5:00 pm, by appointment or whenever you find me.

Teaching Assistant

Suman Tedla (suman_xml at yahoo dot com)

Office hours: Mon: 4-9:30pm, Tues: 4-5:30; Fri: 12-7

Location: PC Lab (you will be able to find out where Suman is at the entrance to the PC lab), NT Lab, D238 (TA room: , 281-283-3845) or D156

Research Assistant

Account and software problems may be addressed to the research assistant, Michael Mastracchio.

Other Useful Information

Sections

There are two sections:

Textbooks

There is no official textbook. The latest information is always available from the Web.

The following books are recommended for references simply because I have scanned through them in the distance past. However, the list is not complete in any way. XML has become more mature and there are many good books now. If you know of any good XML books, recommend them to me or post your suggestions in the discussion board.

  1. Deitel H., et.al., XML: How to program, Prentice Hall, ISBN 0-13-028417-3. This is a good introductory book to XML using the famous Deitel's style. Nice for beginners but may make professional a little sleepy. If you like Java: how to program, you may like this one. However, it may be too long and tedious for others.
  2. Birbeck M., el. al., Professional XML second edition, Wrox, ISBN 1-86-1005059. I don't have this book. I have the first edition. Wrox books are usually heavy (literally). They are written by programmers and try to include everything and so may be used as deference books. The book is quite practical but with 1268 pages, you may get lost. In general, I like shorter books.
  3. Ray E., Learning XML, O'Reilly, ISBN 0-596-00046-4. I liked the relatively small length of the book, only 354 pages. Unfortunately, it does not cover XML parsing as deep as I like. This is one of the first books I read many years ago.
  4. McLaughlin, Java and XML, 2nd edition, O'Reilly, ISBN 0-596-oo197-5. The Java part is better than the XML part. Most O'Reilly books have good quality. Published in August 2001, it is a little dated and may be out of stock, but it is nicely written.
  5. Elliotte Rusty Harold, Processing XML with Java. I have read the paper version of the book lightly. It is a little dated now, but hey, it is free: http://www.ibiblio.org/xml/books/xmljava/.

Course Description

A survey of XML standards and technologies. Standards include XML, DTD, DOM, XSL, XSLT, XPath, XLink, XPointer, XML Schema and XQuery. Related technologies include XML parsers, JAXP and XSL parsers. Examples of XML such as AJAX, SVG, XHTML, RSS and WML. Additional topics such as Web services, RDF, OWL, etc, may also be covered.

Course Goal

Students are expected to have a good understanding of XML standards and technologies and how and when to apply them.

Prerequisites

The following courses will be required:

Students who do not satisfy these requirements will be withdrawn administratively.

The course will use the following languages (students are assumed to be familiar with them before coming to the course):

Depending on the course progress, the following languages may be included in the lectures:

New languages to be covered:

Other new languages may also be covered, such as:

Course Format

Traditional lectures, some classroom demonstrations and homework and programming assignments.

2. Course Policies and Guidelines

2.1 General Policies
  1. No class auditing without instructor's approval.
  2. Assignments are due at the beginning of classes. No exception. Assignments turned in after the beginning of classes will be considered as late.
  3. Late assignments are accepted with a penalty of 10% deduction per week day after the due date. No late assignment will be accepted one week after the due date. The last assignment cannot be late.
  4. Make sure that you follow the submission guidelines for programming assignments. Failure to do so will result in assignments not graded.
  5. No make-up exam except in verified emergencies with immediate notification.
  6. No incomplete grade or administrative withdrawal under nearly all situations.
  7. Penalty on cheating will be extremely severe. Standard academic honesty procedure will be strictly followed. Use your best judgment. If you are not sure about certain activities, consult the instructor.
  8. No formal attendance policy.
  9. This is a Web-assisted course with no paper class notes.
  10. I usually do not respond to anonymous email.
  11. Be a good netizen for the discussion board. Do not use anonymous names. I have tried to avoid using membership login.
  12. Mobile phones and pagers should be turned off during classes.

Tips:

  1. Check the course Web page regularly. Check the course Website frequently and read the class lectures beforehand.
  2. If you need help in debugging, you may come to my office with the most recent listings of your program, output and error messages. Your program must be stored in your dcm account which I will have access to. Do not bring a floppy disk as I will have to scan it for virus.
  3. i check email frequently during the week days. Be sure to write a good subject heading for your email so my email filter won't consider it junk and I can relate to it quickly.
  4. Read and contribute to the discussion board regularly. Class announcement is made there.
  5. If you have problems with your accounts, you may want to contact my research assistants directly by sending them an email and copying it to me. However, do not ask the RA questions about your homework. Instead, ask the TA and myself.
  6. Software development is time consuming. Start early and plan well ahead.
  7. If you expect any potential problems, consult me as soon as possible so I may help you.
  8. Assignments will be thrown away one month after the final examination week. Be sure to claim them on time.

3. Grading Policies

Grades will be assigned based solely on homework and examination scores. No other factors will be considered. In particular, students have requested me to reconsider their grades using the following reasons in the past: course participation; improvement during the semester; extra efforts; avoidance of probation; financial needs; scholarship needs; need to graduate; company relocation; immigration status needs; family needs; etc. These requests had all been declined politely but firmly.

There will also be no 'special project' that you can work on to improve your grades after the final examinations. Anything I offer to one student will be offered to the entire class.

To obtain a grade of X, a student needs:

  1. has a combined total score from homework and programming assignment of grade X based on the total score grade assignment table below.
  2. has an exam grade assignment of X based on the exam score grade table below in at least one of the two examinations.

To be more exact, the final grade is the smaller of the two.

Total score is computed using the following percentages:

Homework: 40%
Mid-Term Exam: 30%
Final Exam: 30%

Total Score Grade Assignment Table

[90..100] A
[89..90) A-
[87..89)  B+
[83..87) B
[80..83) B-
[77..80) C+
[73..77) C
[70..73) C-
[67..70) D+
[63..67) D
[60..63) D-
[0..60) F

Exam Score Grade Table
 

[87..100] A
[85..87) A-
[83..85)  B+
[80..83) B
[77..80) B-
[73..77) C+
[70..73) C
[67..70) C-
[63..67) D+
[60..63) D
[50..60) D-
[0..50) F

Example:

A student gets:

38.5 out of 40 in homework
24.3 out of 30 (81%) in mid term exam
23.4 out of 30 (78%) in final exam

His total score is 88.2 (38.5+24.3+23.4), which is a B+ in the total grade score assignment table.  However, his higher exam grade is 81%, which is only a B in the exam grade score assignment table.  Thus, his final grade is B.

4. Course Syllabus and Schedule

The syllabus is tentative. Actual contents to be covered may change.

Subjected to changes and correction.  More details to come.

Date
Contents
Week #1: 1/17,19

Review of Web server side technologies (if needed)
Introduction to XML
XML and the semantic Web
XML Syntax and XML Generation

Week #2: 1/24,26

DTD and Document modeling

Week #3: 1/31, 2/2

XML Schema and Document Modeling

Week #4: 2/7,9 XML Parsing in Java: JAPX and SAX
Week #5: 2/14,16

XML Parsing in Java: SAX and DOM

Week #6: 2/21,23

XML Parsing in Java: DOM
XML Parsing in Javascript, AJAX
Week #7: 2/28,3/2 WML, XHTML and the wireless Internet
XPath
Week #8: 3/7,9 XPath
Mid-term exam: 3/7 (Tuesday)
Week #9: 3/14,16 Springbreak
Week #10: 3/21,23

XSLT

Week #11: 3/28,30 3/27 Last date to drop without grade penalty.
XSLT
Week #12: 4/4,6 XQuery, Bumblebee
Week #13: 4/11,13 XQuery
Week #14: 4/18,20 Additional Topics
Week #15: 4/25,27 Additional Topics
Week #16: 5/2,4

5/5 2:30 and 5:30 respectively

 



Dr. Kwok-Bun Yue
Professor, Computer Science and Computer Information Systems
Chair, Division of Computing and Mathematics
University of Houston-Clear Lake
2700 Bay Area Boulevard
Houston, TX 77058
Yue's Home  Yue's home page     Yue's email  yue@uhcl.edu     phone  281-283-3864