Syllabus - Hypermedia and the Web - Spring 2005

Week 1: Pre-Web Hypertext Systems and Data Models

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

March 30:
Hypertext system trends: monolithic hypertext, open hypertext, adaptive hypertext, and spatial hypertext systems.
Architecture and key standards of the Web (URI, HTML, HTTP).
Read: Chapter 2 (Hypermedia) in Hypermedia and the Web
Due: Selection of teams for term project.

April 1:

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

Week 2: Web Application Requirements, XML

April 4:
Overview of Web Engineering, process for developing Web applications, elicitation and refinement of requirements for Web Applications, prototyping.
Read: Chapter 7 ("Prototyping") of User-Centered Website Development
Due: Term project proposal

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

April 8:
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

Week 3: XML, Cascading Style Sheets

April 11:

XML Parsing: Simple API for XML (SAX) XML
Read: Chapter 18 (Programming Models) and Chapter 20 (Simple API for XML (SAX)) in

April 11 (Laboratory):
Lab #1: SAX parsing

April 13:
XML parsing: Document Object Model (DOM) parsers
Read: Chapter 19 (Document Object Model (DOM)) in XML in a Nutshell
Due: Project scenarios document

April 15:
Cascading Style Sheets (CSS)
Read: Chapter 13 (Cascading Style Sheets (CSS)) in XML in a Nutshell
Due: Lab assignment #1 (in class)

Week 4: Introduction to PHP

April 18:
PHP
Read: Chapter 1 (PHP Crash Course) in PHP and MySQL Web Development

April 18 (Laboratory):
Hands-on setup and execution of a simple PHP application

April 20:
Exam #1

April 22:
Object-orientation in PHP, Form input in PHP
Read: Chapter 6 (Object-Oriented PHP) in PHP and MySQL Web Development

Week 5: Information Design, Session Management

April 25:
Information design
Read: Chatper 6 ("Navigation") of User-Centered Website Development
Due: Project requirements document

April 25 (Laboratory):
Lab #2: PHP form input

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

April 29:
Session management in PHP
Read: Chapter 20 (Using Session Control in PHP) of PHP and MySQL Web Development
Due: Lab assignment #2 (in class)

Week 6: HTTP, URI

May 2:
Overview of HTTP
Read: Sections 6.2 and 2.6 of Web Protocols and Practice

May 2 (Laboratory):
Lab #3: Session management in PHP

May 4:
HTTP Caching
Read: Chapter 3, (Web Proxies) of Web Protocols and Practice, pages 59-64 (through Section 3.3)

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

Week 7: Database-backed Web Applications & Security, XPath

May 9:
Database connectivity with PHP
Read: Chapter 10 (Accessing Your MySQL Database frm the Web with PHP) in PHP and MySQL Web Development
Due: Project design document

May 9 (Laboratory)
Lab #4: Creating pages with database content

May 11:
Web application security, SQL injection attacks
Read: SQL Injection Attacks by Example

May 13:
XPath
Read: Chapter 9 (XPath) in XML in a Nutshell
Due: Lab assignment #4

Week 8: XSLT, Web Services

May 16:
XSLT, syntax, structure and execution order
Read: Chapter 8 (XSL Transformations) of XML in a Nutshell

May 16 (Laboratory):
Hands-on execution of XSLT stylesheets
Lab #5: transforming XML documents using XSLT

May 18:
XSLT, modularity, built-in functions of XSLT/XPath

May 20:
Overview of Web Services architecture, SOAP protocol
Read: Chapter 31 (Connecting to Web Services with XML and SOAP) in PHP and MySQL Web Development
Due: Lab assignment #5

Week 9: Web Services, SOAP

May 23:
WSDL, SOAP data marshalling, SOAP in PHP

May 23 (Laboratory):
Lab #6: Web service access using PHP and SOAP

May 25:
Exam #2

May 27:
Web application security
Due: Lab assignment #6

Week 10: WebDAV, Project Presentations

May 30:
No class, Memorial Day

June 1:
WebDAV: Collaborative authoring for the Web
Read: WebDAV: Versatile Collaboration Multiprotocol

June 3:
Due: Final project presentations

June 10:
Due: Final project notebook

Last modified: 3/25/2005