Web Design and Implementation (Fall 2004)


This is the web site for Professor Lawley's Fall 2004 section of Web Design and Implementation (4002-409). I'll use this site for all course related material and news, with the exception of grades, which will be posted on the myCourses site. This first page will have recent news and announcements; for information on class topics, readings, exercises, and discussions you can use the outline menu item above, or click on a specific day in the calendar on the left.

11 November 2004

Today's Topic: Review and Catchup

This class session will be used to review material from the quarter, or to compensate for "slippage" from topics that exceeded their allotted time.

If there's something that you'd like to be sure we cover in this last class, please add a comment telling me what it is.

See all entries for today's class

9 November 2004

Today's Topic: Modifying CGI Scripts

Many web developers are not also web programmers, and don't write CGI scripts from scratch. They do, however, have to know how to access and sometimes install and configure, scripts written by others. Today we'll talk about where you can find archives of CGI scripts online, and how to install them on your site.

See all entries for today's class

4 November 2004

Today's Topic: Basic PHP

PHP is a bit like server-side includes on steroids. Like SSI, it's embedded in the HTML of a page, and is processed by the server before it sends the page to the browser. Unlike SSI, it is a fully-featured programming language, complete with database query capability.

PHP is most often used to create dynamic sites that pull content from a database. However, it can also be used for a variety of non-database operations--customizing the display of a page based on user input, for example, or sending email messages.

I've provided two PHP tutorial sites for you at http://del.icio.us/mamamusings/php/ .

Keep in mind that Grace is running PHP3, not PHP4. By default, it will only process PHP pages with a .php3 extension. If you'd like your PHP pages on Grace to have a .php extension, instead, you can create an .htaccess file with the following line:

AddType application/x-httpd-php3 .php

See all entries for today's class

2 November 2004

Today's Topic: Dynamic Sites & Basic CGI

This week's topic is CGI, or the "common gateway interface." This is the interface that allows the web server to run a program on the server, and then return the results of the program to the user. Typically, the program will take as an input the contents of a form--whether it's a simple one-box search form (like Google), or a complex, lengthy registration form.

Before starting on the exercises (which will be a separate post), read Chapter 11 of the Webmaster in a Nutshell book, and the Webmonkey article "CGI Scripts for Fun and Profit."

You should also review the information we covered on forms, since form attributes like "action" and "method" become very important in the context of CGI.

See all entries for today's class

28 October 2004

Today's Topic: Server-Side Includes

Today we'll continue our discussion of server-side operations by talking about server-side includes, which allow you to process commands on the server for inclusion on your web page.

See all entries for today's class

26 October 2004

Today's Topic: Server-Side Authentication

Today we'll discuss basic web server operation--what gets sent back and forth between a client and a server, and what's the order of operations.

Then I'll cover how to create an .htaccess file to restrict access to a directory on your site (server side authentication), as well as to create a custom 404 error page, or change the way the server handles various file types.

See all entries for today's class

21 October 2004

Today's Topic: DHTML

DHTML, or Dynamic HTML, is the use of Javascript to manipulate CSS objects (typically DIVs) on an HTML page. Javascript can be used to show and hide items, to change their appearance, and even to move them on the page.

See all entries for today's class

19 October 2004

Today's Topic: Advanced Javascript

We'll spend more time on Javascript exercises in class today, including browser detection and page redirection.

See all entries for today's class

14 October 2004

Today's Topic: Javascript & HTML Forms

One of the most common uses of Javascript is to process the inputs from HTML forms--from simple page redirects to more complicated menuing systems. We'll talk about the basic elements and syntax of HTML forms, and then manipulate the inputs to those forms using Javascript.

See all entries for today's class

12 October 2004

Today's Topic: Document Object Model & Basic Javascript

This is where we switch gears from design to implementation. We'll start with client-side programming using JavaScript, which is used for everything from simple rollovers to complex calculators.

To make JavaScript work consistently, you need to understand the Document Object Model, or DOM, that the browser uses to represent objects to be manipulated (images, form fields, etc).

See all entries for today's class

7 October 2004

Today's Topic: Information Architecture II

We'll continue with Tuesday's topic and discussion.

See all entries for today's class

5 October 2004

Today's Topic: Information Architecture I

The best web sites start with careful planning, and avoid the "Winchester Mystery House" style of on-the-fly architecture.

As we've discussed, the difference between 741 and 737 is that in the former we talk about how to build pages while in the latter we talk about how to build sites. That's the focus of this week's lectures...how to effectively organize and present large amounts of information in a way that's useful to the intended audience.

See all entries for today's class

30 September 2004

Vote! Win!

Have you registered to vote? If so, that's great! If not, it's not too late.

Either way, go...now...to VoteOrNot, and enter to win $100,000, just for being or becoming a registered voter. Then refer your friends...if someone you referred wins, you both win $100,000. What's not to like?

More information about a local congressional race is available on my personal blog.

Today's Topic: Usability

It doesn't matter if your web site is beautiful and accessible if it's not also usable. Understanding your intended users and anticipating their needs is a critical part of the site design process.

See all entries for today's class

28 September 2004

Today's Topic: Accessibility

Closely related to the topic of standards and appropriate coding is the topic of web site accessibility. We'll talk about different kinds of accessibility, the reasons for building accessible web sites, and some techniques for making sure sites are accessible to all users.

See all entries for today's class

23 September 2004

Today's Topic: CSS and Visual Design

Now that you have the tools to modify the presentation of your pages, you need to learn to use those powers for good and not for evil. We'll talk about visual design issues today, and how those of us who aren't gifted in visual design can learn from examples around us.

See all entries for today's class

21 September 2004

Today's Topic: CSS Positioning

The table-based approach to layout that you learned in 320/741 (or on your own) was cutting edge back when David Siegel pioneered it back in 1997. But browsers have come a long way since then, and markup has evolved to match that.

Using tables for layout has two major problems. The first is that it ties together content and presentation, which are two components that are best left separate. The second is that it results in bloated, slow-loading code.

We'll discuss the importance of separating content and presentation, as well as the specifics of the CSS box model and cross-browser challenges for CSS-based positioning.

See all entries for today's class

16 September 2004

Project Group Assignments

Group 1: Cirrus
Kirby Bolser
Brian Daggett
Colin Doody
Ted Pearson
Dan Wasyluk

Group 2: Cumulus
David Attaldo
Matthew Hersh
Markus Kunz
Brandon Lewis
Scott Skalny
Greg Waxman

Group 3: Nimbus
Milli Ahluwalia
Robert Henderson
Matthew Kampschmidt
Kurt Kubitz
Julie Mason
Hoang Tran

Group 4: Stratus
Brian Dagan
David Giudice
Bryan O'Leary
Jeremy Paris
William Parken
Jason Zeiner

Today's Topic: Typography and CSS Formatting

The most important part of most web sites is the text, but many web developers know little or nothing about typography, or about how to use CSS to control typographic presentation effectively.

We'll talk about basic typographic terms, concepts, and formats. Then we'll spend some time exploring advanced CSS formatting properties.

See all entries for today's class

14 September 2004

Today's Topic: Web Standards

Today's discussion will be on web coding standards, which tend to generate almost as many religious battles as operating system choices.

We'll cover the HTML standards development process, existing HTML and XHTML standards, problems with existing standards, and browser support for standards. We'll also discuss the issues surrounding separation of presentation and content, and the importance of CSS in standards-based web development.

See all entries for today's class

9 September 2004

Web Developer's Toolbar

A colleague has pointed me to the very useful Web Developer's Extension, an extension for both Firefox and Mozilla.

It has an extraordinary number of useful features, which I'll be talking about in class today. I encourage you to install this extension on your own computers, and I've asked our sysadmins to install it on the IT computers as well.

Today's Topic: Weblogs, CMS, and Web Servers

Today we'll be talking about weblogs. What are they? How are they different from "regular" web sites? What opportunities and challenges do they present for web developers? Weblogs are a specialized type of CMS, or content management system, so we'll talk about CMS more generally, as well.

Weblogs will be an integral part of the course this quarter. This site, for example is a special-purpose weblog. Each of you will be creating your own weblogs for posting in-class exercises and links to assignments, as well as your thoughts on lectures and readings.

Because the Movable Type weblog software we'll be using is a set of programs that run on the web server, we'll review some basic server concepts so that you can install the programs in your Grace account.

See all entries for today's class

7 September 2004

ITS Form for Increasing Disk Quota

If you need to increase the amount of disk space allotted to you on Grace (the default is 20MB), you can fill out this form (it's a PDF file; print it out and fill it out in paper form), and bring it to me for a signature. I'll pass it on to the IT office for approval.

Today's Topic: Course Overview

We'll review the course web site, including the syllabus and the course outline. We'll also do introductions, and talk about what makes a web site "good."

At the end of class, I'll do a brief review of basic CSS formatting concepts for students who did not have CSS in their 320 classes.

See all entries for today's class

1 September 2004

welcome!

This will be where I post readings, assignments, and information about the class.

Use the menu at the top to navigate to specific sections (like the syllabus and the course outline), and the calendar on the left to find materials related to a specific class meeting date.