(seminar in) web client server programming
4002-590 (4002-546)
spring quarter 2005 (053)

information technology department
rochester institute of technology


group assignments
& meeting
Dan Bogaard
primary e-mail: dsb@it.rit.edu
office location: 70-2571
office hours: Mon/Wed 2-4
current schedule

Ronald Vullo
primary e-mail: rpv@it.rit.edu
office location: 70-2519
office hours:
current schedule

Section 01: Class meets Tues/Thurs, from 10-11:50, in 70-2520

Description &
Web software development is usually thought of as being either client-side (JavaScript, Flash) or Server-Side (PHP, Perl). When building sophisticated web applications, these two technologies are used together to create the best possible web-based user experience. This course will explore the creation of such integrated applications, exploring topics such as dynamic creation of JavaScript, AJAX, SVG-based applications, and Flash in a client-server application.


  • web client side programming (4002-536)
  • web server side programming (4002-539) or (4004-739).
(we'll see how far we get...)
  • Principles of Client-Server distributed code in a web environment
    • Protocols
    • Languages
  • Client-side rendering Environments
    • XHTML
    • SVG
    • Proprietary Technologies
  • Server-side development environments
    • PHP
    • Perl
    • Content Management System (currently Molly)
    • Flash Remoting
  • Dynamic generation of client-side code at the server
  • Communication between client and server
    • GET and POST
    • AJAX

  • Each student will choose an advanced topic on their own.
specific objectives
(learning outcomes)

By the end of this course, students should be able to:

  • Students will be able to write applications which are browser and platform independent. Assessed by individual projects.
  • Students will integrate client-server technologies by dynamically generating client-side code at the server that has the ability to manipulate the DOM on the client. Assessed by individual projects.
  • Students will write programs and GUIs using technologies such as SVG, JavaScript, PHP, SQL and other scripting environments to gain competence with current and future practices. Assessed by individual projects.
  • Students will be able to research new technologies and techniques. Assessed by in-class presentations.
Texts &

At this point, you all should be able to find most of the information you will need online, but if you want some good resources, check out the following texts:

Book Cover Thumbnail Foundations of AJAX, Asleson & Schutta, ISBN: 1590595823
Book Cover Thumbnail SVG Unleashed, Watt, Lilley, et.al. ISBN: 0139279555
Book Cover Thumbnail SVG Programming: The Graphical Web, Cagle, ISBN: 1590590198

Many good books on the subjects covered in this course are also available on-line from the Books24x7 web site which RIT students and faculty can use for free via the Wallace Memorial Library's proxy server.

On-line readings will be assigned in class. Links to readings and references for the course will be posted here in addition to links for required readings in the course schedule on this page.

If you are in a PC lab you should purchase at least one Zip disk. We recommend two so you can backup your work. Get PC-formatted zip disks (which are readable by both Macs and PCs). If you are in a Mac lab you should pick up some CD-R or CD-RW media. On either platform you may also use a USB "thumb drive."

Grading &

Your grade will be based on your individual assignments & a class presentation.

It's important to understand that if you complete all the requirements for an assignment, that entitles you to a grade of "B" (i.e. "satisfactory work"). To receive an A for an assignment, you must go beyond the basic requirements, and demonstrate creativity, initiative, and excellence--the grade of A is intended for work that is superior, rather than average.

Assignments submitted after the due date/time, without prior approval from me, will lose one full letter grade for each day that they are late. If you know that a situation will prevent you from turning something in, contact me in advance of the deadline to make alternate arrangements.

If you wish to dispute your final course grade, you must do so before the end of the quarter following this one; otherwise documentation of your work may not be available.

Last Day to Drop the Class: For this quarter, you can drop the class on or before March 20th . After that date, you must withdraw from the course, which will show on your transcript as a W.

Last Day to Withdraw: The deadline for withdrawing from a course with a W grade is the end of the 6th week of the quarter. Forms may be obtained from the IT office, and must be signed by your instructor. Completed forms should be returned to the IT office no later than the last day of the 6th week. After that date, a grade will be assigned based on the work that you have submitted.

"Incomplete" Grades: You may request an incomplete, or "I" grade, only in cases where exceptional conditions beyond your control, such as accidents, severe illness, family problems, etc., have kept you from completing the course. You must alert us to these circumstances as soon as possible--telling your instructor in November that you were sick in September is not acceptable. If your request for an incomplete is granted, you must complete the work for the course within the time limits set by the instructor. The maximum time is two (2) academic quarters. Unfinished "I" grades automatically become "F". Incomplete grades are not given to students who have simply fallen behind in their work.

(Assignments will be subject to possible change)

Assignments will be discussed in class, and posted here on a regular basis. They will always be due at 5pm on the due date.

Individual Assignments:

  • Assignment 1: Extending a server side architecture - due ??? maybe end of 4th
    • 30%
  • Assignment 2: Self-guided study
    • 25%
  • Assignment 3: SVG turn based game/experience - due our final time
    • 40%
  • In-class participation
    • 5%

Grading Guidelines:

  • This is a 500 level course - that being said, we will not supply you with a laundry list of items we expect you to include in the projects. We will supply general criteria we expect and beyond that, we challenge you to impress!
I will post announcements related to class in our class conference on the IT FirstClass server, rather than sending mass e-mails. If you do not yet have an IT account (or an NT account, which you'll need to use the PCs in the lab), you can get accounts set up in the IT learning labs in building 70.

It is important that you understand what constitutes academic dishonesty, and what the penalty associated with it is. Read this policy carefully. Please note, in particular, the definitions of cheating and collusion. There is a fine line between asking for a classmate's (or tutor's) help in solving a technical problem, and using their work as your own. Don't cross it. Similarly, while it's fine to get ideas from web sites, you must credit your source. If you violate the academic dishonesty policy, you will fail the course. It's just not worth it.


The readings for each week should be completed before that week begins, so that you're prepared to work with examples and exercises, and to ask questions.

Week 1
Week 2
Week 3
Week 4
  • AJAX - server generation
  • SVG (review and new)
Week 6
  • xforms
  • SVG native/generation
***All timing of assigned readings/assignments are tentative and subject to change!

©2005 Bogaard/Vullo
Page last modified: Monday, 20-Aug-2007 23:48:34 EDT