CS 342: Database Systems II (Spring 2003)

 

[Administrative] [The Course] [Grading] [Schedule & PowerPoint Slides]  [Class Record] [Projects] [Students]

 

Administrative

 

Instructor

Dr. Badie Sartawi, sartawi@planet.edu

Office:  Virtual and by appointment.

Communication: Each student is expected to have his own email address. Fill out this form in order to get university web eamil and web disk accounts (hand or email to teahing assistant Ms. Asma' Abu Salah).

 

Teaching Assistants:

    Mr. Mohammad Amayreh,  Graduate Student, Computer Science

      Ms. Asma' Abu Salah,  Grdautae Student, Computer Science

 

Class: Computer Science Major Students.

Time: Sunday, Tuesday 2:00 – 3:30 pm 

Prerequisite: Passing grade in CS341 Database Systems I

 

Textbook

Text materials for much of the subject matter covered in this course are freely available on the World Wide Web. Therefore, if you are resourceful, you should be able to manage with no textbook at all. I will use the textbooks only to provide some structure to the course.

Recommended Book

·   Fundamentals of Database Systems: Third Edition, Ramez Elmasri and Shamkant B. Navathe, Addison-Wesley, ISBN 0-8053-1755-4.

 

The course

 

Description

Continuation of Database Systems I. The course will study the theory and implementation of computer database systems. Particular attention will be paid to relational database systems. The goal of this course is not to learn how to use a  particular database system, but rather to learn the underlying technologies that will allow the use of any system as well as the design of simple or advanced systems. Real systems will be heavily used as examples, however. This course will take a top-down approach, beginning with standard systems  and moving toward an understanding of the system workings. ER, EER, UML, OOD, OORDBMS, Web based DB, and other advanced topics will be covered.

 

Objectives

Students completing this course are expected to be able to:

 

  

Course Conduct

The course will consist of lectures, discussion sessions,  programming project, readings assignments, and reports.

When homework is assigned, it will be announced in the class. The due dates will be announced in the appropriate homework file.

You will find that this is a very fast paced course packed with rather quite difficult conceptual material. Besides, any programming based course, of necessity, is time-consuming and requires you to be well organized.  A thorough understanding of the material is an absolute necessity to do well in this course. It is therefore important that you keep with the class. Since the lectures are based on the assumption that you have read the reading materials assigned, you will find that attending the classes is a complete waste of time if you have not read them before the class. Should you feel lost, please seek help immediately. It is difficult to discover knowledge the day before a test. I am here to help you learn, and you are most welcome to discuss any difficulties with me any time you can find me.

Grading

 

Your scores on the home works, programming projects, quizzes, and exams shall determine your numeric grade as follows:

 

·         20% Class Participation:

·         20% term Paper:

·         20% Programming Projects:

·         20% Midterm Exam:

·         20% Final Exam:

 

Beyond the grade you receive on your home works and exams, several other factors can affect your final grade.

 

Requests for re-grading can go in either direction; I'm often quite generous when I first grade something, so please be sure that I did make a mistake before you submit your request. On the other hand, I'll always be willing to explain to you how to do any problems that you have trouble with. All requests for re-grades must come within one week of the return of the graded item. Thereafter, no requests will be considered, so be sure to pick up your returned home works and exams on time.

 

Programming Project

 

Group term-project will be assigned. Students can decide on the project subject although there will be suggested subjects from the instructor. 

In this project, students will demonstrate the understanding of the architecture, infrastructure, and protocols that support three-tier systems which are coming to dominate web-based commerce, and then apply our understanding of these issues in the development of web-based e-commerce systems.  This project is for self-learners and is therefore quite rigorous; but you should enjoy it unless, of course, you are averse to programming - particularly Java programming. 

You should divide into groups of four each. The group projects are best accomplished if you carry it out as we learn the various tools & techniques needed.

The three-tier application group project will involve an understanding of a web application development environment, and will involve considerable programming in the Java language.  Each group must present the project before the class at the end of the semester. Each group will have 20 minutes to present the three-tier application development group project. A written group project report is due at the time of class presentation. Click for information on contents, format, presentation and demo. Student are required to register their projects and submit Project Summary Form no later than 10th of April, 03. Approved Programming Projects

 

Research term Paper (Contents, Format, Presentation)

Term paper is required. Click for style, format, contents, and organization. Approved Term Papers

 

Class Participation & Discussion

I shall occasionally ask you individually questions in the class, and may ask you to do problems on the board. You are strongly encouraged to ask questions in the class. Simply put, those who participate frequently in class provide me with another source of information as to how well they are learning the material, and how much effort they are putting into the course. I can use this information to help counterbalance a difficulty with exams or home works.  Class participation will never harm your grade; always ask any questions you may have about the material.

 

Academic Dishonesty

Any academic dishonesty will be lead to receiving a failing grade.

 

Schedule & PowerPoint Slides

 

DB Concepts

Relational Algebra Concepts

Methodology Concepts

SQL Concepts

 

Lecture

Topics

1 - 5

·      CS341: Database Systems I

·      Databases and DB Users

·      DBS Concepts and Architecture

·      Data Modeling Using ERM

·      EER and OM

·      The RDM, R constraints, and R Algebra

·      SQL – The RDB Standard

·      ER – and EER-to-R Mapping, and other Relational Languages

·      Examples of RDBMS (case study – prepared discussion)

·      FDS and Normalization for RDB

·      RDBD algorithms and Further Design

·      Practical DBD and Tuning

6 - 10

·      Record Storage and Primary File Organizations

 

·      Index Structures of Files

 

·      Concepts for OODB

 

·      ODB Standards, Languages, and Design

 

·      OR and Extended Relational DBS

11 - 15

·      DB Systems Architecture and System Catalog

 

·      Query Processing and Optimization

 

·      Transaction Processing Concepts

 

·      Concurrent Control techniques

 

·      Data Recovery Techniques

 

·      DB Security and Authorization

16 - 28

·      Advanced & Emerging Concepts & Applications (term paper)

·      Active DB.

·      Temporal DB

·      Spatial DB

·      DDB

·      Deductive DB

·      Data Warehousing

·      Data Mining

·      DB on WWW

·      MM DB

·      Mobile DB

·      GIS

·      Genome DB

·      Digital Libraries

·      Presentation of projects and concept (term papers)

 

Links

http://icg.harvard.edu/~cs265/
http://www.extropia.com/tutorials/sql/database_models.html
http://unixspace.com/context/databases.html
http://www.ncgia.ucsb.edu/education/curricula/giscc/units/u045/u045_f.html
http://www.geog.ubc.ca/courses/klink/gis.notes/ncgia/
http://www.cc.gatech.edu/classes/AY2003/