CPSC 371: Topics in Computer Science:
Web Site Programming from CGI to XML


   Department of Mathematics and Computer Science
   Hobart and William Smith Colleges

   Fall, 2001.

   Instructor:  David J. Eck  (eck@hws.edu)

   Monday, Wednesday, Friday, 11:15--12:10 PM.
         Room Lansing 300.


About The Course

It's hard to believe that the World Wide Web was brand new as recently as 1993 -- and that back then there were no colors, no graphics, and no interactivity. The Web has certainly come a long way, and the ability to program interactive web sites is one of the big reasons. This course is about Web site programming. It is not about design. We won't do fancy graphics (although you are welcome to use them on your Web pages if you already know how to do it). It is not about basic HTML, which I will only review quickly at the beginning of the term.

There are a lot of things we could do in this course. We won't have time to do them all. I have not made a detailed syllabus, since I want to let the course develop naturally to some extent. However, I do have a general idea of the topics I want to cover and the order in which we will cover them: Review of HTML; Basic ideas of CGI; Introduction to PHP programming; The MySQL database and how to use it with PHP; Session management with PHP; The Zope application server; A brief look as Java servlets and JSP; Cascading Style Sheets; Dynamic HTML with JavaScript and DOM; and XML. (This might make XML look like a minor topic, but in fact it will be a major part of the course, with a large number of sub-topics. We will spend at least three or four weeks on it.)

I am asking you to buy three books for this course: HTML: The Complete Reference, third edition, by Thomas Powell; PHP 4 Bible, by Tim Converse and Joyce Park; and XML in a Nutshell, by Elliotte Rusty Harold and W. Scott Means. This will be a pretty wide-ranging course, and it will include several topics that are not in any of these books. I will recommend other books and on-line resources when necessary.


Assignments

There will be a variety of homework assignments throughout the course. Some of these will be individual assignments. Others will allow you to work in small groups. Most of the assignments will involve creating interactive Web sites and will allow you to be creative about the content and presentation that you use. You are not, needless to say, allowed to copy other people's work, in whole or in part.


Final Project

Starting at about the middle of the semester, you will be working on a final project for the course. I hope to have people working in groups of four or five to produce relatively large scale interactive Web sites. These sites will probably use either PHP or Zope, but I would be happy to see one or two groups working with Java Server Pages instead. I will propose a few possible topics for the project, but I will encourage you to come up with ideas of your own.


Tests and Grading

There will be three in-class tests, which will be given on Monday, September 24; Wednesday, October 24; and Wednesday, November 28. There will not be a final exam. The final project takes the place of the final exam and is due at the scheduled time for the exam: Friday, December 14 at 1:30 PM.

The three tests will count for 50% of the grade. The final project counts for 20% of the grade, and other assignments will contribute the remaining 30%.


Office Hours, E-mail, WWW

My office is room 301 in Lansing Hall, just next door to our regular classroom. My office phone extension is 3398. I am on campus most days, and you are welcome to come in anytime you can find me there. I will announce office hours and post them on my office door as soon as my schedule is determined, but note that your office visits are certainly not restricted to my regular office hours!

My e-mail address is eck@hws.edu. E-mail is good way to communicate with me, since I usually answer messages within a day of receiving them. Occasionally, I will send out email to everyone in the class. You should be able to receive email at your "@hws.edu" email address. If you do not use your HWS email account regularly, you should set up that account to forward your mail to the email account that you do use.

The home page for this course on the World Wide Web is located at http://math.hws.edu/eck/cs371_f01. This page will contain a weekly guide to the course.


David Eck, 30 July 2001