4004-751-70
Web Database Integration
Spring 20063 Course Syllabus
The information presented in this syllabus is subject to expansion, change, or adjustment during the quarter.
Instructor:
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.
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.
myCourses
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)
Grading
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 PHP/mySQL PHP/mySQLi PHP/PDO |
|
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 |
Cheating
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.
Finally...
Any or all of the previous information is subject to change or adjustment during the quarter.