book cover
Web Programming Step by Step
by Marty Stepp, Jessica Miller, and Victoria Kirst

Authors' official companion web site


Supplements for Second Edition

(Supplements for the second edition are still being updated. Thank you for your patience! See the first edition's Supplements page for additional supplements such as lab handouts and homework assignments.)

The following supplements are available to all instructors and students using the textbook:

Supplemental Online-Only Chapters and Appendices

Here are some chapters and appendices of additional content that we cut from the book for space, but we'd still like to provide to you for your own educational purposes.

References/Links from Each Chapter

The following page lists every link and reference given at the end of each chapter of the textbook, so that you don't have to type them in to use them.

Lecture Slides

organized by chapter (last updated June 2, 2012):

  1. Chapter 1: The Internet and World Wide Web
  2. Chapter 2: HTML Basics
  3. Chapter 3: CSS for Styling
  4. Chapter 4: Page Layout
  5. Chapter 5: PHP
  6. Chapter 6: Forms
  7. Chapter 7: Web Design
  8. Chapter 8: JavaScript
  9. Chapter 9: The Document Object Model (DOM)
  10. Chapter 10: Prototype and Scriptaculous
  11. Chapter 11: Events
  12. Chapter 12: Ajax, XML, and JSON
  13. Chapter 13: Relational Databases and SQL
  14. Chapter 14: Cookies and Sessions
  15. Chapter 15: Web Security

split into individual lectures for our web programming course at the University of Washington (last updated June 2, 2012):

  1. Lecture 1: The Internet and World Wide Web
  2. Lecture 2: Basic HTML/CSS
  3. Lecture 3: More Basic CSS
  4. Lecture 4: Page Sections (div/span) and CSS Box Model
  5. Lecture 5: Floating Layouts
    Lecture 5b: Positioning
  6. Lecture 6: Introduction to PHP
  7. Lecture 7: Embedded PHP
  8. Lecture 8: File Processing in PHP
  9. Lecture 9: Forms
  10. Lecture 10: Form Posting
  11. Lecture 11: Form Validation and Regular Expressions
  12. Lecture 12: HTML Tables
  13. Lecture 13: Databases and SQL
  14. Lecture 14: SQL Multi-table Queries (Joins)
  15. Lecture 15: SQL for Database Definition
  16. Lecture 16: Introduction to JavaScript
  17. Lecture 17: Document Object Model (DOM)
  18. Lecture 18: Unobtrusive JavaScript; Prototype Framework
  19. Lecture 19: Walking the DOM Tree
  20. Lecture 20: Event-Handling
  21. Lecture 21: Asynchronous JavaScript and XML (Ajax)
  22. Lecture 22: eXtensible Markup Language (XML)
  23. Lecture 23: JavaScript Object Notation (JSON)
  24. Lecture 24: Web Services
  25. Lecture 25: Scriptaculous Framework
  26. Lecture 26: Cookies and Sessions
  27. Lecture 27: Web Security

Homework Assignment Specification Ideas

(last updated August 24, 2012)

Labs and Discussion Section Handouts

Right now our newest version of these materials (HTML5/CSS3 version to match 2nd edition of the textbook) has "University of Washington" in its headers and hasn't been scrubbed clean to be generic for any institution. The specs also refer to our own department's resources such as our "Webster" server the students use to do their work. If you don't mind that or want to scrub these out of the documents, you can find them here:

If you want a slightly older version of these specs that is scrubbed clean and branded as "Web Programming Step by Step" to be more generic and reusable, see our Supplements page for the 1st edition of the textbook. "Scrubbed" versions of the newest 2nd edition specs are coming soon.

Sample Exams

(Exams are password-protected. Instructors, please contact us for access.)
(last updated August 24, 2012)

Code Files Shown in the Textbook

Databases Used in the Textbook

(You can import these databases into the MySQL instance on a Linux server using a terminal command such as:

mysql -u root -p < filename.sql

Extra Sessions:

In our Spring 2012 course at UW our TAs taught a weekly extra session where they went into other advanced topics that are not in the textbook or in the regular course. These topics included designing web sites for mobile devices, making sites work in IE, jQuery, programming games in JavaScript with the HTML5 canvas, Node.js, making your own simple message board/blog, CSS3 transformations and animations, and others. The materials were created by teaching assistants Roy McElmurry, Tanner Means, Alex Miller, Mason Remy, and Shiny Yang. Many thanks to the TAs for these great materials!

Ruby on Rails (supplemental slides and material)

These materials were used for optional weekly extra sessions about Ruby on Rails in our Spring 2009 course at Washington. The materials were created by teaching assistants Ryan Tucker and Kelly Dunn. Many thanks to Ryan and Kelly for these great materials!

Other Resources

Valid XHTML 1.1 Valid CSS!