CIS 632 Fall 2008
SYLLABUS: CIS 632 Advanced Database Systems
Time and Place
Friday 10:00am - 12:55pm
Room: Not yet known
1. Personnel
Instructor: James Geller
Office: 4307 Information Technology Center (Guttenberg Building)
Phone: 596-3383
Email: geller@oak.njit.edu
Home Page: http://web.njit.edu/~geller/
Office Hours: Monday 10:00-11:30; Thursday 1:00-2:30
(Subject to Change and Cancellation due to Meetings.)
Additional hours are available by appointment.
If I have a problem with attending an office hour
I will try to put a note on top of this Web page.
If I am not in my room during office hours, please wait.
I might just be at the xerox machine.
2. Readings:
1) REQUIRED:
Oracle 10g Programming: A Primer (Paperback)
by Rajshekhar Sunderraman
Paperback: 438 pages
Publisher: Addison Wesley;
Copyright: 2008
ISBN: 0-321-46304-8
I did not reserve the book in the NJIT bookstore.
Please get it at www.amazon.com or www.barnesandnoble.com
or at your friendly local book store.
2) RECOMMENDED:
Learning Oracle PL/SQL
Bill Prybil with Steven Feuerstein.
O'Reilly.
3) RECOMMENDED:
Susan Boardman, Melanie Caffrey, Solomon Morse, and Benjamin Rosenzweig
Oracle Web Application Programming for PL/SqL Developers
The Prentice Hall PTR Oracle Series, 2003.
4) RECOMMENDED:
I personally recommend to students (that can afford it...) to buy
books. Thus having books on Java, HTML, XML and JavaScript is a good idea,
even if we will not use them a lot.
5) WEB MATERIAL AND HANDOUTS:
There will be handouts in class and reading materials that can be found on
the Web.
3. Assignments:
Exams: There will be two Midterm Exams, and one Final Exam.
Homeworks: There will be four homeworks consisting mostly of PL/SQL
programming. However, there wll be additional questions and
problems.
4. Grading:
The assignments will be assigned points from the following maximum:
Midterm 1: 100
Midterm 2: 100
Final: 200
Homework 1: 50
Homework 2: 50
Homework 3: 50
Homework 4: 50
______
Total 600
At the end of the semester, I will add up your total points and curve
the results for the whole class.
The department has voted on a stringent new curve for all courses.
Only the top 25% of the class should expect an A.
Furthermore, up to 20% of the class may face a C+, C, or F.
In my experience, students getting 550 out of 600 points tend to
be in the top 25%, but this is no guarantee for the future.
Also note that most students typically get all the points on the
Homeworks. Thus your position in the curve and your class grade depend
almost entirely on the exams. On the other hand, missing a single
homework is highly likely to lower your grade at least one letter grade.
5. Doubts:
>>>>>> When in doubt, ASK <<<<<<<
6. Late policies:
Late policies will be announced together with the assignments.
In general, there will be late penalties.
7. Computer:
We are still using the Web Based ORACLE client.
Thus, all you need to do your work is Web access,
a text editor, and access to a printer.
PL/SQL is part of the normal Oracle distribution.
However, you have to get an AFS account (ID), if you don't have one.
Otherwise you cannot log into into ORACLE.
Media Services can be reached at (973) 596-3005.
In order to work from home on Oracle you need to install VPN.
See Here: http://telecom.njit.edu/vpn/
PREVIOUSLY we used this Oracle Client:
http://prophet.njit.edu:5560/isqlplus
It might still work, but the system people do NOT maintain it.
So you better don't get used to it. Requests for fixes are NOT
honored.
The ORACLE Web page will ask you for your AFS ID, password and
connection identifier.
You should have received (or will receive) your own password
by Web mail in the first week of classes. (If you didn't get the password
email then check your email on "oak.njit.edu" AND on Web mail.)
The connection identifier that you are asked for is "course".
Furthermore, you can get extensive explanations of the ORACLE set up
by going to:
http://web.njit.edu/
There, click on the * sign next to Databases and then on ORACLE.
We will use a SECOND Oracle account for Oracle-Web programming.
Details of this account will be announced in class.
The programming that we will do is impossible with your "normal"
Oracle account.
Starting this semester we are using only Aqua Data Studio.
Here is information on Aqua.
You may download packages of Aqua Data Studio from this URL:
http://ist.njit.edu/software/title.php?id=293
Originally it is from:
http://www.aquafold.com/downloads.html
You may find documentation for Aqua Data Studio from this URL:
http://docs.aquafold.com/ads/6.5/index.html
You can get version 4.7 for free.
For version 6.5 you need the company name
and license key.
If there is a password problem, try this:
https://mypassword.njit.edu/db
8. Prerequisites:
It is assumed that you have taken a graduate database class before
and understand the relational data model well.
It is assumed that you know SQL.
It is assumed that you have extensive experience in programming.
If you don't know any UNIX you still may take this class, but I
strongly recommend for your own benefit that you learn
the basics of UNIX and of an editor such as vi or emacs.
9. Course Description and Outline:
This course has four parts.
1) Review your SQL and learn more of it.
2) Learn PL/SQL.
3) Study small parts of other languages that are needed in system building.
We are interested in systems that have a Web frontend and a relational
database backend. For this purpose we will use PSP (PL/SQL Server Pages).
4) Study a few advanced topics on databases, such as XML, OODBs, DB security,
multimedia and distributed databases and ontologies.
10. Purpose of the Course:
To get better in programming in an Oracle environment,
especially in PL/SQL. To learn a little about building systems that
have a relational database as a backend and the Web as a frontend.
11. Cheating
The NJIT Honor Code will be upheld.
Any violation will be brought to the immediate attention of the Dean of
Students.
Cheating on an assignment or exam will of course result in 0 credit.
You may "talk" about Homeworks with each other. Where does talking end
and cheating start? You may NOT copy lines of code from anybody.
You may NOT use code in your program where you don't understand WHY
it works, even if it works, and you wrote it yourself.
A few years ago I caught a student who offered my homeworks on a commercial
(bidding) Web site. In other words, he paid money to have somebody
else do my assignments for him. I will be checking for this, and I will
have no mercy if I catch you. The student in question was failed out of
the course. Who knows, the person bidding to do your homework might be me.
In addition, I will give questions out of the homeworks on the midterm
and final exam. If your answers on the exams are substantially wrong,
even though you did the homework correctly I might question you about
the homework and reduce your homework credit to zero, from whatever it
was before.
You have been warned.
12. Legal Stuff
Students will be consulted by the instructor and must agree to any
modifications or deviations from the syllabus throughout the course of the
semester.
13. Course Details:
Course details shown below are subject to change.
This schedule is a little more ambitious than usual,
so I might have to drop some topics on the way.
I tend to be slower than I like, mostly to
answer questions and review material.
| DATE |
ASSIGN DUE |
TOPIC |
| 9-5 |
|
Introduction |
| 9-5 |
|
PL/SQL as "normal" language |
| 9-12 |
|
PL/SQL accessing tables |
| 9-12 |
|
Object Oriented Modeling |
| 9-19 |
|
Inserting etc. in PL/SQL |
| 9-19 |
|
Object Oriented DBs |
| 9-26 |
HOMEWORK 1 DUE |
Triggers in PL/SQL |
| 9-26 |
|
Object-Relational DB |
| 10-03 |
|
Objects in SQL |
| 10-03 |
|
Intro to XML |
| 10-10 |
HOMEWORK 2 DUE |
Database Security |
| 10-10 |
|
XML in SQL |
| 10-17 |
MIDTERM 1 |
|
| 10-17 |
|
JDBC |
| 10-24 |
|
Querying XML |
| 10-24 |
|
Distributed Databases |
| 10-31 |
|
Introduction to PSP |
| 10-31 |
|
Web databases |
| 11-07 |
HOMEWORK 3 DUE |
PSP programming |
| 11-07 |
|
Ontologies |
| 11-14 |
|
Protege/Ontologies |
| 11-14 |
MIDTERM 2 |
|
| 11-21 |
|
JavaScript |
| 11-21 |
|
Multi-Media Databases |
| 11-26 |
WEDNESDAY |
Performance Tuning |
| 11-26 |
HOMEWORK 4 DUE |
AJAX |
| 12-05 |
|
Overflow Lecture |
| 12-05 |
|
You chose the topic |
| 12-11 |
|
Reading Day |
| 12-12 |
|
Reading Day |
| 12-15 |
|
Finals start |
| 12-19 |
|
Finals end |