Web Database Integration
Spring 20063 Course Syllabus

The information presented in this syllabus is subject to expansion, change, or adjustment during the quarter.


Name: Christopher A. Egert
Office: Bldg. 70, Room 2515
475 - 4873
cae (*at*) it.rit.edu (or through FirstClass)

Office Hours:

Tuesday 9:00-11:00AM
Tuesday 5-7PM
and by appointment

Course Text and Materials

• Optional text: PHP and mySQL Web Development, 3nd edition. Luke Welling and Laura Thomson, SAMS, 2003. • Optional text: Mastering Tomcat Development. Peter Harrison and Ian McFarland, John Wiley & Sons, 2002. • Additional readings will be provided as handouts or web URLS.

Important RIT Deadlines

Last day of add/drop is Monday, March 19, 2007. Last day to withdraw with a grade of "W" is Friday, April 20, 2007. 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 your department office and need your instructor's signature. The completed forms should be returned no later than April 20, 2007.
NOTE: IT department policy states that a student has one quarter to challenge any grade. After that, grades cannot be challenged

Course Description

An introduction to technologies, techniques, and contexts for developing dynamic web sites that are driven by back-end databases. Builds on concepts of web programming and multi-user relational databases introduced in prerequisite classes. Extensive group programming assignments will be required.

Prerequisite Courses

4004-737 Web Site Design and Implementation AND
4004-739 Programming for the WWW AND
4002-360 Introduction to Database and Data Modeling OR 4002-720 Data Object Development.

4002-330/4004-730 is recommended.

Course Goals and Objectives

General Course Goals
To give the students an understanding of current technologies used in web-database integration, and to familiarize them with the design issues and major tools used in such projects. The focus of this class will be on the development of web-based front-ends to databases, including appropriate information architecture and user interface issues, and interaction between client-side data and server-side databases in order to personalize web pages delivered to clients.

Specific Objectives (Learning Outcomes)
By the end of the course, students should be able to:

Understand the reasons for creating database-driven web sites, and the costs and benefits associated with such sites.

Identify and describe a range of current tools for web-database integration.

Demonstrate basic skills with at least two web-database integration tools.

Understand the web design (architecture and usability) issues associated with designing dynamic web sites.

Course Organization

Weekly Assignments
In each class, students will be given readings and homework assignments. It is expected that students will complete students before the next class. In many cases, assignments will provide the appropriate framework for class discussion. Therefore, assignments will have a direct impact upon the participation grade.

Design Document
Based on the class discussion of the quarter long project, the design document should be structured in accordance to the design documents prescribed in the 4004-737 course. The design document should contain the majority of components outlined in the Webmonkey Information Architecture tutorial.

Database Design
After creating the design document, you are responsible for creating a database description and E-R (or comparable method) diagram for the web site you have described.

Midterm Project
The midterm project will represent a portion of the project functionality. At minimum, the midterm project will allow the user to perform basic selections on the database and will provide much of the look and feel of the project. Ideally, the midterm project should provide basic authentication to the user.

Final Project
The final project will represent the realization of the design document. The final project will be demonstrated during the last week of class and a document should accompany the final version describing architectural and implementation details that differ from the original specification.

You are required to have a myCourses account for course communications and for submission of those assignments that must be submitted as files to our myCourses drop box.

Course Topics

Some course topics include :
• Web server installation and setup
• Exploration of page-centric server programming languages
• Exploration of component-centric server programming languages
• Web and database usability issues
• Advanced server-side architectures
• Sessions, Applications, and Cookies
• Alternative Client Models
• Handling of media types in web database environments
• Connection pooling and database abstraction

Some of the technologies that may be covered include:
• Client-side browsers (Mozilla, Firefox, IE)
• Client-side programming languages (JavaScript)
• Time-based web-enabled media development systems (Flash/Director/etc)
• Server-side programming systems (PHP, Servlets, JSP, JSTL, JSF)
• Database systems, ORMs, and related APIs (mySQL, XML, Hibernate)


The grading scale used along with the grading criteria is as follows:

Component Weight
Design Document 10
Database Diagram 10
Midterm Project 10
Final Project 30
Attendance, exercises, participation 25
Peer Evaluation 15
Range Grade
>= 90.0% A
>= 80.0% & < 90% B
>= 70.0 % & < 80.0% C
>= 65.0 % & < 70.0% D
< 65.0% F


NOTE: The assignments in this course are designed based upon an opened-ended lab model. This means that merely completing the requirements for an assignment is only sufficient for a grade of "B". To receive an "A" grade, you must go beyond the basic requirements by demonstrating creativity, motivation, and initiative. In other words, the grade of "A" is truly reserved for excellent work, not just work that satisfies the basic criteria.

Course Schedule

Week Topics Assignments
1 Fundamentals of Web Database Applications
Web Database Technology Overview
Setting up a web server/web application environment
2 PHP Overview
Cookies and Sessions
3 Content-driven site design Concept due
4 Image Manipulation / GD
Blob storage and retrieval
Images and Blob interactions
Design document due
5 Ajax Integration Database diagram due
6 Flash Integration Midterm project due
7 Flash Integration
8 File IO
Shared Memory Transactions
9 Java Servlets / JSP
10 ORM integration and annotation
11 Student Project Demos Final Project Due


Academic dishonesty is misrepresenting someone else's work as your own. Academic dishonesty is a serious matter, and can result in an automatic F for the course. Please review the IT department's policy on cheating, located online at http://www.it.rit.edu/policies/dishonesty.html. If, during the quarter, you ever have any questions about what does or does not constitute academic dishonesty, please come and talk to me.


Any or all of the previous information is subject to change or adjustment during the quarter.

bunny by Asa Tse turtle by Asa Tse flowers by Asa Tse psp guy by Asa Tse blow fish by Asa Tse shapes to cat by Asa Tse dinosaur by Asa Tse cute girl by Asa Tse bee by Asa Tse frog by Asa Tse dog by Asa Tse cat by Asa Tse canvas face by Asa Tse duck face by Asa Tse