University at Buffalo, The State University of New York


CSE 510 A: Web Data Engineering

Fall 2009


Please check the newsgroup daily for important announcements and clarifications:

  • sunyab.cse.510


Course Description

This course studies the design and implementation of large scale applications that are dynamic, web-based and data-intensive in nature. It starts with a quick review of the environment of web development with an overview of HTTP, web application server functionality and infrastructure issues. Then the attention is turned to advanced server-side Model-View-Controller (MVC) frameworks, such as Struts, and their role in a complete web system. For the Model layer, Object-Relational Mapping (ORM) frameworks will be studied, such as Hybernate, and for the View layer, client-side AJAX-based web programming languages and frameworks, such Google Web Toolkit. Other topics covered typically include web application security, resource management, SQL, XML, session handling, REST web services, and usability in the web context.

Web programming is one of the most difficult forms of programming facing today's computer scientists considering the number of programming languages used in a modern web site. After studying the material of this course and accomplishing the large-scale project, students will be ready to act as (i) developers of enterprise server-side web applications and (ii) architects/designers of enterprise web applications that solve the problems of customers and propose and design new products.


A list of recommended books goes as follows:

  • For introduction, servlets, JSPs and database/application server issues you may use Tomcat Kick Start, by Martin Bond and Debbie Law.
  • For Struts you may use Struts in Action, by Ted Husted, Cedric Dumoulin, George Fransiscus and David Winterfeldt.

A combination of class notes and online resources is probably better than textbooks since really nice online material on web programming can be found nowadays.


CSE462 or equivalent undergraduate database course. Very good knowledge of Java is required for the project.

Grade Computation

  • Project: 70%
  • Final: 30%
  • Grades


. Mon Tue Wed Thu Fri
Lectures 12:00pm - 12:50pm
322 Clemens Hall
. 12:00pm - 12:50pm
322 Clemens Hall
. 12:00pm - 12:50pm
322 Clemens Hall
Instructor's Office Hours 1:00pm - 2:00pm
210 Bell Hall
. 1:00pm - 2:00pm
210 Bell Hall
. .
Demian's Office Hours . . . . 1:00pm - 3:00pm
329 Bell Hall

The following is a tentative schedule of lectures.

Week Monday
1 08/31 Introduction
Java Servlets
Slides - Web Applications
2 09/07 No Lecture (Labor Day) Java Server Pages (JSPs)
Slides - Web Applications
3 09/14 Java Server Pages (JSPs) Recitation
(Java Servlets, JSPs)
HTML Forms and Hyperlinks
Slides - Web Applications
4 09/21 SQL
SQL Practice - Sample Data
Database Design
App Server/DB Server Communication
Slides - Web Applications
5 09/28 No Lecture (Yom Kippur) App Server/DB Server Communication Recitation

MySQL Workbench Model
6 10/05 Connection Pooling
Slides - Web Applications
Java Beans
Slides - Web Applications
Project Phase 1 Out
7 10/12 Data Access Objects
Slides - Web Applications
Project Discussion
8 10/19 MVC/Struts
(Project Phase 1)
Struts Example 1
9 10/26 No Lecture Struts Example 1
Slides - Web Application
Web Application with Verify
Tag Libraries
10 11/02 Project Phase 2 Out Struts Example 2
Slides - Web Application
Access Control
Slides - Web Applications
11 11/09 Recitation
(Project Phase 2)

Web Application
Access Control Struts 2 (Preview)
Slides - Web Application
12 11/16 JavaScript
Slides - Examples
Slides - Web Applications
13 11/23 Project Phase 3 Out No Lectures (Fall Recess)
14 11/30 Object-Relational Mapping (ORM)
Slides - Web Applications
XML & Web Programming
Slides - Web Applications
15 12/07 XML & Web Programming
(Project Phase 3)
Final Review
Final Friday, December 18, 2009
11:45 AM - 02:45 PM
Capen Hall 262


You should work in teams of 2. Please email me your name and the name of your teammate asap. You can use the newsgroup to find a teammate. You may also work alone but keep in mind that the load, the deadlines and the grading will NOT be any different from those that apply to teams of two. Also, please read the rules and policies below and be aware that anti-plagiarism software will be used while grading your submissions.

Team Numbers

  • Phase 1 Specification
    • Due Sunday, October 25th @ 11:59pm
  • Phase 2 Specification
    • Task 1: Due Wednesday, November 11th @ 11:59pm
    • Task 2: Due Sunday, November 22th @ 11:59pm
  • Phase 3 Specification


Rules & Policies


In the interest of managing the email traffic generated in a course of this size, we ask that you stick to a few common-sense principles. First, we want to maintain free and open lines of communication so that we can communicate urgent information in a timely fashion. Thus, your email messages should be brief. Questions about course content or assignments and exams are best handled during office hours. If you must use email, please try to solve your problem first with the TA before contacting the instructor. We can usually respond to brief messages within one working day. Slightly longer messages may take more time to generate a response, and we may not have time to answer long and involved messages. Please keep in mind that email is not an adequate replacement for personal contact, which is a vital part of instruction. In particular, email is not a substitute for office hours or for attending class.

Academic Integrity Policy

Zero tolerance on plagiarism/cheating: consult the University Code of Conduct for details on consequences of academic misconduct, and see also the academic integrity policy of the CSE department.

Project Rules

For coding assignments, if you use a piece of code which you borrowed from elsewhere and therefore did not write yourself, make sure you let the instructor and the TA know before you start using it.

Make-Up and Late Submission Policy

The submissions are due at midnight on the due date. Make-ups or extensions will not be granted except in true hardship cases. If you miss a deadline or a test due to illness or a personal emergency, let us know as soon as possible. An extension or makeup will be granted only if you can provide an adequate justification. You may be asked to document your absence, for example, a note from a doctor or supervisor. If your absence is planned, then you must notify us in advance. If you are absent from a test or miss a deadline without a reasonable explanation, you will receive a zero grade, and similarly, late assignments will generally not be accepted.

Grading Policies

Write clear arguments. Be neat and precise. Getting the right answer may not be enough. The derivation and quality of writing counts! Don't write many different things in hope that you'll get the points if one of them is the right one. Indeed, you will lose points if you follow such a policy.

Re-grading Policies

Questions about the grading have to be raised with the TA within a week after the graded assignment has been returned. If disagreements persist after the regrade, please see the instructor during office hours.

If you have any questions regarding these policies please see the instructor during office hours.