Course Highlights - COMP2410

Target Population: This course is designed for web developers, students, and programmers wanting to learn XML (eXtendable Markup Language) and the supporting technologies currently used with XML.

This course focuses on XML (eXtendable Markup Language) and the supporting technologies of XML used in person-to-computer and computer-to-computer communications. Some of the technologies covered will include using DTDs (Document Type Definitions), Schema, Namespaces, XPath, DOM, SAX, Data Models, XSLT, SVG, and SOAP as well as web services and the Semantic web.

Here's what you'll learn by taking this course:

  1. How to create an XML document. It's just like HTML only with customized tag names.
  2. Using DTD and Schemas to validate the XML data.
  3. How XML can be formatted, filtered, and transformed using a language called XSLT.
  4. Several common XML technologies including SVG, SMILE, RSS, and SOAP.
  5. How XML will be used to create the Semantic (intelligent) Web

This course uses up-to-date teaching techniques allowing you to learn by reading, listening, experimenting, and writing your own code. Each module has specific Learning Activities designed to help you learn in an interesting and fun manner as well as Assessment Activities to help you determine exactly what you've learned.


This course is part of the Web Programming Certificate program at South Central College.

Course Details

Web Programming III - COMP2410 - Spring Semester 2007

Section 01 Room C179 (near door #5 Gold Lot) Monday   3:00 - 5:50
This course can also be taken as an on-line course through special arrangements with the instructor.

Credits - 2 credits (1 lecture - 1 lab)

Required Text: Beginning XML 3rd Edition , by Hunter, Watt, Rafter, WROX press, ISBN 0-7645-7077-3.

Required Software:


Hardware: It is recommended that you have at least one flash drive to store you work and class information. (Please back up your data on a regular basis!)

For more information contact: Peter K. Johnson , Instructor
email: peter.johnson@southcentral.edu   
phone: 507 389-7337

Prerequisites

  1. Successful completion of Web Programming I (COMP1400 with a C or higher), or a working knowledge of XHTML, CSS, and FTP.

  2. Minimum typing speed of 35 wpm (60 wpm recommended).
    Find out your typing speed at http://typingtest.com
    Improve your typing speed with TuxType , a free, open-source typing program.

IMPORTANT: This course does NOT require Web II.

Course Goals:

  1. Critical thinking skills - being able to solve problems when faced with new technologies.

  2. Use XML to communicate information between a variety of applications.

  3. Use XML tools such as XSLT, XPath, SVG to handle data.

Core Abilities:

Learning Objectives

1. Create an XML document.
-- Create custom markup using XML
-- Demonstrate the use of an XML parser.
-- Use elements and attributes to markup data.
-- Determine the difference between markup text and character data.
-- Incorporate Unicode in an XML document.
-- Demonstrate the use of CDATA sections in an XML document.
-- Demonstrate the concept of a well-formed XML document.

3. Create a Document Type Definition (DTD).
-- Illustrate on paper the relationship between HTML, XML, and DTD files.
-- Create a DTD
-- Incorporate elements and attributes in a DTD.
-- Incorporate a notation in a DTD.
-- Demonstrate the use of an entity with a DTD.

4. Demonstrate how the schemas are used in XML.
-- Describe the function and purpose of schemas.
-- Compare the differences between a DTD and a schema.
-- List the data types that can be used in a schema.
-- Demonstrate defining a range using minOccurs and maxOccurs in a schema.
-- Create a schema based on an existing DTD.

5. Use namespaces as part of a schema and XLS document.
-- Describe the importance of namespaces with XML.
-- Use namespaces in an XML document.
-- Demonstrate namespace scoping.
-- Apply namespaces to elements and attributes.
-- Create an XML schema with a target namespace.

6. Use RelaxNG to validate XML documents
-- Describe the basic RelaxNG patterns
-- Use various patterns in a validating document
-- Compare RelaxNG to Schemas and DTD validation schemes

7. Utilize CSS to control the style of a web page
-- Use an external CSS style sheet to change the appearance of an XML document.
-- Use the basic CSS syntax to create a specific style for XML elements.
-- Use the class attribute to change specific groups of elements.
-- Use the ID attribute to create a style for a unique element.
-- Demonstrate the use of comments in a CSS.

8. Use XPath to extract text blocks from an XML document.
-- Use Regular Expressions to locate text in a document.
-- Write a paragraph describing why XPath (XML Path Language) is useful for information processing.
-- Write an XPath expression to locate different parts of an XML document.
-- Use abbreviated and unabbreviated XPath statements to perform the same task.

9. Demonstrate use of the DOM (Document Object Model ) using JavaScript in a web page.
-- Write a paragraph describing the DOM.
-- Compare using the DOM with XSLT.
-- Describe the strengths of the DOM and the weaknesses
-- Display data from an XML document using JavaScript

10. Demonstrate the use of SAX (Simple API for XML).
-- Write a paragraph comparing the use of DOM and SAX technologies.
-- Explore different SAX implementations such as SAXON and the Java parser.

11. Use XSLT to create HTML pages from XML documents.
-- Create an XHTML web page that utilizes multiple CSS (cascading style sheets).
-- Write a paragraph describing the difference between CSS and XSL style sheets. (eXtensible Style Sheet Language)
-- Utilize SAXON to explore XSLT functions.
-- Transform an XML document into a XHTML web page using XSLT (XSL Transformation language)

12. Create an animated graphic display using SVG.
-- Write a paragraph describing SVG (Scalable Vector Graphics) and the benefits of this technology.
-- Explore how SVG graphics are being utilized on the Web.
-- Create an animated graphic using SVG commands.

13. Use RSS as a communication tool between your clients and their customers
--
Read RSS feeds to show updates on your web pages
-- Create an RSS feed file for a web site showing what is new
-- Validate the RSS feed.

14. Demonstrate web services.
-- Explain how Web Services extend communications on the Web.
-- Find examples of web services being used on the Web.
-- Describe the main pieces that are required to make web services work and how they relate to XML technologies.

15. Demonstrate how SOAP is used as an integral part of web services.
-- Analyze how SOAP (Simple Object Access Protocol) works.
-- Visualize SOAP being used on the Web to perform a tasks such as tracking stock prices.

16. Explore the concepts behind the Semantic Web
-- Explore emergence theory.
-- Explore what is meant by the Semantic Web.
-- Discover what will be necessary for the Semantic Web to happen.
-- Analyze how emergence and the Semantic Web relate.

Grading

A   97-100%
A-  90-96
B+  97-89
B    84-86
B-   80-83
C+  77-79
C    74-76
C-  70-73
D+  67-69
D    64-66
D-  60-63
F    Below 60%

The grading for this course is performance-based. You will not be graded a curve. This means that your grade is based on the work you do and not on what grade others in the class receive.

As your instructor I am the record-keeper of your points. I do not “give you a grade”; I only keep track of the scores you receive.

You will earn your grade by demonstrating your knowledge of the learning objectives listed at the bottom of each learning activity page. Complete the work according to the specifications and you will receive points accordingly.

One hint: This is a project and participation-based course. For example, most projects are worth 25 points while a quiz in the same module might only be worth only 10 points. This focuses your efforts on demonstrating your knowledge in applying your learning, not just knowing the facts or memorized information. (It also makes the things you learn in this course much more useful in the real world!)

Course Policies

Be responsible for your own actions.

Respect due dates - No late projects, papers, or quizzes will be accepted unless you have made prior arrangements in writing with the instructor and have a valid and documented reason. All late projects that are accepted will automatically drop one letter grade.

Quizzes - Make-up quizzes must be done on or before the next class session. 10% will automatically be taken off the total available points on all make-up exams.

Incomplete - An incomplete is granted due to serious extenuating circumstances (e.g. a death in the immediate family, hospitalization, etc.) near the end of the semester when the majority of the coursework has been successfully completed. An incomplete will not be granted for failing work.

Cheating - All graded projects must be your own work only. Cheating or plagiarism is a serious breach of academic ethics and could lead to sanctions including expulsion from college. When taking tests, protect your answers from others. If cheating is discovered, all participants will be penalized.

Special Needs -
If you have a disability and need accommodations to participate in the course activities, please contact your instructor as soon as possible. This information will be made available in an alternative format, such as Braille, large print, or cassette tape, upon request.

Student contributions - Students are expected to:
-- Participate in course discussions and actively participate within their team.
-- Complete all projects on or before the deadline.
-- Read all assigned material before class or chat sessions.

The Bottom Line -
I am here to help you learn and understand the material presented in this course. Please let me know if you do not understand any concepts or projects in this class. Feel free to clarify any questions you may have during class, at my office, or via email. I am also open to any suggestions you may have that would make this course more interesting and/or useful.

Peter K. Johnson