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
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
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)
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
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)
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)
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
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
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
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: