Dr. Eric Berkowitz

 

Eric Berkowitz

Associate Professor

Assistant Chair, Department of Computer Science
and Information Technology

Director, Network Computing


Roosevelt University

Department of Computer Science and Information Technology

ROOSEVELT UNIVERSITY

COLLEGE OF ARTS AND SCIENCES

DEPARTMENT OF COMPUTER SCIENCE AND TELECOMMUNICATIONS


CST 367/467 -- Web Database Applications

Syllabus


New video tutorials:   -- Video tutorials require a broadband connection and  the Macromedia  Flash plugin.
(These tutorials work best in Firefox but also run in Internet Explorer.)

-- Use of video tutorials is restricted to registered students in this class.  Access will be granted after the first day of class.

  1. Creating a first netbeans project


Weeks in review:

Click here to see a retrospective showing what was covered in class or to learn what the homework was. AKA 20/20 hindsight. [ will be active after the first day of class ]


Office:

Room Gage - 506A

Office Hours:

Tuesday and Thursday 3:00 - 6:30

E-mail:

eberkowi@roosevelt.edu --Please use a relevant subject line and put your FULL NAME in the body of any e-mail you send in order to distinguish it from the multitude of e-mail viruses.


Students are expected to check their Roosevelt myMail accounts on a daily basis and it will be assumed that students are aware of any messages sent out using this method.


Texts:


1. JDBC API Tutorial and Reference, Third Edition ISBN:  0-321-17384-8

2. Mastering JSP ISBN: 0-7821-2940-4

3. Postgresql JDBC Public API Documentation  http://jdbc.postgresql.org/documentation/publicapi/index.html

4. Thinking in Java 3rd Edition  http://www.faqs.org/docs/think_java/TIJ3_c.htm



Software
: (Windows Based, if you are using a Mac or other System please contact me)

1. Java  Development Kit (J2SE)
2. NetBeans IDE Download the Web & Java EE
3. PgAdmin III Download PgAdmin3 1.8.4 from this link (ignore the file that ends in .sig unless you know what it is)
4. JDBC Library Download the Postgresql JDBC library from this link


Computer access:

Students may be given accounts on one or more CST servers. The use of these accounts is subject to the Roosevelt Network Users Policy and the CST Network Users Policy. Copies of the CST agreement will be distributed on the first day of class. Copies of the Roosevelt Network Users Policy can be received from SCT or from lab aids in the public access labs.

Description:

The course is intended to teach students about the Internet, Online Databases and a Web Database application programming.

Format:

The class will be a combination of lectures, discussions, assignments and guided study, and project preparation. Homework and reading will be assigned each week. Students are required to expand upon what they learn in class, to ask questions, to participate in discussions, and to pursue independent study of relevant technologies. Quizzes may be given periodically to assess students' assimilation of the course material. Students will be given a final project to be presented at the last class meeting of the semester.


Each student will be submitting several homework assignments during the semester as well as a final project. Each student's grade will depend upon meeting specific milestone dates during the semester. Due dates for the following will be assigned:


1.Project Proposal.

2. Project Design.

3.Project Prototype.

4.Self Progress Evaluation.

5.Beta Demonstration.

6.Complete Documentation.

7.Project Submission.


Graduate students are required to investigate technologies beyond those discussed in the classroom and to incorporate them as a substantial enhancement to the functionality of their projects. This must be done under the guidance of the instructor. Graduate students will need to document the technology they have chosen and how it was integrated into the project.


Grading:

Grading Part 1: Homework: 10%, Quizzes: 15%, Midterm: 15%, Projects 40%, Final Exam 20%

Grading Part 2: Your grade for the class is limitted by the grade you receive on the project. For example a student submitting a 'B' project will not receive more than a 'B' for the course.

Letter grades are assigned according to the following mapping:
91-100: A, 81-88: B, 71-78: C; 61-68 D
90: A-, 89: B+, 80:B-, 79: C+, 70: C-, 69: D+, 60: D-



Instructions for submission of Homeworks, Projects and the Semester Portfolio:

Homework submission:

All homework must be submitted in duplicate.

Homework not submitted in the correct format will not be accepted. No exceptions. Homework must be submitted cleanly, neatly and on-time. Each homework assignment must be stapled. No paper-clips or bent-corners will be accepted.
The homework assignment must have a coversheet with the following information on it:

  1. 1.Your Name and Student ID

  2. 2.Your class and section number

  3. 3.Your level Graduate/Undergraduate

  4. 4.The date the homework was assigned

  5. 5.Any other information requested when the assignment was given.

Your name must not appear anywhere but on the cover page.

Project Submission:


Projects must be submitted cleanly, neatly and on-time. Projects must be closed in a 9x12 mailing envelope or interoffice mailing envelope.  Other forms of submission including pocket folders, binders, regular mailing envelopes, etc. will not be accepted for grading.


All projects materials should be inside the envelope. A cover sheet must be stapled to the outside of the envelope with the following information:

  1. 1.Your Name and Student ID

  2. 2.Your class and section number

  3. 3.Your level Graduate/Undergraduate

  4. 4.The project number and date assigned

  5. 5.If project options were available you must list which options you elected to complete.

  6. 6.Any other information requested when the assignment was given.


Your name, and Student ID must not appear anywhere except on the cover sheet. They must not appear in a comment in the program listing.


Attendance:

Regular attendance and participation is required. A student who is compelled to miss class for any reason must find out what he or she missed and acquire material from classmates. Missed tests and homework cannot be made up.


Deadlines and Due Dates:

Students are responsible for making sure materials are submitted on or before any due dates. Late work is not accepted. Students should submit the completed portion of any assignment by the stated due date. If you cannot be in class the day an assignment is due you must submit your work at an earlier time.

Americans With Disabilities Act (ADA)

If you have a disability for which you are or may be requesting an accommodation, you are encouraged to contact the Office of Disabled Student Services, 310 Herman Crown Center, 312-341-3810, or e-mail nlitke@roosevelt.edu as early as possible in the term.

Academic Honesty:

Students are required to familiarize themselves with Roosevelt University's policies regarding academic honesty.

Students are expected to apply themselves and their previous experience and knowledge in this class. A student who does this will produce projects and homeworks that are uniquely his/hers and unlike those of any previous or current students. While students are encouraged to help one another, collaboration on assignments to be submitted for grading is prohibited and will be considered a violation of academic integrity unless the students involved have requested and received prior consent from the instructor.

Depending on the severity of the violation, an instructor may fail a student on the individual assignment or test, may lower the student’s grade in the course, or may fail the student in the course. More details on the University's policies on academic honesty may be found in the Student Handbook.

Reading Instructions:

If you have read this far in the syllabus you are doing quite well. Unfortunately, each semester, several students submit work that is of lower quality than that which they are capable of submitting for no other reason that the fact that they did not completely read all of the instructions including any hints and guidelines at the end. No matter how complete, true, and explanatory an answer is, it only gets credit of it actually responds directly and completely to the question that was asked. Please! In all homework, assignments and exams, read all instructions and only then begin to work. After completing your work re-read the instructions to ensure that you have done all that was asked and in the manner specified. Rewrite the questions and instructions for yourself as a check-sheet and check off each section if you believe this will help.


Topics


The following is a tentative schedule and list of topics. In the best interest of the students in the class it may be necessary to deviate from this schedule or list of topics during the semester.

In the following table JSP refers to the class text Mastering JSP. API will refer to th JDBC API text.


Week 1

The Basics


Topics:

  1. Introduction to the Neteans IDE

  2. Breif Overview of Web Programming Options

  3. Discussion of GUI Programming: OS-API, SWING, Browser

  4. Introduction to Java Programming  (Using NetBeans)

    1. A rational discussion of Java's merits and shortcomings, the reasons behind them, and its place among programming languages.  

    2. The Basics (what you already about programming but now in Java)

      1. Structure of a program.

      2. Required program conventions for this course

      3. Basic data types.

      4. References (Pointers...?)

      5. CBV/CBR

      6. "static"  What does it really mean?

      7. Output statements: println vs. printf 

      8. Standard streams in, out, err  (What you CS 1 teacher never told you)

      9. Ubiquitous control structures:

        1. if/then/else 

        2. do/while, while/do, for


Reading Material:

  1. Netbeans Field Guide

  2. JSP Chapter 2, 3, 4



Week 2

Our DBMS



Topics:

  1. What is a  DBMS

  2. PostgreSQL SQLite and other databases

  3. Other systems such as MySQL, BerkeleyDB, SQLite

  4. JDBC quick introduction 

  5. A quick review of relational DB's (really quick)

  6. pgadminIII

  7. Database access in Java

  8. DB errors

Reading Material: 

  1. PostgreSQL Web Site http://www.postgresql.org

  2. PostgreSQL Online Tutorial: http://www.postgresql.org/docs/8.1/static/tutorial.html

  3. JDBC Chapter 1,2 

  4. Database Feauture Comparison

  5. PostgreSQL specific JDBC information


Week 3

A Deeper Understanding of JSP and correct coding:

  1. JSP

  2. Servlets

  3. Beans

  4. What goes where?

  5. Tomcat  - precompiling and caching

  6. Forwarding


Reading Material:

  1. JSP Chapter 4,5,6


Week 4

A Deeper Understanding of JDBC


Topics:

  1. Data Types

  2. Subselects and Joins  --remember those ?

  3. Functions server-side vs. Client side understanding the choices

  4. Triggers (it ain't a real DB without them)

  5. Audit trails

  6. Server-side data constraints (again it ain't a real DB without them)

  7. Sequences

  8. Schemas

  9. Errors and warnings

  10. Jakarta DB commons

  11. MVCC and Row Level Locking


Reading Material: 

  1. JDBC Chapter 3

  2. JSP Chapter 7

Week 5


Summarization, Experimentation,

Project Assignment


Week 6


Midterm

Week 7


Data Revisited

Topics:

  1. Scope and Standard Objects: page, request, session, application

  2. Oh' Yeah  What's a session?  

  3. Client-side data

  4. Other data options

  5. A file system

  6. JSP Variables and Scope


Reading Material:

  1. JSP Chapter 4, 8, 14


Week 8

Exploting, Transporting and Mining Data

Topics:

  1. Collecting everything -- is this really the way to do it?

  2. Normal Form  Select vs. Insert and Update

  3. XML


Reading Material:

  1. JSP Chapter 10

  2. Class Notes

Week 9

Security and Ethical Issues

Topics:

  1. Hackers, Idiots and Evildoers

  2. Security

  3. Reliability

  4. Stability

  5. Data Validation

  6. Tainted Data

  7. Errors and Exceptions

  8. Keeping Your Errors to Yourself

  9. How to Loose a Customer in 60 Seconds or Less

Reading Material:

  1. Handouts

Week 10

A real Application

Topics:

  1. The structure of a real application

  2. The flow of a real application

  3. Debugging -- no it isn't always so easy  so where should you look first

  4. Connection Pooling

  5. What is all of this about tag libraries?


Reading Material:

  1. Handouts


Week 11

Frameworks and Ajax

Topics:

  1. Richer applications

  2. Quicker responsiveness

  3. This is really insane


Reading Material:

  1. Handouts


Week 12


Lab Time, Review, Questions

Week 13


Applets, RMI etc. -- Other Options for Online DB Access


Topics:

  1. AWT and Swing

  2. AWT for Web Applets

  3. Controls

  4. Events/Event Handler

  5. The Applet Sandbox


Reading Material:

  1. Java In 21 Days 8 and 13

Week 14


Lab Time, Review, Questions
Selected Topics

Week 15


Project Presentations



Additional References:


Using HTML 4 Chapters

Basic HTML Tutorial from 1Key Data

Style Sheets
Sun Java Tutorial
Mirror of JDBC Tutorial From www-db.stanford.edu
 SQL Tutorial from 1key Data
JSP Quick Reference - 9 Pages
JSP Quick Reference - 2 Pages

Herong's Notes on JSP