Web Design and Implementation (Winter 04-05)


This is the web site for Professor Lawley's Winter 2004-05 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.

Not sure what you should be doing this week? Check here.

16 February 2005

Today's Topic: Practical Exam

The final (pass/fail) practical will be given today. If you fail the exam, I will schedule a makeup time for you to take a second version during finals week. If you do not pass the second practical, you will not receive a passing grade in the course.

See all entries for today's class

14 February 2005

Sample Practical

The practical exam will require you to create a web page much like this one:

View Screen Shot

The page will need to be placed in a protected directory; I will provide you with the user ID and password to be used.

Today's Topic: Basic PHP

Everything you can do with server-side includes you can also do with PHP...but with PHP you can do it better!

PHP is a programming language that you embed in your HTML pages, but which is processed on the server side (just like a server-side include). It can be used for a wide variety of things, including processing of form data, inclusion of files, and more.

The web programming class (539/739) covers PHP in great detail, including using PHP to access databases. Today we'll cover just the basics of PHP.

See all entries for today's class

9 February 2005

Today's Topic: Studio Session: Dynamic Sites and CGI

We'll implement some basic CGI scripts, then work with scripts from online archives.

See all entries for today's class

7 February 2005

Today's Topic: Dynamic Sites and 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

2 February 2005

Today's Topic: Studio Session: Server-Side Technologies

We'll work on implementing server-side authentication and server-side includes.

See all entries for today's class

31 January 2005

Today's Topic: Server-Side Authentication and SSI

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

26 January 2005

Today's Topic: Studio Session: DHTML

We'll work on DHTML exercises, focusing primarily on menuing and navigation systems.

See all entries for today's class

24 January 2005

Today's Topic: Advanced Javascript and DHTML

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

See all entries for today's class

19 January 2005

Today's Topic: Studio Session: Javascript and Forms

We'll work through a series of Javascript and HTML form exercises today.

See all entries for today's class

17 January 2005

Today's Topic: DOM, Javascript, and HTML Forms

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

12 January 2005

Today's Topic: Studio Session: Accessibility and Usability

We'll try to some accessibility exercises, and do some basic usability testing.

See all entries for today's class

10 January 2005

Today's Topic: Accessibility and Usability

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

5 January 2005

Competitive Analysis Resources

Yes, you need to do a competitive analysis for your design document.

The best thing to use for that is other academic labs.

Here's a list of labs to use.

Today's Topic: Studio Session: Information Architecture

We'll work through some information architecture exercises today, focused on your group project architecture.

This is a required studio session.

See all entries for today's class

3 January 2005

Today's Topic: Information Architecture

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

The primary difference between 320 and 409 is that in 320 we talk about how to build pages while in 409 we talk about how to build sites. That's the focus of this week's lectures...how to effectively organize and present information in a way that's useful to the intended audience.

See all entries for today's class

15 December 2004

Today's Topic: Studio Session: CSS Positioning and Design

Today's studio session will focus on CSS for positioning and layout of elements on a page.

See all entries for today's class

14 December 2004

Group Assignments

As promised, here are the group assignments. Your first two tasks are to choose a project manager and a name. I'd suggest taking advantage of the studio time tomorrow for your first group meeting.

(If you need contact information for a group member, try the RIT online directory for their email address...if that fails, let me know.)

Group 1
-------
Ryan Weigand
Bryan Miller
Dave Galvin
Matt Doyle
Dave Morgan
Greg Heerkens

Group 2
-------
Sean Martin
Ryan Taylor
Brandon Benvie
Jared Balboni
Kent Walker
Regan Messenger

Group 3
-------
Kevin Kroetsch
John Caligaris
Shaena Bogart
Kenny Johnson
Nick Ward
Jesús Janne

Group 4
-------
Christopher Welch
Matthew Mikuzewski
James Schmatz
Matt Muoio
Kyle Nikolich
Darryl Williams

Group 5
-------
Li Chun Yu
Jeremy Clark
Erin Milano
Adrienne Dahler
Sudha Bhat
Nicole LaGrasso

Group 6
-------
Elaine Hackley
Phil Leith-Tetrault
Elizabeth LaFrance
Katie Nemmer
Kara Slezak
Kevin Sweeney

13 December 2004

Group Interaction Tools

On Wednesday, I'll show several examples of group communication tools that you can choose for working in your groups this quarter. They include:

  • Group tools in myCourses
  • FirstClass conferences
  • Password-protected wikis
  • Basecamp project management

Whichever option your group chooses, you should make sure you have it in place, and everyone is familiar with login methods, before you leave for break!

I should have group assignments out by tomorrow afternoon...

Today's Topic: CSS Positioning and Visual Design

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

8 December 2004

Today's Topic: Studio Session: Basic CSS

Today we'll work on CSS formatting and creating valid XHTML documents.

See all entries for today's class

6 December 2004

Keeping Up With Class Assignments

Because of the blended learning approach we're taking this quarter, I want to be sure that everybody understands exactly what I'm expecting of them in terms of attendance, participation, and deliverables. So here's a handy-dandy PDF that you can print and save, or simply view online whenever you'd like.

What it boils down to is (a) do the readings before Monday, (b) come to lecture and participate in discussions on Monday, (c) do the exercises for the week by Wednesday, or come to the studio session on Wednesday to work on them, (d) post to your weblog about lecture, readings, and exercises, and (e) make sure you complete and turn in your assignments (and link to them on your blog).

The PDF has longer versions of each of the above, as well as some tips for how to configure MovableType properly for class (enabling trackbacks, adding appropriate categories, etc).

Today's Topic: Web Standards and CSS Formatting

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

1 December 2004

Today's Topic: Studio Session: Movable Type

In studio we'll install and configure the Movable Type weblog/CMS system.

See all entries for today's class

29 November 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.

Web Developer's Toolbar

I would strongly encourage you to install the very useful Web Developer's Extension, an extension for both Firefox and Mozilla.

It has many features useful to you in your work for this course, which I'll be talking about during 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: Course Overview, Weblogs, and CMS

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

27 November 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.

This class is being taught in a new "blended learning" format--I will lecture on the week's topic on Monday, and Wednesday will be an optional studio session. You can work on the studio exercises on your own time, and/or attend the studio session so that you can work with me and classmates on the exercises.

Only two of the Wednesday sessions are required--the first is the information architecture session, in which you'll work in groups on the architecture for your group projects, and the second is the practical exam the last week of class.

We'll talk more about this format during the first class meeting.