CIS 632 Spring 2008
You should also expect that Homework 3 will be more work than "usual."
You are allowed to bring one sheet of 8.5 inches x 11 inches written in YOUR OWN HANDWRITING, on both sides. The sheet must have your NAME on the top line of BOTH SIDES. NO Xerox copies. NO printouts.
NO OTHER notes, no books, nothing else.
There will be absolutely NO SHARING, BORROWING, PASSING AROUND, etc. of note sheets, pens, pencils, erasers, rulers, watches, alarm clocks, phones, etc. Bring your own eraser! Bring your own watch!
This syllabus is on the Web at http://web.njit.edu/~geller/632/index.html. Information about assignments will be accessible through this Web page. Check this Web page at least twice a week in case that there are any announcements or changes.
Friday 10:00am - 12:55pm
Room: 104 Kupfrian
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; Wednesday 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:
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.
4) 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.
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
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. We are transitioning this semester to using 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=293In 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.
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.
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 |
| 1-25 | Introduction | |
| 1-25 | PL/SQL as "normal" language | |
| 2-1 | PL/SQL accessing tables | |
| 2-1 | Object-Oriented Modeling | |
| 2-8 | Inserting etc. in PL/SQL | |
| 2-8 | Object-Oriented DBs | |
| 2-15 | HOMEWORK 1 DUE | Triggers in PL/SQL |
| 2-15 | Object-Relational DB | |
| 2-22 | Objects in SQL | |
| 2-22 | Intro to XML | |
| 2-29 | HOMEWORK 2 DUE | Database Security |
| 2-29 | XML in SQL | |
| 3-7 | MIDTERM 1 | |
| 3-7 | JDBC | |
| 3-14 | Querying XML | |
| 3-14 | Distributed Databases | |
| 3-21 | NO CLASS | Spring Break |
| 3-21 | ||
| 3-28 | Introduction to PSP | |
| 3-28 | Web Data Bases | |
| 4-4 | Ontologies | |
| 4-4 | Protege/Ontologies | |
| 4-11 | HOMEWORK 3 DUE | |
| 4-11 | JavaScript | |
| 4-18 | MIDTERM 2 | |
| 4-18 | Performance Tuning | |
| 4-25 | AJAX | |
| 4-25 | Multi-Media Databases | |
| 5-2 | HOMEWORK 4 DUE | "Overflow Lecture" |
| 5-2 | You Choose the Topic | |
| 5-6 | Makeup Class | |
| 5-7 | Reading Day | |
| 5-8 | Finals start | |
| 5-14 | Finals end |