Introduction
Standards are quantifiable metrics to which parties adhere for purposes of allowing some common ground for interchange. Some students of standards view monetary systems developed for the exchange of goods as the earliest standards. The alphabet may alos be viewed as an early standards - a compatibility standard for the exchange of information. Modern U.S. standards first appear in the manufacturing arena. The history is somewhat cloudy and many stories are told, but in most of them, mass production and the railroads play a role. The railroads required standardization on many fronts, from track gauge to time.
Overview
This course is an introduction to web technologies and standards. We will spend some time setting the stage by looking more generally at standardization in the information technology industry. The course will explore the creation, modification, adoption, and maintenance of standards. It examines a wide spectrum of standards, focusing on standards related to computing and information in electronic form. However, in the last analysis, we will focus our attention on the growing array of standards that relate to the web. In addition, we will spend about half of the course coming to grips with the use of the various technologies.
Within the realm of information technology standards, we still look primarily at the higher level software and information formatting standards. While hardware standards are important they are generally addressed in other courses in the curriculum. Less well addressed, but of increasing prominence, are the software and information formatting standards. They will be the focus of our attention here.
As time permits, we may take a look at some of the network protocols which include addressing standards (IP), transport standards (TCP), and some supporting standards such as ARP, Ethernet, and DNS. Applications standards pertinent to the web – SMTP and HTTP – will be disected. The course will touch on distributed object standards such as CORBA, and DCOM that have led to the development of infrastructure standards for distributed services such as IDLs (including WSDL), directory service standards such as LDAP and UDDI and security standards such as DES and PKI.
File formats for a selected set of file types will be reviewed (e.g. PNG, PDF, UNICODE, etc.) The XML standards will be reviewed. Particular attention will be paid to XML data types, XML Schema, XSLT, XPATH and XQuery. Derivative standards such as the Resource Description Framework and the RDF Schema language RSS and SVG, etc. will be introduced. The course will provide students with the opportunity to explore these standards in the course of real application development.
Along with XML and its family of technologies, we will look at most of the basic web technologies including HTML, xhtml, CSS, JavaScriipt, PERL, J2EE, etc. As time permits, we will introduce more advanced web technologies such as PHP, AJAX, and JMAKI.
The Course
Philosophy and Approach
IS 2560 is a graduate course. This means students have responsibility to be proactive in their learning. The instructor's role is less directive and more one of stimulating and guiding learning. If you think back to the things you remember from other courses you have taken, you will probably find that the things you remember best are the things you had to work hard to learn. What takes place in the classroom constitutes only a small part of the overall learning in any course. To this end, the course is constructed to provide three kinds of learning experiences. First, class lectures and discussions that help to clarify the concepts and principles in operation. Second, readings that both provide an overview and some in depth discussion of the topic. Third, practical experiences related to the subject matter at hand.
The most important learning will come from the efforts you undertake beyond the textbook and class lectures. The lectures will provide a counterpoint to what is in the book and the assignments will require the use of skills learned in this course along with the many other skills you have developed throughout your program. The lectures for the course will cover a broad range of topics in an effort to provide both orientation and understanding about basic concepts. Finally, the assignments will provide an opportunity to see, in relatively simple situations, how the concepts discussed in the lectures and readings are implemented in practice.
Expectations about Preparation
At a very minimum, it is expected that you will read any material assigned to you before the class for which it is assigned. This does not mean skimming the material - it means reading, annotating, and understanding the material. It also means that it is your responsibility to identify areas in which you need to do extra work to bring yourself up to basic competency in the areas we will cover. Any course in this school brings together a diverse group of people with vastly different experiences. This makes it difficult to know where to start in a multifaceted course like this one. While the discussion of standards in the first part of the course is fairly well self contained, the latter parts of the course will require a fundamental understanding of telecommunication and computer systems. The basic knowledge and the associated skills developed in data structures, networking, and information systems provide a common starting point for our discussion. Should you find yourself totally ignorant in these areas, you are encouraged to do some preliminary reading, skill enhancement, or thinking during the first few weeks of the course. It is important that you understand that what you take out of the course will to a large extent be determined by what you bring to it.
While there is no accepted or standard programming language or operating system, there is a growing trend to establish such. For the last decade, many viewed the Unix operating system as a standard toward which we should be moving. Because of the close association between Unix and the C programming language, which has been used extensively for interactive system programming, some saw C and C++ as emerging language standards. More recently NT, XP, and Vista have begun to emerge as operating system platform standards. In conjunction with the explosive growth of the World Wide Web, Java has begun to gain in popularity as a language of choice. While work may be done on any platform and in any scientific language, you are encouraged to use either Unix or XP/Vista operating systems and the C or Java languages for programming work you do in this course.
Course Policies
Academic Integrity
You are expected to be fully aware of your responsibility to maintain a high quality of integrity in all of your work. All work must be your own, unless collaboration is specifically and explicitly permitted as in the course group project. Any unauthorized collaboration or copying will at minimum result in no credit for the affected assignment and may be subject to further action under the University Guidelines for Academic Integrity. You are expected to have read and understood these Guidelines. A document discussing these guidelines was included in your orientation materials.
Special Considerations
If you have a disability that requires special testing accommodations or other classroom modifications, please, notify both the instructor and Disability Resources and Services by the second week of the term. You may be asked to provide documentation of your disability to determine the appropriateness of accommodations. To notify Disability Resources and Services, call 64807890 (voice or TDD) to schedule and appointment. The office is located in the William Pitt Union, Room 216.
Goals
The goals of the course are:
· To define the basic characteristics of standards.
· To explore the processes by which standards are developed.
· To review the impact of standards on information systems.
· To experience the process of designing/programming information systems in accord with some standard.
· To understand the base technologies that are being used in the development and deployment of the World Wide Web.
· To analyze functional needs for web systems and design web components and systems to meet these needs in a reliable way.
· To understand and follow trends in the development of web technologies and standards
Course Materials
The required textbook for this course is:
· Beginning XML, 4th Edition (Programmer to Programmer) (Paperback) David Hunter, Jeff Rafter, Joe Fawcett, Eric van der Vlist, Danny Ayers, Jon Duckett, Andrew Watt, and Linda McKinnon. Publisher: Wrox; 4 edition (May 21, 2007), Paperback: 1080 pages. ISBN-10: 0470114878, ISBN-13: 978-0470114872
N.B. The book originally scheduled for this course has gone out of print, and the book listed above has been substituted
·
(Provided by the instructor – do not purchase) Scaffolding
the New Web: Standards and Standards Policy for the Digital Economy
by Martin C. Libicki, et al (Paperback - June 2000), RAND Corporation
(June, 2000). ISBN: 0833028588 (http://www.rand.org/pubs/monograph_reports/MR1215/index.html)
Students may also wish to read:
· The Standards Edge: Future Generations Edited by Sherrie Bolin (Sheridan Books, Ann Arbor Mich. 2005. ISBN 0-9748648-3-8.
· (Copies will be provided by the instructor) Global Standards: Building Blocks for the Future, Linda Garcia, Office of Technology Assessment
· Charles F. Goldfarb's XML Handbook, Fifth Edition Charles F. Goldfarb, Paul Prescod Prentice Hall PTR; 5 edition (November 3, 2003), ISBN: 0130497657
· "Information Technology Standards." In M.E. Williams (ed.) Annual Review of Information Science and Technology. Volume 26.
· Journal of the American Society for Information Science, Volume 43, No. 8, September, 1992, which is devoted to Information Technology Standards.
· Standards Policy for Information Infrastructure, Brian Kahnin and Janet Abbate (Eds.) MIT Press, Cambridge Mass, 1996.
Course Requirements
Students are expected to come to class prepared to discuss the topic assigned for the day. In addition, students are expected to be doing their own exploratory reading on related subjects throughout the term. As indicated, the instructor believes that the knowledge and skills you take away from a course come not only from what the instructor espouses in class, but from your external readings and your own work and writing.
The instructor reserves the right to modify the course requirements. In particular, if deemed necessary, exams may be added to the requirements or substituted for selected requirements if in the instructor's opinion students are not staying abreast of course readings.
In addition to readings and class participation (accounting for 10 points of the grade awarded by the instructor), students are required to complete 90 points of project activities. There are 50 points worth of activities to be undertaken by all students. Beyond these minimum requirements, students may choose from the optional activities listed below or they may propose new activities (in writing to be reviewed and if appropriate approved by the instructor.) Proposed activities may be individual or group, but care should be taken to insure that the scope of group activities are significantly larger than individual projects.
Required activities:
· (10 points) Compose and mount and xhtml compliant set of web pages on the SIS web server. The site should be:
· At least 5 separate pages
· Be xhtml compliant (http://validator.w3.org/)
· Meet web accessibility guidelines (http://www.w3.org/WAI/eval/Overview)
· Include simple JavaScript for things like date of last modification
· Include a simple navigation scheme
· Include one or more images
· Make use of a CSS style sheet
· (10 points) Compose an XML/xhtml/SVG page that makes use of javasctipt, CSS, and DOM manipulations to form an “intelligent document”.
· (15 points) Compose an XML schema and a sample document for one of the following document types:
· Syllabus
· Report
· Dissertation
· Resume
· (10 points) Write a weblog analysis tool that provides at least three of the following kinds of information
· Most frequent visitors to a website
· Starting and stopping pages
· Pages with bad links
· Pages that have not been modified in over a year
· Average session length
· Missing pages
· Path analysis – this can serve as 2 kinds of information
· (30 points) Final Project
The activities below are simply illustrative of those suggested for the class. They are far from exhaustive, and are intended only to stimulate thinking about the kinds of projects students might undertake. The first three suggestions below provide more detailed specifications.
· ATOM/AJAX Tool
· ATOM is the new standard for syndication and blogging – replacing the various versions of RSS standard
· The tool could be a web site or a stand alone program that generates a valid ATOM feed. The generator should guarantee all required elements and allow selected optional elements.
· The tool could provide some advanced feature – editing and existing feed, or translating one feed format to another, etc.
· The tool could be one or more components of ATOM/AJAX based editing and annotation tool – the instructor will explain
· RDF/Metadata Tool
· RDF is the standard for describing metadata about a web resource.
· The RDF tool should construct a valid RDF metadata file in compliance with an RDF schema of your construction.
· The RDF generator should be capable of generating some portion of the metadata in an automatic fashion.
· The key is the speed with which the tool generates data
· The system should provide some advanced feature, e.g. a spider that collects pages from website automatically by link traversal, an ability to use different RDF schema to guide collection, etc.
· Social Networking/Collective Intelligence
· Social Networking sites provide an opportunity to harvest user information and contributions into new data sets that may represent new information
· The SN/CI site should serve some useful function – such as a group site for members of the SIS community
· The site should provide automated tools that expose new information or insights for collective uses
· Joint calendaring, shared bookmarks and blogs are all examples of what might be done here
· Management Spider tool to catalog the information on a website.
· The tool might check links and pages and report on potential web site problems
· It might recommend web site changes based on the analysis
· Develop an analysis of the significant issues in web standardization that must be addressed related to:
· The National Information Infrastructure.
· Web accessibility for various disabilities
· E-Business and Web Services
· The semantic web
· Mobile and location based services
Assignment Due Dates and Grading
Assignments are due according to the following tentative schedule:
The submission of required activities are all due by week 8. Late assignments will be subject to a 10% penalty.
Grades for all the assignments will be summed and from 0-10 points will be added by the instructor based on an assessment of class participation. Final grades will be assigned as follows:
|
Grade |
Points |
|
A |
100-90 |
|
B |
80-89 |
|
C |
60-79 |
|
F |
0-59 |
Course Overview
Schedule of Topics and Readings
This course is addresses a subject which has not traditionally been a part of the information science curriculum. The topics are interdisciplinary, broad, deep, and complex. From the academic perspective there is not any comprehensive perspective or model from which the subject may be suitably studied. For these reasons, students should anticipate that the sequence of topics may be adjusted, expanded, or contracted as the term proceeds.
In general, the course will be divided into four parts.
· In part one, standards and the standardization process will be examined conceptually. Models will be examined and the research will be reviewed. The various organizations involved in standards development will be examined, and the process for consensus standards development will be explored.
· In part two, we will look at the XML family of standards in depth, particularly as they relate to web technologies and developments
· In part three, selected network and data standards will be explored
· In part four, we will return to the standardization process and look at it in the broader context of the electronic enterprise, software development broadly, and globalization.
Introduction and Overview
· Introduction to the course
· Review of the course syllabus
· Discussion of the assignments
· The purpose of standards
· The history of standards development
· nationally (in the U.S. and in other countries)
· internationally
· Broad Categories
· Internal corporate standard
· De-facto standard
· De-jure and client determined standards
· Formal consensus standards
· Overview of the Web
· http
· url
· html
· xml
· cgi
·
Frameworks for Understanding Standards
· Classificatory Models
· Taxonomies
· Economic Models
· Impact on research and development
· Impact on end user purchases
· Cost of the standards themselves
· Impact of technological developments
· Operational Models -- OSI
· Organizational Models
W3C and Standards
· Accreditation of a developer
· Planning and coordination of standards
· Designation, publication, maintenance, and interpretation of standards
· Procedures for development of a standard by a committee
· Organization of the committee
· Responsibilities, officers and membership
· Subgroups of the committee
· Meetings
· Voting
· Submission
· Communications
· Termination of the committee
· Appeals
· Maintenance
· Role of consortia
XML
· XML data types
· XML Schema
· XPATH
PERL
· Basic Perl
· Regular Expressions
· Log Analysis
XML
· XSLT
· XPATH
· XQuery
· Derivative standards such as the Resource Description Framework and the RDF Schema language RSS and VRML, etc. will be introduced. The course will provide students with the opportunity to explore these standards in the course of real application development.
Java and Parsers
· Servlets
· JSP
· Parsers
· SAX
· DOM
· TRAX
·
Javascript
· DOM
· Basic Javascript
· Javascript for Validation
· AJAX intro
Next Generation Web (Web 2.0)
· AJAX
· RSS
· Atom
· Web Services
· Wikis
Standards Issues
· Professional Issues
· The Communications Act of 1934 -- Standards and information access
· Privacy, security, and freedoms
· Legal issues
· Liability
· Liability of the standards groups
· Liability of the validating organization
· Liability of the vendor
· Intellectual Property
· Political issues in standards development
· Capitalism versus the Social Good
· Professional associations: Engineers versus Producers versus Users
· Self Certification versus third party certification
· National governments and international organizations
Other Considerations
Academic Integrity
You are expected to be fully aware of your responsibility to maintain a high quality of integrity in all of your work. All work must be your own, unless collaboration is specifically and explicitly permitted as in the course group project. Any unauthorized collaboration or copying will at minimum result in no credit for the affected assignment and may be subject to further action under the University Guidelines for Academic Integrity. You are expected to have read and understood these Guidelines. A document discussing these guidelines was included in your orientation materials.
Special Considerations
If you have a disability that requires special testing accommodations or other classroom modifications, please, notify both the instructor and Disability Resources and Services by the second week of the term. You may be asked to provide documentation of your disability to determine the appropriateness of accommodations. To notify Disability Resources and Services, call 64807890 (voice or TDD) to schedule and appointment. The office is located in the William Pitt Union, Room 216.
Professionalism and Plagiarism
There are a couple things that you need to keep in mind as you start this course. Any documents you submit should be carefully proofread and formatted professionally. The paper should provide all the necessary information – your name, your email address, student ID, the course, the term, the CRN, and the assignment for which the paper is submitted. Any code that is submitted should be thoroughly tested to insure that I will be able to run it on any machine. The project source code and executable files should both be included. The material, if it is extensive, should be zipped up in a zip or jar file. Care should be taken to make sure that all necessary supporting DBMS and lib or jar files are included. A readme file should be included that explains any particular constraints or steps that need to be taken. ALL CODE THAT COMES FROM ANY SOURCE OTHER THAN YOUR HEAD NEEDS TO BE FULLY AND CAREFULLY MARKED. This includes code which you have adapted from some source but which is essentially someone else’s work. Failure to note such use is cause for a grade of 0 on the assignment and an F in the course. All of your code should be carefully and professionally commented and explained. In both the mail note to which the project is attached and in the main file of the project, you should include:
Copies of sample code and other resource materials will be made available at http://www.sis.pitt.edu/~mbsclass.