Syllabus - Hypermedia and the Web - Winter 2004

Week 1: Pre-Web Hypertext Systems and Data Models

Hypermedia concepts: intellectual work, link, anchor. Hypertext system trends: monolithic hypertext, open hypertext, adaptive hypertext, and spatial hypertext systems.

January 5:
Course overview, goals of early hypertext systems (NLS/Augment, Xanadu). Hypermedia concepts: intellectual work, link, anchor.

January 7:
Guest lecture.
Due: Selection of teams for term project.

January 9:
Hypertext system trends: monolithic hypertext, open hypertext, adaptive hypertext, and spatial hypertext systems.
Read: Chapter 2 (Hypermedia) in Hypermedia and the Web

Week 2: Web Application Requirements, XML

January 12:
Overview of Web Engineering, process for developing Web applications, elicitation and refinement of requirements for Web Applications.
Due: Term project proposal

January 14:
Differences between requirements for traditional applications, and Web applications.
Read: Client Needs and the Design Process in Web Projects

January 16:
Introduction to Extensible Markup Language: history, structure, syntax, XML namespaces, DTD language
Read: Chapter 1 (Introducing XML), Chapter 2 (XML Fundamentals), and Chapter 3 (Document Type Definitions (DTDs) in XML in a Nutshell

January 16 (Laboratory):
Lecture on SAX XML Parsing, hands-on execution of an example SAX parsing application in Java

Week 3: XML, Cascading Style Sheets

January 19:
No class, Martin Luther King, Jr. holiday.

January 21:
XML parsing: DOM parsers
Read: Chapter 17 (Programming Models), Chapter 18 (Document Object Model (DOM)), and Chapter 19 (Simple API for XML (SAX)) in XML in a Nutshell

January 23:
Cascading Style Sheets (CSS)
Read: Chapter 12 (Cascading Style Sheets (CSS)) in XML in a Nutshell

January 23 (Laboratory):
SAX parsing assignment.
Due: Lab assignment #1 (by end of lab)

Week 4: Hypertext Data Models: Documents, Compound Documents, Links; The Web

January 26:
Containment modeling of hypertext system data models. Dexter hypertext reference model.
Due: Project scenarios document
Read: Uniform Comparison of Data Models Using Containment Modeling
Read: Chapter 4 (Locations, Placements, and Interconnections) of From Web to Workplace

January 28:
Exam #1

January 30:
Patterns of representation of documents, compound documents, and links. Architecture and key standards of the Web (URI, HTML, HTTP).

January 30 (Laboratory):
Lecture on PHP, hands on setup and execution of simple PHP application
Read: Chapter 1 (PHP Crash Course) in PHP and MySQL Web Development

Week 5: Introduction to PHP, Information Design

February 2:
Object-orientation in PHP, Form input in PHP
Read: Chapter 6 (Object-Oriented PHP) in PHP and MySQL Web Development
Due: Project requirements document

February 4:
Information design
Read: Chapter 3 (Structure) of The Art and Science of Web Design

February 6:
Information design (cont'd)
Read: Chapter 9 (Development Techniques) of Hypermedia and the Web

February 6 (Laboratory):
PHP form input assignment.
Due: Lab assignment #2

Week 6: HTTP, Session Management

February 9:
Overview of HTTP
Read: Sections 6.2 and 2.6 of Web Protocols and Practice

February 11:
HTTP Caching
Read: Chapter 3, (Web Proxies) of Web Protocols and Practice, pages 59-64 (through Section 3.3)
Due: Project design document

February 13:
Session management in PHP
Read: Chapter 20 (Using Session Control in PHP) of PHP and MySQL Web Development

February 13 (Laboratory):
Session management in PHP assignment

Week 7: URI, Browser Environment, Database-backed Web Applications

February 16:
No class, President's Day holiday

February 18:
URI, URL, URN
Due: Lab assignment #3
Read: Uniform Resource Identifiers (URI): Generic Syntax (read to the start of Section 1.6)

February 20:
Browser environment, browser version management
Read: Chapter 5 (Browsers) of The Art and Science of Web Design (through p. 150 only)

February 20 (Laboratory):
Lecture on database connectivity with PHP, hands-on example of connecting to a database with PHP
Read: Chapter 10 (Accessing Your MySQL Database frm the Web with PHP) in PHP and MySQL Web Development

Week 8: Advanced XML: XPath, XSLT

February 23:
XPath
Read: Chapter 9 (XPath) in XML in a Nutshell

February 25:
XSLT, syntax, structure and execution order
Read: Chapter 8 (XSL Transformations) of XML in a Nutshell
Due: Lab assignment #4

February 27:
XSLT, modularity, built-in functions of XSLT/XPath

February 27 (Laboratory):
Hands-on execution of XSLT stylesheets, begin lab assignment on transforming XML documents using XSLT

Week 9: Web Services, SOAP

March 1:
Overview of Web Services architecture, SOAP protocol
Read: Chapter 31 (Connecting to Web Services with XML and SOAP) in PHP and MySQL Web Development

March 3:

SOAP fault handling, SOAP over HTTP

March 5:
Exam #2
Due: Lab assignment #5

March 5 (Laboratory):
Hands-on Web service access using PHP

Week 10: SOAP, WSDL, WebDAV, Project Presentations

March 8:

WSDL, SOAP data marshalling

March 10:
WebDAV: Collaborative authoring for the Web
Read: WebDAV: A network protocol for remote collaborative authoring on the Web
Due: Lab assignment #6

March 12:
Due: Final project presentations

March 17:
Due: Final project notebook

Last modified: 3/3/2004