January 28, 2009
Harvard University
Division of Continuing Education
Extension School
Course Web Site: http://cscie12.dce.harvard.edu/
Copyright 1998-2009 David P. Heitmeyer
Instructor email:
david_heitmeyer@harvard.edu
Course staff email:
cscie12@fas.harvard.edu
A form for lecture feedback will be available from the course web site. Please take two minutes to fill it out after you have seen the lecture.
Course Description
This course provides a comprehensive overview of website development. Students
explore the prevailing vocabulary, tools, and standards used in the field and learn
how the various facets—including XHTML, CSS, JavaScript, Ajax, multimedia,
scripting languages, HTTP, clients, servers, and databases—function together in
today's web environment. The course provides a solid web development foundation,
focusing on content and client-side (browser) components (XHTML, CSS, JavaScript,
multimedia), with an overview of the server-side technologies. In addition,
software and services that are easily incorporated into a website (for example,
maps, checkout, blogs, content management) are surveyed and discussed. Students
produce an interactive website on the topic of their choice for the final project and
leave the course prepared for more advanced and focused web development
studies.
Course Syllabus | Course Schedule
In addition to the texts, there will be online readings assigned and online references cited.
Required texts:
Freeman, Elisabeth and Eric Freeman. 2005. Head First HTML with CSS & XHTML . O'Reilly & Associates. 658 p. ISBN 0-596-10197-X
Jennifer Niederst Robbins, 2006. Web Design in a Nutshell . O'Reilly & Associates. 826 p. ISBN 0596009879
Texts are available through:
Image from Opte Project and is used under the Creative Commons 1.0 license.
![]()
The irony is that in all its various guises -- commerce, research, and surfing -- the Web is already so much a part of our lives that familiarity has clouded our perception of the Web itself.
Graph made from TouchGraph
GoogleBrowser.
"The Indexed Web contains at least 25.41 billion pages (Tuesday, 27 January, 2009)."
from Maurice de Kunder's site http://www.worldwidewebsize.com/
About 73 million active sites in January 2009.
Source: Netcraft Web Server Survey
| Home Use, October 2008 | Value |
|---|---|
| Sessions/Visits per Person per Month | 37 |
| Domains Visited per Person per Month | 72 |
| Web Pages per Person per Month | 1,600 |
| Page Views per Surfing Session | 42 |
| PC Time Spent per Month | 38:07:33 |
| Time Spent During Surfing Session | 1:02:36 |
| Duration of a Web Page Viewed | 0:00:50 |
Source: Nielsen Online
Source: Top Sites, United States, from Alexa: The Web Information Company
Thumbnail screenshots from Thumbshots.org
Top 25 Sites in the United States:
The White House Site (www.whitehouse.gov)
1996
1997
1998
1999
2001
2002
2007
2009
About 73 million active sites as of January 2009.
TCP/IP, HTTP, HTML, CSS
Apache HTTP Server, Mosaic, Netscape, Firefox, JavaScript, Perl, PHP, etc.
Information, Banking, Commerce
We cannot command nature except by obeying her.
Francis
Bacon
Rule By Obeying Nature's Laws
Motto of Kansas State
University
client-server computing
The interaction between two programs when they communicate across a network. A program at one site sends a request to a program at another site and awaits a response. The requesting program is called a client; the program satisfying the request is called the server. (definition from The Internet Book, 2nd edition by Douglas E. Comer)
Client-Server Architecture from Webopedia, http://www.webopedia.com/
HTTP Transaction:
The HTTP client gets the content, makes additional requests for CSS, images, Javascript, etc., and then renders the page:
http://cscie12.dce.harvard.edu/lecture_notes/2009/20090128/toc.html
http://cscie12.dce.harvard.edu/lecture_notes/20080130/toc.html#slide10
Common schemes: http, https, ftp, mailto, file, rtsp
http://cscie12.dce.harvard.edu/lecture_notes/20080130/toc.html#slide10
http://cscie12.dce.harvard.edu:80/lecture_notes/20080130/toc.html#slide10
http://cscie12.dce.harvard.edu/lecture_notes/20080130/toc.html#slide10
http://cscie12.dce.harvard.edu/lecture_notes/20080130/toc.html#slide10
For those who truly wish to find out more of the details, see Untangle URIs, URLs, and URNs by Dan Connolly
|
|
A "tree" structure view of XHTML produced by Amaya, the open source Web editor/browser from the W3C.
Markup for a Hypertext link:
<a href="http://www.harvard.edu/">Harvard</a>
Start Tag
<a href="http://www.harvard.edu/">Harvard</a>
Element Name
<a href="http://www.harvard.edu/">Harvard</a>
Attribute
<a href="http://www.harvard.edu/">Harvard</a>
Attribute Value
<a href="http://www.harvard.edu/">Harvard</a>
Content
<a href="http://www.harvard.edu/">Harvard</a>
End Tag
<a href="http://www.harvard.edu/">Harvard</a>
The XHTML page references an external stylesheet document.
The CSS file contains style rules for the document (planets.css)
|
With CSS disabled:
|
css Zen Garden: The Beauty in CSS Design. A demonstration of what can be accomplished visually through CSS-based desgin.
|
|
|
|
|
|
|
|
Question: What do the White House, GE, IBM, Library of Congress, EDS, Stanford, AGFA, Abbott, and Princeton have in common?
Answer:
They adhere to Web standards
Web Standards Project
The Web Standards Project is a grassroots coalition fighting for standards
which ensure simple, affordable access to web technologies for all.
Validate against the rules (elements, attributes, content models) of a specific grammar (e.g. XHTML 1.0 Transitional).
Two pieces to be concerned with:
The Document Type Declaration for an XHTML 1.0 strict document is:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
A closer look at the components follows:
Some Document Type Declarations for HTML documents. Remember that the HTML document must conform to the rules of the Document Type Definition that is referenced in the Document Type Declaration:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html401/strict.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html401/loose.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html401/frameset.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
"http://www.w3.org/TR/html40/loose.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN"
"http://www.w3.org/TR/html40/strict.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN"
"http://www.w3.org/TR/html40/frameset.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"
"http://www.w3.org/TR/HTML.dtd">
<!DOCTYPE html PUBLIC "-//IETF//DTD HTML 2.0//EN"
"http://www.w3.org/MarkUp/html-spec/html.dtd" >
XHTML 1.0 Strict documentation produced from DTD
Modules
body, head, html, title
abbr, acronym, address, blockquote, br, cite, code, dfn, div, em,
h1, h2, h3, h4, h5, h6, kbd, p, pre, q, samp, span, strong, var
h1, h2, h3, h4, h5, h6
address, blockquote, div, p, pre
abbr, acronym, br, cite, code, dfn, em, kbd, q, samp, span, strong, var
a
dl, dt, dd, ol, ul, li
b, big, hr, i, small, sub, sup, tt
del, ins
bdo
form, fieldset, input, label, select, option, textarea, button, legent, optgroup
form, fieldset
input, label, select, textarea, button
table, td, th, tr, caption, col, colgrop, tbody, thead, tfoot
img
object, param
meta
script, noscript
style
link
base
While a student at Harvard, there are a variety of software packages you may download and use through FAS Information Technology Software Downloads. Note that "keyed" software must be run from a computer that is on an on-campus network.
For this course, Harvard will be your web hosting service. A server is dedicated to this course. Details on accessing (SSH and FTP) will be provided in Assignment 1.
Browser Statistics
Source: Net Applications.com
Please start with your favorite text editor!
Window/Mac/Linux
Windows
Mac
Linux