XML Learning Area Outcomes

Draft: 2006-01-04

This draft includes input from Feasability Assessment results and CIS Department comments.

  Learning area Outcomes
On successful completion, the student will be able to:
1 XML purpose
  1. Explain the main purposes for which XML was developed
  2. Briefly outline the history of XML
  3. Explain how XML is used as the basis for many markup systems both general and specific to communities of interest
  4. Discuss the concept of a "community of interest," for example, automotive, health care, digital libraries, law...
  5. Discuss the vision of the Semantic Web and the role played by XML
2 XML strengths and weaknesses in comparison with other tools for data and text markup, storage, and exchange
  1. List at least three other tools or systems used for data and text markup
  2. Discuss the advantages and disadvantages of each system
  3. Explain why the XML system has been so widely adopted
3 Survey of XML-based markup systems
  1. List at least five areas in which an XML-based markup has become the standard for data storage and exchange
  2. Discuss earlier or competing systems for data exchange or markup in each of the five areas
  3. List and describe all types of XML used in one specific community of interest, ideally a community of interest of which the student is a part
4 XML structure
  1. Discuss each aspect of "well-formed" XML
  2. Discuss what is involved in "valid" XML
  3. Identify well-formed markup in any type of XML
  4. Locate and use available software to validate specific XML markup
  5. Explain the principles underlying an XML Document Type Definition (DTD)
  6. Create a simple DTD (5-10 elements, 5-10 attributes)
  7. Explain the principles underyling an XML schema
  8. Create a simple schema (5-10 elements, 5-10 attributes)
  9. Explain the advantages and disadvantages of DTDs with respect to scemas
  10. Explain the role of XSL in making XML more readable
  11. Create a simple XSL style sheet
5 In-depth understanding of the philosophy behind one or more XML-based markup systems
  1. Explain in detail (appropriate to the student's group membership) the purpose for which XML is used by a specific community of interest, ideally a community of interest of which the student is a part
  2. Explain the underlying goals and principles which lead a specific community of interest to apply the general principles of XML as they did
6 Following the latest details in a community of interest
  1. List sources of information on development of standards for at least one specific community of interest, ideally a community of interest of which the student is a part
  2. Discuss current directions in XML stadards development for at least one specific community of interest
7 Tools and techniques for applying XML markup in specific community of interest
  1. Discover techniques and procedures used in a community of interest for applying XML markup to their data
  2. Mark up data with XML using a simple text editor
  3. Discover software in use by a specific community of interest to process XML-based data
  4. Review and select software most appropriate for applying XML markup to data in one specific community of interest, ideally a community of interest of which the student is a part
8 Following the latest technical XML developments
  1. List sources of information on development of core XML
  2. Discuss current directions in XML core architecture development and supporting technologies
  3. Name at least three W3C extensions of XML
9 Basic XHTML and CSS coding
  1. Hand-code valid, well-formed XHTML code, including:
    1. Basic file and text structures
    2. Lists
    3. Tables
  2. Hand-code CSS, including:
    1. Font families and sizes
    2. Margins, padding, and borders
    3. Text alignment
    4. Cascading rules and specificity
10 XSLT and XPath coding
  1. Explain the purpose of XSLT and XPath
  2. Output XHTML from an XML file by coding XSLT to make the transformation
  3. Create and apply template rules
  4. Use conditional and batch processing
  5. Perform simple counts and calculations
  6. Use XPath to manipulate nodes
11 Foundation in computer science, database, and programming languages
  1. Use a contemporary computer for email, Web search, creating presentations, reports, and memoranda
  2. Use at least two programming languages at the level of WCC CPS 161, 171, or 185
  3. Use at least one programming language at the level of WCC CPS 261, 271, 276, 277, or 293.
  4. Create and discuss database at least at the level of WCC CIS 282
12 Interfacing XML with database systems
  1. Obtain XML output from a pre-existing simple (2-3 table) database
  2. Use XSLT to create clear, human-readable reports from XML data
  3. Add data to a pre-existing simple (2-3 table) database starting with XML-marked data
  4. Modify data in a pre-existing simple (2-3 table) database starting with XML-marked data
13 Interfacing XML with data communication systems
  1. List and discuss commonly used methods for communicating data between users in various communities of interest
  2. Use one or two commonly used techniques for sending and receiving XML-marked data
14 Application Program Interfaces (APIs) for handling XML in widely-used programming languages
  1. List programming languages widely used for manipulating XML-marked data
  2. Discuss relative merits of each widely used programming language for manipulating XML marked data in various circumstances
  3. List APIs useful in manipulating XML-marked data
  4. Write code to transform data to and from XML using APIs in at least one widely-used programming language

In addition to the technical outcomes listed, the following skills will be taught and emphasized throughout the curriculum:

  1. Problem-solving
  2. Attention to detail
  3. Meeting deadlines
  4. Use of open source resources
  5. Handling multiple tasks
  6. Analyzing and managing data
  7. Asking the right questions
  8. Communication skills
  9. Determining where an individual's contributions would be the most beneficial
  10. Developing a work plan
  11. Understanding specific fields, or "communities of interest"
  12. Understanding project assignments
  13. Understanding what customers want