CS 632 Fall 2009 About the Third Homework and Second Midterm -- I WILL NOT BE IN THE OFFICE ON FRIDAY. But I will be Thursday afternoon till at least 3:30. -- The third homework was graded. I will be in the office Thursday morning. You should come and get your homework so that you don't make the same mistakes of the homework on the Midterm. I will NOT be in on Friday. -- Rules for cheat sheets are like for the first midterm, and only ONE sheet is allowed. -- All the material is required for the exam, except for object-oriented theory. -- ALL PL/SQL is part of the exam. -- UML diagrams are part of the exam. -- Review your first Midterm. Don't make the same mistakes twice. Homework 3Homework 2 revised on Friday Oct. 9th.About the midterm exam: You may use ONE sheet of paper with notes during the exam. The sheet has to be 8.5 x 11 inches (standard Letter Size). It has to be written in your own handwriting. NO Xerox copies, NO printouts, NO notes of your friend. Notes may be written on both sides of the sheet. Your name must be written in the top line of the sheet on BOTH sides. ABSOLUTELY NO SHARING, BORROWING, EXCHANGING OR PASSING of note sheets.
Homework 1 is here.
Monday 8:30am - 11:25pm
Room: Kupfrian 204
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: Tentatively office hours are scheduled as follows:
Tuesday 1:00-2:30; Thursday 10:00-11:30
(Subject to Change and Cancellation due to Meetings.)
Additional hours are available by appointment.
Note: My office hours are available in the public Google Calendar
called Fall 2009. Check there for specific days.
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. Or use the Web. :)
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.
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: You have to get an AFS account (ID), if you don't have one. Otherwise you cannot log into into ORACLE. PL/SQL is part of the normal Oracle distribution. You will need a printer, Web access and a text editor (notepad will do). 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. 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=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 (New Jersey Institute of Technology) and license key. The key is available at the Request Product Key button. 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. 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 |
| 8-31 | Introduction | |
| 8-31 | PL/SQL as "normal" language | |
| 9-14 | PL/SQL accessing tables | |
| 9-14 | Object Oriented Modeling | |
| 9-21 | Inserting etc. in PL/SQL | |
| 9-21 | Object Oriented DBs | |
| 9-28 | HOMEWORK 1 DUE | Triggers in PL/SQL |
| 9-28 | Object-Relational DB | |
| 10-05 | Objects in SQL | |
| 10-05 | Intro to XML | |
| 10-12 | HOMEWORK 2 DUE | Database Security |
| 10-12 | XML in SQL | |
| 10-19 | MIDTERM 1 | |
| 10-19 | JDBC | |
| 10-26 | Querying XML | |
| 10-26 | Distributed Databases | |
| 11-02 | PSP Programming | |
| 11-02 | Web databases | |
| 11-09 | HOMEWORK 3 DUE | Ontologies |
| 11-09 | Protege | |
| 11-16 | MIDTERM 2 | |
| 11-16 | ||
| 11-23 | JavaScript | |
| 11-23 | Multi-Media Databases | |
| 11-30 | HOMEWORK 4 DUE | Performance Tuning |
| 11-30 | AJAX | |
| 12-07 | Overflow Lecture | |
| 12-07 | You chose the topic | |
| 12-10 | Reading Day | |
| 12-10 | Reading Day | |
| 12-11 | Finals start | |
| 12-17 | Finals end |