CMPS183 Spring 2010: Reading
Each week has a set of required and optional readings. Students are expected to read all required readings by the date marked on the syllabus. Optional readings provide additional perspective and depth on the material.
There are two textbooks that contain assigned reading for the class (links only work at on-campus computer, or via Sluglink proxy):
- PHP and MySQL Web Development, Third Edition, Luke Welling, Laura Thomson, SAMS, 2005 (there is a PDF version that can be downloaded).
- XML in a Nutshell, Elliotte Rusty Harold, W. Scott Means, Third Edition O'Reilly, 2004.
Additional books that are worth reading (complimentary to the topics covered, links only work at on-campus computer, or via Sluglink proxy):
- Learning JavaScript, 2nd Edition, by Shelley Powers
- Designing Web Navigation, 1st Edition, by James Kalbach
- Information Architecture for the World Wide Web, 3rd Edition, by Peter Morville; Louis Rosenfeld
- Programming the Semantic Web, 1st Edition, Toby Segaran; Colin Evans; Jamie Taylor
- Don't Make Me Think!: A Common Sense Approach to Web Usability, by Steve Krug
- User-Centered Web Site Development: A Human-Computer Interaction Approach (Paperback) by Daniel D. McCrackenDaniel D. McCracken, Rosalee J. Wolfe, Jared M. Spool (check with library)
- XSLT Cookbook, 2nd edition, Sal Mangano, O'Reilly, 2005
Some readings for the class are not found in these texts. These readings are available in digital form from the course website. Directions on accessing these materials will be given in class, and can also be obtained by emailing the Professor.
Week 1: Pre-Web Hypertext Systems and Data Models
Required:- Hypermedia, Chapter 2 of Hypermedia and the Web, David Lowe, Wendy Hall, Wiley, 1999, pp. 25-52.
- Chapter 4 (Locations, Placements, and Interconnections) of From Web to Workplace, Kaj Gronbaek, Randall H. Trigg, MIT Press, 1999, pp. 47-60.
- Wikipedia: Hypermedia
- Wikipedia: Hypertext
- Software Development Methodology
- HTML Tutorial (walk through basic sections, Introduction, until HTML Quick List)
- As We May Think, Vannevar Bush, Atlantic Monthly, July, 1945.
- Augmenting Human Intellect: A Conceptual Framework, D. C. Engelbart, Summary Report for Contract AF49(638)-1024, 1962.
- The Xanadu Vision, Ted Nelson.
- Vannevar Bush and the Memex, in Hypertext: The Convergence of Contemporary Literary Theory and Technology, George Landow, Johns Hopkins Univ. Press, 1992, pp. 14-18.
- Uniform Comparison of Data Models Using Containment Modeling, Jim Whitehead, Proc. Hypertext 2001, College Park, MD, June 11-15, 2002, pp. 182-191.
- As We Do Write, Jim Whitehead, 2002.
- KMS: A Distributed Hypermedia System for Managing Knowledge in Organizations, Robert M. Akscyn, Donald L. McCracken, Elise A. Yoder, Communications of the ACM, Vol. 31, No. 7, July, 1988, pp. 820-835.
- Reflections on Notecards: Seven Issues for the Next Generation of Hypertext Systems, Frank G. Halasz, Communications of the ACM, Vol. 31, No. 7, July, 1988, pp. 836-852.
- Intermedia: The Concept and Construction of a Seamless Information Environment, Nicole Yankelovich, Bernard J. Haan, Norman K. Meyrowitz, Steven M. Drucker, IEEE Computer, Vol. 21, No. 1, January 1988, pp. 81-96.
- Hypertext: Behind the Hype. ERIC Digest
- Historical overview of Hypertext
- Architectural Component of Hypertext Systems
- Spatial Hypertext: An Alternative to Navigational and Semantic Links
- Scrum Alliance
- Articles on Scrum
- Video: History of the Internet
Week 2: Web Application Requirements and Frameworks, HTML Forms, JavaScript (Part 1)
Required:- Chapter 7 ("Prototyping") of User-Centered Website Development
- Client Needs and the Design Process in Web Projects, D. B. Lowe, J. Eklund, Journal of Web Engineering, vol. 1, no. 1, October 2002, pp. 23-36.
- Wikipedia: Web application framework
- Wikipedia: Comparison of web application frameworks
- Wikipedia: Javascript
- Wikipedia: Javascript Syntax
- Chapter 1 Introduction of Requirements Engineering: Processes and Techniques, Gerald Kotonya, Ian Sommerville, John Wiley & Sons, 1998, pp. 3-23.
- Chapter 3 (sections 3.1, 3.2 only) on Requirements Elicitation and Analysis, in Requirements Engineering: Processes and Techniques, Gerald Kotonya, Ian Sommerville, John Wiley & Sons, 1998, pp. 53-73.
- Chapter 1 (Foundations) of The Art & Science of Web Design
- Prototyping: Picking the Right Tool
- Building a Web application - Requirements Gathering (Example)
- Sample List of prioritized requirements for a web application
- UIDesign.net - Site Redesign - Gathering Requirements
- Web Site User Centered Design: Techniques for Gathering Requirements and Tasks
- Site Diagrams: Mapping an Information Space
- Video: Better Web application framework
- JavaScript tutorial
Week 3: JavaScript (Part 2), Cascading Style Sheets
Required:- Chapter 13 (Cascading Style Sheets (CSS)) in XML in a Nutshell
- Cascading Style Sheets: The Definitive Guide, 2nd edition, Eric Meyer, O'Reilly, March 2004.
Week 4: XML, Introduction to PHP
Required:- Chapter 1 (Introducing XML), Chapter 2 (XML Fundamentals), and Chapter 3 (Document Type Definitions (DTDs) in XML in a Nutshell
- Chapter 1 (PHP Crash Course), Chapter 6 (Object-Oriented PHP) in PHP and MySQL Web Development
- What Do XML Documents Look Like?, Norman Walsh, XML.com, October 3, 1998.
- Extensible Markup Language (XML) 1.0 (Third Edition), Tim Bray, Jean Paoli, C.M. Sperberg-McQueen, Eve Maler, Franois Yergeau, W3C Recommendation REC-xml, February 4, 2004.
- Namespaces in XML, Tim Bray, Dave Hollander, Andrew Layman, W3C Recommendation REC-xml-names, January 14, 1999.
- PHP web site
- PHP Manual, by Mehdi Achour, Friedhelm Betz, Antony Dovgal, Nuno Lopes, Philip Olson, Georg Richter, Damien Seguy, Jakub Vrana, and others.
Week 5: XML Parsing, Object Oriented PHP
Required:- Chapter 18 (Programming Models) and Chapter 20 (Simple API for XML (SAX)) in XML in a Nutshell
- Chapter 19 (Document Object Model (DOM)) in XML in a Nutshell
- Chapter 20 (Simple API for XML (SAX)) in XML in a Nutshell
- Chapter 6 (Object-Oriented PHP) in PHP and MySQL Web Development
- What is Software Architecture? (Chapter 1), and Evaluating a Software Architecture (Chapter 2), of Evaluating Software Architectures: Methods and Case Studies, by Paul Clements, Rick Kazman, Mark Klein, Addison-Wesley, 2002, pages 1-16, 19-42.
Week 6: Forms and Session Management in PHP, CodeIgniter Framework, Information Design, Web Architectures and Standards
Required- Chapter 20 (Using Session Control in PHP) of PHP and MySQL Web Development
- Sections 6.2 (HTTP Language Elements) and 2.6 (Cookies) of Web Protocols and Practice, Balachander Krishnamurthy, Jennifer Rexford, Addison-Wesley, 2001.
- Chapter 3 (Web Proxies) of Web Protocols and Practice, pages 59-64 (through Section 3.3)
- Uniform Resource Identifiers (URI): Generic Syntax (read to the start of Section 1.6)
- CodeIgniter Introduction (read Getting Started, CodeIgniter at a glance, Supported Features, Application Flow Chart, Model View Controller, Architectural Goals)
- Chatper 6 ("Navigation") of User-Centered Website Development
- Chapter 9 (Development Techniques) of Hypermedia and the Web, David Lowe, Wendy Hall, Wiley, 1999, pp. 296-326.
- HTTP Working Group
- Hypertext Transfer Protocol -- HTTP/1.1, R. Fielding, J. Gettys, J.C. Mogul, H. Frystyk, L. Masinter, P. Leach, T. Berners-Lee, Internet Draft Standard Request for Comments (RFC) 2616, June, 1999.
- HTTP State Management Mechanism, D. Kristol, L. Montulli, Internet Proposed Standard Request for Comments (RFC) 2109, February 1997.
- Wikipedia: Representational State Transfer (REST)
Week 7: UML, HTTP Caching, Database-backed Web Applications & Security
Required:- Classes, Objects, and Their Relationships, Chapter 4 of UML Toolkit, Hans-Erik Eriksson and Magnus Penker, John Wiley, 1998, p. 65-117.
- Chapter 10 (Accessing Your MySQL Database from the Web with PHP) in PHP and MySQL Web Development
- SQL Injection Attacks by Example, Steve Friedl, Unixwiz.net Tech Tip.
- Chapter 12 (Database Management Systems) in Philip and Alex's Guide to Web Publishing, Philip Greenspun, Morgan Kaufmann, 1999.
Week 8: XPath, XSLT, Web Services, Ajax
Required:- Chapter 9 (XPath) in XML in a Nutshell
- Chapter 8 (XSL Transformations) in XML in a Nutshell
- Wikipedia: Ajax programming
- Wikiepdia: Ajax framework
- Walk through XPath tutorial and XSL tutorial
- XSLT Cookbook, 2nd edition, Sal Mangano, O'Reilly, 2005. (Link only works at on-campus computer, or via Sluglink proxy)
- zvon.org XPath tutorial, includes an interactive XPath evaluator where you can enter XPath expressions and visually see which nodes are selected.
- Dan Olteanu's XPath Tutorial - A slide deck describing XPath
Week 9: Web Services, SOAP, JSON
Required:- Chapter 31 (Connecting to Web Services with XML and SOAP) in PHP and MySQL Web Development
- Wikipedia: Web services
- Wikipedia: SOAP
- Wikipedia: JSON
- Wikipedia: Javascript frameworks
- Wikipedia: jQUery
- jQuery documentation (Getting Started, API reference, UI reference)
- Building XML Web Services with PHP NuSOAP by Ahm Asaduzzaman
- A Web Services Primer, Venu Vasudevan, April 4, 2001.
- SOAP Version 1.2 Part 1: Messaging Framework, Martin Gudgin, Marc Hadley, Noah Mendelsohn, Jean-Jacques Moreau, Henrik Frystyk Nielsen, W3C Recommendation, June 24, 2003.
- XML Protocol Working Group of the W3C
- Web Services Description Language (WSDL) 1.1, Erik Christensen, Francisco Curbera, Greg Meredith, Sanjiva Weerawarana, W3C Note, March 15, 2001.
- Web Services Description Working Group of the W3C
Week 10: Semantic Web overview, Project Presentations
Required: Optional:- Video: Intro to the Semantic Web
- Video: Internet Semantic Web 3.0
- Video: The Semantic Web of Data
- Video: RDFa Basics

