Web Sites
There are a tremendous number of Web-related resources available for
free on the Web itself. While this is by no means an exhaustive list,
I have compiled a list of links to several resources that you may find
helpful or interesting as we progress through the course.
Some of these sites will be equally useful to all students in the
course, while others are likely to be of greatest use or interest to
students who are struggling to keep up or looking for ways to range
ahead. If you find that a site listed below does not seem appropriate
to your specific needs, move on and check out some of the others.
Please note that I am not responsible for the sites listed
here, and I cannot guarantee the type, quality, or accuracy of the
material you’ll find at any site over which I have no control. In fact,
I can’t even guarantee that they’ll still be there when you try. So
if you find one you don’t like, just leave. If you find that one of
the links leads nowhere, please let me know by e-mail at
amgilder@cs.unh.edu.
Software Downloads
We will mention and use several different software applications throughout
this semester. I have tried to limit the list below to products that are
available for free. However, policies do change, so if you find one that is
no longer free, please let me know.
- Firefox
- http://www.mozilla.com/
Firefox is a very popular, open-source Web browser that is available for Windows,
Macintosh and Linux.
- Microsoft Internet Explorer
- http://www.microsoft.com/windows/ie/downloads/default.mspx
Internet Explorer is currently the most widely used browser on the Web (by
far). In all likelihood there’s already a copy installed on any Windows
or Macintosh computer you use. However, it is possible to download and install
the latest version manually.
- Netscape
- http://channels.netscape.com/ns/browsers/download.jsp
Netscape offers a commonly used alternative to Microsoft Internet Explorer.
- Web Developer Extension for Firefox
- http://chrispederick.com/work/firefox/webdeveloper
A highly recommended extension to Firefox by Chris Pederick. It adds a toolbar
to the browser chock full of useful tools for Web developers.
- Opera
- http://www.opera.com/
Opera is a small, fast, but very capable browser that has a limited but energetic
following. It has traditionally been an early adopter of standards.
- ConTEXT Programmer’s Editor
- http://www.context.cx/
If you’re looking for a good, free text editor within which to write
your XHTML and CSS, you may want to try ConTEXT.
- IrfanView
- http://www.irfanview.com/
Although it is technically an image viewer, IrfanView has enough capabilities
to do the basic resizing and file format conversions you will most likely
need for your work in this course. It’s free and easy to use.
- The GIMP
- http://www.gimp.org/
If you want something free that is significantly more full-featured than IrfanView,
you may want to try the GNU Image Manipulation Program (GIMP). It is roughly
comparable to Adobe Photoshop in terms of features, but it also shares a
rather steep learning curve with Photoshop.
- EasyPHP
- http://www.easyphp.org/
If you want to install your own Web server under Windows complete with PHP
and MySQL, you'll probably find it easiest to use the EasyPHP package which
provides Apache, PHP and MySQL combined in a single installer. See Appendix
B of the Williams/Lane textbook for step-by-step installation instructions.
- Apache
- http://httpd.apache.org/
If you want to install your own Apache server and EasyPHP is not appealing
to you, you can go straight to the source for Apache and download the files
you need to build your preferred server environment.
- PHP
- http://www.php.net/
If you decide not to use EasyPHP and install Apache yourself, you will also
want to install PHP. Use this link to acess the files and installation documentation
you will need to do so.
- MySQL
- http://dev.mysql.com/downloads/
If you decide not to use EasyPHP and install Apache yourself, you will also
want to install MySQL. Use this link to acess the files and installation
documentation you will need to do so. I’d recommend version 4.1 for
the purposes of this course.
Documentation
The official documentation for PHP, MySQL and Apache can all be found
on the Web. The links below will take you there quickly.
- PHP Manual
- http://www.php.net/manual/en/
This is the homepage for the English version of the PHP manual. There are
also printer-friendly and downloadable versions of the manual. For a complete
list of what is available, go to http://www.php.net/docs.php.
- MySQL Manual
- http://dev.mysql.com/doc/refman/4.1/en/index.html
This is the homepage for the English version of the MySQL 4.1 manual. There
various alternative versions of the manual available as well. For a
complete list of what is available, go to http://dev.mysql.com/doc/.
- Apache Manual
- http://httpd.apache.org/docs/2.2/
This is the homepage for the Apache documentation.
Standards Documents
The Web as we know it would not exist without some degree of standardization. And
all of the standards documents we will reference throughout the semester are
publicly available on the Web. When you want to resolve a technical question
about what can (and cannot) be done with a particular Web technology, the appropriate
standards document is often a great place to start.
- The World Wide Web Consortium
- http://www.w3.org/
The vast majority of the Web standards are published by the World
Wide Web Consortium (a.k.a. W3 or W3C). You will find a tremendous
wealth of information about the Web available from their home page.
The specific standards documents that are most pertinent to our
needs, however, are listed separately below.
- HTTP 1.1
- ftp://ftp.isi.edu/in-notes/rfc2616.txt
It’s a very technical document and not very pretty, but if you want to
go right to the definitive source of information about HTTP 1.1 this is it.
- XHTML 1.0
- http://www.w3.org/TR/xhtml1/
XHTML 1.0 is the markup language that we use in this course. Note,
however, that since it is a direct reformulation of HTML 4.01 using
XML, the actual XHTML 1.0 specification is rather limited in
scope and detail. For full details, you must also acquaint yourself
with the HTML 4.01 specification.
- HTML 4.01
- http://www.w3.org/TR/html4/
HTML 4.01 is the markup language upon which XHTML 1.0 is based. The
tags and attributes available in XHTML are essentially those which
were not deprecated in HTML 4.01. As such, the XHTML 1.0 specification
mentions only the changes and the newly enforced rules. The HTML
4.01 specification is where you often need to turn for the details.
- CSS Level 1
- http://www.w3.org/TR/CSS1
With minor exceptions, CSS Level 1 (or CSS1) is what we learn in this course.
Use the CSS Level 1 specification to resolve any questions or issues that arise.
- CSS Level 2 Revision 1
- http://www.w3.org/TR/CSS21/
If you wish to explore some of the newer features of CSS, you may wish to browse
the specification for CSS Level 2 Revision 1 (or CSS2). Note, however, that while most
current browsers now support most of CSS1, browser support for much of CSS2 is still
a bit spotty.
- The W3C Document Object Model (DOM)
- http://www.w3.org/DOM/
The W3C DOM is the one we will focus upon this semester. There are others,
but they are supported only by a limited range of older browsers.
-
Validators
There are a variety of code validators available on the Web. They can be quite useful
for ensuring that your code is written in compliance with the published standards. Please
note, however, that the final word on the correctness of your code will be determined
by the rules presented in lectures.
- The W3C Markup Validation Service
- http://validator.w3.org/
Use this validation Service to check markup in a variety
of languages. For this course, you will find it most useful for
validating you XHTML code.
- The W3C CSS Validation Service
- http://jigsaw.w3.org/css-validator/
Use this validation service to check the validity of your CSS stylesheets
and documents that incorporate CSS styles.
JavaScript Tutorials
Although we will not be covering JavaScript in any substantial way, you
may find it a useful tool for certain tasks. I’ve provided links
to a handful of tutorials that will help bring you up to speed quickly,
should you decide to explore.
- Thau’s JavaScript Tutorial
- http://webmonkey.wired.com/webmonkey/javascript/tutorials/tutorial1.html
Hosted by WebMonkey, an extensive collection of resources for Web developers, this
is an excellent introduction to the more practical basics.
- Thau’s Advanced JavaScript Tutorial
- http://webmonkey.wired.com/webmonkey/programming/javascript/tutorials/tutorial2.html
If you’ve mastered the material in the previous tutorial, this one will help
take your skills to the next level.
Cascading Style Sheets
There are many excellent resources on the Web to help you learn and explore
Cascading Style Sheets (CSS). As I encounter those I consider worth
special mention, I add links to the list below.
- CSS Zen Garden
- http://www.csszengarden.com/
There is no better way to get a sense of the power and flexibility
provided by CSS than simply spending a few minutes at this site. They
provide a relatively simple XHTML page and invite CSS professionals to
write style sheets that will present that XHTML in different ways. As you
explore the links, keep in mind that each one is the result of applying
different style sheets to the same underlying XHTML!
- Mandarin Design
- http://www.mandarindesign.com/
This site offers a wealth of useful information on CSS and blogs, including a
great selection of narrowly defined "copy-and-paste" tutorials for achieving
advanced design effects.