Exam 2 will take place on Wednesday, 10 December, from 6pm to 8pm in
Williams 202.
The final project presentation will take place on Thursday, 18 December,
at 7:30am to 10:00am in Williams 309.
Problem set 9 hint. To see how to verify that only two senators
are voted for, see slide 55 from the Javascript chapter 5 slides.
What to turn in with your project. You must include all past documents with every part of the project. So
when you turn in the specifications, you must include all of your flow charts,
planning charts, goal charts, and audience/goal paragraphs. These must be
updated to reflect the comments I have made in old documents. You must also
include the documents that I have passed back. So all together, with every
project I would like:
The document that is required for the current project.
The sheet signed by your client in which she/he accepts the document.
All of the documents for the past projects updated as appropriate.
All old documents that I have graded and returned.
Problem Set 9 is avaiable. It's due on Monday,
17 November 2008.
CHANGE! Exam 1 will take place Thursday, 23 October at 6-8PM
This course is designed for students who are interested in adding interactivity
to their web pages and in creating dynamic web sites (as opposed
to just a collection of web pages). The course covers both client side and server
side technologies (ie, both javaScript and PHP). The course will involve
programming in several different languages and thus will be more rigorous than
COMP 108 (Introduction to Web Development). You should be prepared to spend a lot
of time working on the computer!
This course will cover the following topics:
Web Site design
Review of HTML and XML
Cascading Style Sheets
DHTML using JavaScript
Server-side processing using Perl and cgi
This course covers the gamut of technologies necessary for creating
interactive web sites, but there are other langauges and environments for
creating sophisticated database drive web sites quickly. These environments
are called "frameworks". There's an interesting article on one of these
frameworks that uses the python language
here.
It's called TurboGears. Another popular framework is called Ruby on Rails
(Ruby is the language, Rails the framework). An article on RoR is available
here.
Ajax: Another means of creating interactivity in a web page is
a technology called ajax. This technology combines javascript, XML, and a
special server call to create responsive web-based applications. As the
Sun web site describes it:
Anyone who has used Flickr, GMail, Google Suggest, or Google
Maps will realize that a new breed of dynamic web applications is emerging. These
applications look and act very similar to traditional desktop applications
without relying on plug-ins or browser-specific features. Web applications have
traditionally been a set of HTML pages that must be reloaded to change any
portion of the content. Technologies such as JavaScript programming language and
cascading style sheets (CSS) have matured to the point where they can be used
effectively to create very dynamic web applications that will work on all of the
major browsers. This article will detail several techniques that you can use
today to enable your web applications to be more rich and interactive like
desktop applications.
Prerequisites
Students must have a solid knowledge of html, css, and using server side scripts like
mailmerge (but not creating them) participate in this course. We will briefly review
these topics in the course, but you'll need to master them very quickly.
If you're looking for a text editor for windows that highlights syntax, has
line numbers, etc. try ConTEXT. It's
powerful and free.
There are many useful plug-ins for firefox that help in web development. The
mozilla organization maintains a website that lists many of the more popular
plugins at https://addons.mozilla.org/en-US/firefox/
Web Developer See
https://addons.mozilla.org/en-US/firefox/addon/60
This plugin allows you to manipulate many parts of a web page, e.g. display the
styles in a page, display the CSS, apply a different stylesheet, etc. Very
useful.
You must use secure tools to transfer files to the linux web
server. This means that tools like wsftp, ftp, telnet, etc. won't work.
If you are using a Mac you can use
Fetch or you can open a terminal
window and use the built-in program ssh.
If you are working from a Unix command line you can use ssh to log into
your account on the server and scp to transfer a file to/from the server.
If you are working on a windows machine, download the programs PuTTY (for
logging into a machine) and PSCP (for transfering files) from the web site
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html Once
downloaded, use the "run" command to run one of the programs.
To create html pages with javascript and to debug javascript, there are
several options. One is to use the firebug plug-in for Firefox. This plug is
is available on the lab machines or you can download it free from
https://addons.mozilla.org/en-US/firefox/addon/1843. This is not an
editor (you must write/change your code in some other application), but it is a
debugger that will help you track down problems.
A second option is the program Aptna which is also available on
lab machines or at http://www.aptana.org/. This is
an integraged editor and javascript debugger. It is actually a plug-in to
the eclipse integraded development environment (IDE). It is powerful, but
complex and difficult to learn if you have not seen eclipse before.
form.html The basic web page with
the form elements on it. This form calls a mailmerge program that is in a
student account on icsun. You must modify it to call mailmerge in your icsun
account.
survey.template This file contains
the instructions on how to store the data gathered in the form.html page.
Again, it is linked to a file in a student account on icsun. You'll have to
modify this for your account.
results.txt This file will contain
the information submitted by people using the form.html page. Recall that
you'll have to put this file into your icsun account and then allow other
people to have write permission on the file.
WebTeacher. This
site gives an overview of JavaScript for
beginners. Good introduction.
wsabstract.com This site contains lots
of good information about JavaScript
and CSS. Some good tutorials also. There's a nice CSS reference sheet available
here.
webdeveloper.com Another
great site for javaScript tutorials and canned scripts.
An example page that is XHTML complient is available
here. You can run this page through the validator (see
below) to see how a successful validation looks.
Some people have problems validating their pages because
of an anchor tag. If you embed the anchor tag inside of a block level
tag (like the p tag), then your page should validate. For example:
<p> <a href="www.ithaca.edu"> some text </a></p>
If you are using the XHTML validator (see below
), be sure to upload your page, don't just enter an address.
The W3C on-line reference for
html 4.01. This
site contains information about all tags and attributes that can be used in
html 4.01.
The W3C on-line reference for
CSS. This site provides the W3C CSS standard and lists all styles and
attributes in an easy-to-use format. The page has a easy-to-use table of
contents.
Server side includes (SSI) are very handy for adding headers or
footers to every page in a site. A handy reference to SSI can be found
at
http://www.webreference.com/programming/ssi/intro/index.html. An example
page with SSI is located here. Note that
a page that has SSI in it must have the extension "shtml" not "html".
The W3C on-line reference for DOM.
There is also a page for general DOM information.
This site provides the W3C DOM standard and lists all DOM objects, methods
and properties.