|Back to CS Home Page|
Computer Science Course Information
|Course No.||CIS 631||Sections||101,851|
|Title||Data Management Systems Design|
|Prerequisite(s)||Knowledge of algorithms and programming languages|
|Instructor|| Vincent Oria
|Instructor Office Hours|
|Description||The objective of the course is to introduce database systems. The course focuses on the following issues: Relational Database Model, Formal and Commercial Database Languages (Relational Calculus and SQL), Database Design, Storage (File Organizations, External Hashing, Indexing), Query Processing and Optimization, Formal Database Design (Normalization) and Transaction Processing and Concurrency Control.
The students will learn how to design and implement a database application through a small project. They will get hands-on experience with commercial database management systems (DBMS) by writing application programs that involve the commercial DBMS query language SQL.
|Topics||Tentative Lecture Schedule
Lecture # In Text Book Content
Sep. 6 Chap. 1, 2 Introduction to Databases
Sep. 13 Chap. 5, 6 Relational Model, Relational Algebra
Sep. 20 Chap. 3, 4 Database Design: The E/R Model
Sep. 27 Chap. 9 ER to Relational Mapping
Oct. 4 Chap. 10, 11 Normalization.
Oct. 11 Chap. 8 SQL.
Oct. 18 Chap. 8 SQL – Complex Queries
Oct. 21 to 25 Chap. 1-8, 10-11 Midterm (Take Home)
Oct. 25 Chap. 6 Relational Calculus.
Nov. 1 Chap. 9 SQL in Real World: Dynamic SQL, SQLJ SQL/CLI, JDBC….
Nov. 8 Chap. 9 SQL in Real World: Dynamic SQL, SQLJ SQL/CLI, JDBC….
Nov. 15 Chap. 13 File Organizations
Nov. 22 Chap. 13, 14 Indexing and Hashing Techniques
Nov. 29 Chap. 15 Query Evaluation, Query Optimization -- Algorithms for Relational Operators.
Dec. 6 Chap. 17, 18 Transaction Processing, Concurrency Control
Dec. 7 to 12 Project Demo
Dec. 15 to 21 All Chap. Final (Exact date TBA)
|Text Book(s)||R. Elmasri, S. B. Navathe, Fundamentals of Database Systems, 4th edition, Addison-Wesley, 2004.
|Time & Place||Tuesday, 6.00 pm - 9 pm Room: KUPF 209 & DL
Online discussion and course material: Webct.njit.edu
Webct.njit.edu: Monday to Friday. The course will mainly be a continuous discussion among students. I will get involved if needed to answer questions directed to me. The lecture notes will be posted on WebCt on Mondays. Any question posted on WebCt from Monday to Friday will be answered within 24hrs. Each week 1 or 2 topics will be discussed. You will have to make sure you asked all the questions related to the current topic by the end of the week to ensure a smooth course evolution.
The main part of the course will be on WebCt. But I would like to try a phone-based office hours this semester. I will be available to take student questions on the phone on Tuesdays from 3:00PM to 4:30 or by appointment. If you are planning to call, please let me know in advance so that the time slot is well-used.
|Other Info||In the project, the students will be asked to design a small database, create and populate this database, and write a number of application programs to access the database. The topic of the project will be different for each course. The projects will be done in groups of two. The students should form their own groups. And they will be required to demonstrate their programs. They should treat these demonstrations as if they were giving them to their customers. They will also submit a typed project report. This report should minimally cover (a) a summary of the system requirements and any additions they may have made, (b) the entity-relationship design, (c) the (relational) logical database design, and (d) the application program design. For each of these, they should identify the major design decisions that they faced and the decisions with justifications for those decisions. Also they should include, as an appendix, a list of the relational instances they have used to populate the database and some of the programs.
The slides for each lecture are available before the class on the class Webct page. A good practice is to read from your book the material to be taught in class and to come prepared. After the theory on a certain topic is presented, you can also download the corresponding questions and exercises, which you should try to solve. Most of them are discussed in class in subsequent lectures and on WebCt. Alongside your assigned homework you should work in groups on a project. Other relevant material (e.g. diagrams and solutions of exercises) will be available for downloading in due time.
Attendance and Participation
You are supposed to attend all the classes. Participation is highly encouraged to make the class and the WebCt conference more interactive. Class attendance and participation are taken into consideration by the instructor for the evaluation of the students. Experience shows that students that do not attend the classes and do not participate in the on-line discussions do not perform well in the mid-term and final exams. If you miss one class, be sure to consult one of your classmates about the content of the lecture. In any case visit the course WebCt page to get notes, assignments, deadlines and announcements. It is a "living document" and you have to visit it at least once a day.
Academic Honor Code
The NJIT academic honor code
(http://www.njit.edu/academics/honorcode.php)applies in full to this
class. Note in particular that copying programs, in full or in part, is
forbidden. You may discuss ideas and concepts with your fellow
students, but you may NOT copy any code.