| Lecture times | T, 9:00 AM - 12:15 PM |
| Lecture Location | SL 247 |
| Lab time | R, 9:00 AM - 12:15 PM |
| Lab location | SL 247 (NT lab) |
| Instructors | Andy Harris Simon Wang |
| Unit | Topic | Reading | Assignment |
|---|---|---|---|
| 1 | Relational Model | Kroenke 1-4 | Flat file DB |
| 2 | Data Normalization | Kroenke 5-7 | E / R diagram |
| 3 | SQL Data Definition | Handout, Kroenke 9 | Implementation of DB |
| 4 | SQL Data Queries | Handout, Kroenke 8-10 | DB reports and views |
| 5 | Intro to PL/SQL | Handout | PL/SQL script |
| 6 | Advanced PL/SQL | Handout | Triggers and functions |
| 7 | Data Connectivity | Handout | JDBC / ASP project |
| Date | Assignment |
|---|---|
| June 8 | Midterm Exam |
| July 11 | Final Projects Due |
| July 13 | Final Exam |
This course presumes the basic web knowledge of CSCI N241 Web Design. Students should have some familiarity with basic internet protocols, html, and the unix environment. Relational database experience will be helpful but not necessary. The latter part of the course will describe the relationship between databases and several programming languages, so knowledge of perl, visual basic, and/or java will be extremely helpful.
The purpose of this course is twofold:Specifically this will entail discussion of relational database theory, the concepts of data normalization and data design, implementation of data designs through the Oracle DBMS, procedural programming via the PL/SQL environment embedded into Oracle, and the relationship between backend databases and user environments such as CGI scripts, java applets, ASP pages, and other client-server technologies.
- Learn the essential concepts of relational database theory
- Apply these skills in the client - server environment of the world - wide web
Kroenke, Database Processing - Fundamentals, Design, and Implementation,, Prentice Hall, 2000
Class main page. It is the student's responsibility to check this page periodically and read any of the materials posted there.
Part of programming is building up a library of reference materials. The exact books you use will be a matter of personal choice, but you ought to begin building your reference library.
We will not be heavily focusing on syntax, as we expect you to be able to look up syntax yourself. We are much more focused on the stylistic and strategic issues that books rarely cover well. You must have a good book or two to help you through syntax issues. Primarily we will be dealing with Oracle 8.0
You may of course use online reference materials, but in our experience, you really need paper as well.
There will be roughly one assignment per week. If you fall behind in the assignments, you will not succeed in the class. It's that simple. In addition to these weekly assignments, there will be a larger integrative assignment at the midterm, and a final project which is intended to tie everything together.
While we will give some lab time, you will probably want to spend time outside of class working on your projects. You should plan on some outside time, especially as the final project draws near. You can do class work on any machine that has some kind of internet capability. For many of the exercises, the exact technology you use will be up to you. Some of the projects can be done entirely on paper, and some will require a specific DBMS. Specific details will be forthcoming.
The final grade will be based upon the following breakdown:
- Midterm exam - 20%
- Final exam - 20%
- Final project - 20%
- Lab assignments - 40%
Lab assignments will be worth 10 points apiece and shall be due one week from the day on which they were assigned. All late assignments will be assessed a 20% penalty. It should be noted that if the instructor is unable to view a file (due to a student's misconfiguration) on the due date, that assignment shall be considered late for grading purposes.
A grade of incomplete is not intended to serve as a drop or withdrawal after the time period for submitting a drop has expired. Incompletes will only be permitted under the following conditions:
- The student has satisfactorily completed all course requirements up until the time of the incomplete.
- The student demonstrates that being required to complete the course within the semester's time constraints would cause extreme personal hardship.
- The student and instructor agree to a plan to complete the remaining coursework in a reasonable time period not unduly burdensome upon the student. In no case will the student be permitted to complete coursework any later than the mid-term examination of the semester following that in which the incomplete was issued.
- All paperwork required to issue the incomplete is completed and turned in to the CSCI office staff before final grades are issued.
One of the finest traditions of programming is the concept of openly sharing and refining code written by others. In the forms of programming we will do, it will be very easy to use code written by others. In fact, sometimes we will do so as a part of the course. As in any other kind of scholarship, there is a difference between 'standing on the shoulders of giants' and plagiarism. Although you will be encouraged to examine the code of others, you MUST write original code for this course.
When you do borrow from another programmer, you must cite the source in your code. You must also comment how you used the code, and any modifications you made to it. Using code without appropriate citation constitutes plagiarism, and will be dealt with very harshly.
If we are concerned about something you wrote, we will not place a grade on it until we have a chance to talk to you. If we suspect that you have turned in plagiarized work, we will follow the steps outlined in the student code of academic conduct. We will vigorously pursue allegations of suspected plagiarism. It just isn't worth it.
Since this is a technology course, we will rely heavily on the Internet as a communication medium. You are expected to check your email and the course main page regularly. We will also have a mailing list, which you will be expected to subscribe to.
Here's the best ways to get ahold of us:
Andy Harris Simon Wang Office SL 280 D aharris@cs.iupui.edu mailto:xwang@cs.iupui.edu web page http://www.cs.iupui.edu/~aharris http://www.cs.iupui.edu/~xwang