Syllabus - Hypermedia and the Web - Spring 2006

Week 1: Pre-Web Hypertext Systems and Data Models

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

April 7 :
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
Read: Chapter 4 (Locations, Placements, and Interconnections) of From Web to Workplace
Due: Selection of teams for term project.

Week 2: Web Application Requirements, XML

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

April 12:
Differences between requirements for traditional applications, and Web applications.
Read: Client Needs and the Design Process in Web Projects
Due: Term project proposal

April 14:
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 17:
XML Parsing: Simple API for XML (SAX) XML
Read: Chapter 18 (Programming Models) and Chapter 20 (Simple API for XML (SAX)) in

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

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

April 21:
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 24:
Exam #1

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

April 26 (Laboratory):
Lab #2: Cascading Style Sheets, and hands-on setup and execution of a simple PHP application

April 28:
Meet in class with your group to develop requirements document.

Week 5: Information Design, Session Management

May 1:
Object-orientation in PHP
Read: Chapter 6 (Object-Oriented PHP) in PHP and MySQL Web Development
Due: Project requirements document
Due: Lab #2

May 3:
Form input in PHP

May 3 (Laboratory):
Lab #3: PHP form input

May 5:
Session management in PHP
Read: Chapter 20 (Using Session Control in PHP) of PHP and MySQL Web Development
Due: Lab assignment #3 (in class)

Week 6: HTTP, URI

May 8:
Information design
Read: Chatper 6 ("Navigation") of User-Centered Website Development
Read: Chapter 9 (Development Techniques) of Hypermedia and the Web

May 10:
Overview of HTTP, URI, URL, URN
Read: Sections 6.2 and 2.6 of Web Protocols and Practice
Read: Uniform Resource Identifiers (URI): Generic Syntax (read to the start of Section 1.6)

May 10 (Laboratory):
Lab #4: Session management in PHP

May 12:
HTTP Caching
Read: Chapter 3, (Web Proxies) of Web Protocols and Practice, pages 59-64 (through Section 3.3)
Due: Lab assignment #4 (in class)

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

May 15:
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 17:
Web application security, SQL injection attacks
Read: SQL Injection Attacks by Example

May 17 (Laboratory)
Lab #5: Creating pages with database content

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

Week 8: XSLT, Web Services

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

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

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

May 26:
Exam #2
Due: Lab assignment #6

Week 9: Web Services, SOAP

May 29:
No class, Memorial Day

May 31:
Overview of Web Services architecture, WSDL, SOAP data marshalling, SOAP in PHP
Read: Chapter 31 (Connecting to Web Services with XML and SOAP) in PHP and MySQL Web Development

May 31 (Laboratory):
Lab #7: Web service access using PHP and SOAP

June 2:
XForms Introduction

Week 10: WebDAV, Project Presentations

June 5:
XForms type checking and calculations

June 7:
Final project presentations

June 9:
Final project presentations
Due: Lab assignment #7

June 14:
Due: Final project notebook

Last modified: 6/5/2006