Instructor Notes, Dan Keller's HTML Authoring for the Web, Part II

ChapterTiming
1This course is considered to be at an advanced level. The first chapter includes a review in which you make sure your students are familiar with the basics of HTML (bold, italics, headers, lists, images, hyperlinks) and are thus qualified to attend. If you find that they are not, this chapter provides the opportunity to fill in any knowledge gaps. More than once when enrollment screening has been lax, instructors have found themselves spending a lot of time here. If this happens to you, do it with grace and make up the time in later chapters as suggested below.
2Tables are the most important topic in this course. Although it was not Tim Berners-Lee's original intention, tables are universally used for page layout on the web. Hence, this chapter is early in the course, to make sure it gets the coverage it deserves. To stay on schedule, complete it by 11:00 am. If you spent a lot of time in the first chapter, you can save time here by giving cursory treatment to spanning cells, non-cells, and multi-column text. These topics are not essential for tables usage.
3
4This one is the black hole -- you can spend hours here if you're not careful. For an advanced audience, however, you can use this chapter to add a lot of value to the course.
5
6
7This chapter can be done in as few as ten minutes. Since most web authoring tools generate image maps simply with a few clicks and drags of the mouse, your audience may not be interested in the details. If you're pressed for time, recover here.
8The section entitled "The Instructor Pontificates" is an opportunity to cover broader design, performance, political and other issues as appropriate for your audience. Skip it entirely if you're pressed for time.

Code Walkthrough

In this course, HTML is used to describe HTML, i.e. the course materials are on the web. Thus, each technique (tables, forms, etc.) is demonstrated by example. In explaining the technique, first view it on its web page, then View Source. Discuss the source code in detail with your class.

Telnet Demo

We find that the most effective way to convey the concept of the HTTP protocol is with a demo.

In the demo, the instructor does what a browser does: sends a GET request to a web server. Students see the HTTP protocol in action, in a clear and understandable way.

To do the demo, connect to a remote web site via telnet on port 80. Then issue a GET request for the server's home page. Here's how:

  1. Login to a machine that's outside a corporate firewall (if the firewall forbids telnet packets) or use a special "socksified" telnet named rtelnet that can pierce the firewall. If none of this is do-able and you're trapped inside the firewall, skip the following step and choose a web server that's inside the firewall.

  2. Choose the "target" server. Let your students name a company; your target server becomes www.favoritecompany.com. This makes it fun, and the demo is more credible, since you obviously haven't chosen a well-behaved server ahead of time.

  3. Invoke telnet (or rtelnet) and connect to the remote server's port 80, as follows:
  4. Type:
    GET / HTTP/1.0
    <Enter>
    <Enter>
    Note: The / means the server's default ("home") page, no matter what it's called (on some servers it's index.html; on others it's index.htm, default.htm, home.html, etc.) Both <Enter>s are required; the second one is the blank line that delimits the message head from the message body in HTTP. This is how the recipient (the web server) knows the sender (you) is done talking and to respond.

  5. An HTTP header and body is returned by the remote server. Examine them both with your class. The header contains interesting stuff, especially the name of the server software -- does favoritecompany use Netscape? Microsoft IIS? Apache?

    The body is, of course, simply HTML. Its familiarity will be reassuring to your class. There may be a lot of it; you'll be glad your window has a scrollbar.