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.
Popular Links
Let’s start with the links you're likely to use most often in this course.
- DevGuru’s JavaScript Quick Reference
- http://www.devguru.com/technologies/javascript/home.asp
A thorough reference source for all of JavaScript, well-written and
free!
- 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.
- Simply JavaScript
- http://www.sitepoint.com/books/javascript1/
This is the companion Web site for the book we are using. Here you
can find the most recent lists of known errors in the book, the
code archives containing all the code that appears in the book,
and various other useful resources.
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.
- SSH Secure Shell Client
- http://www.icrew.org/mirror/ssh/SSHSecureShellClient-3.2.9.exe
We will be using SSH Secure Shell Client to establish secure FTP sessions to
manipulate our files on the server host. Although we will not be using it
as such, it can also be used to establish secure terminal emulator sessions.
Since you will be using this software non-commercially, the license agreement
allows you to download and install it for free.
- Firefox
- http://www.mozilla.com/
Firefox is a very popular, open-source Web browser that is available for Windows,
Macintosh and Linux.
- 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.
- Firebug Extension for Firefox
- http://www.getfirebug.com/
Another highly recommended extension to Firefox. A suite of tools designed
for Web developers, Firebug will come in handy throughout this course.
- 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.
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.
- ECMAScript Language Specification
- http://www.ecma-international.org/publications/standards/Ecma-262.htm
ECMAScript is the name of the standardized core of the JavaScript
language. This specification deals with things such as language
syntax, control structures, and non-browser-specific built-in objects
like strings and arrays. It does not, however, deal with browser-specific
features such as the DOM.
- 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.
- 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.
- 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.
JavaScript Tutorials
There are several JavaScript tutorials available on the Web. As I encounter
those worthy of special mention, I list them below.
- 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.
Regular Expressions
Regular expressions are a powerful patten matching tool that can greatly
simplify the code necessary for certain types of form validation
and other string processing. However, they can take a bit of effort
to master. Try the following resources to learn more.
- Regular-Expressions.info
- http://www.regular-expressions.info/
A complete, yet concise, reference source for regular expressions
in general. However, it is not JavaScript-specific.
- Regular Expressions in JavaScript
- http://www.sitepoint.com/article/expressions-javascript/
As the name implies, this is a JavaScript-specific coverage of
regular expressions by Kevin Yank.
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.