UMBC              Fall 2005
CMSC661        Principles of Database Systems


Instructor
      Dr. Padma Mundur
       Computer Science  & Electrical Engineering Department
       Office : ITE 350
       Phone : (410) 455 3019
       Email : pmundur@cs.umbc.edu
       Class homepage : http://www.csee.umbc.edu/~pmundur/courses/CMSC661-05/
       Office Hours: 3-5 pm Wednesday

TA
        Patrick Gillespie
        Office Hours: Tuesdays and Thursday 3:30 to 4:30 pm
        Office: ITE 353
        email:  pgille1@umbc.edu

Meeting Time and Place
       Monday and Wednesday  5:30 pm - 6:45 pm, ITE 229

Important Dates
      Midterm Exam :  October 24, 2005, Class time New Date October 26, 2005 Class time
      Final Exam :  December 19, 2005, 6 - 8 pm
      Project Demo and Report Due : December 13-14
     Last Day of Class: Dec 12, 2005



WATCH THIS SPACE FOR ANNOUNCEMENTS



Prerequisites:    CMSC 461 or equivalent or with Instructor's permission (strictly enforced)

Required Text:  Database Systems: The Complete Book, Hector Garcia-Molina, Jeffrey D. Ullman, and Jennifer Widom

Course Description:  This course is meant to be a second course in Databases consisting of advanced topics on the mathematical foundations of database concepts. Databases have become indispensable to every business. They represent essential information such as employee records stored for businesses to terabytes of data gathered for scientific investigations. More significantly, databases represent knowledge and technology developed over several decades and manifest in sophisticated and specialized software called database management systems or DBMSs -- Oracle being the prime example. In this course we will study various capabilities of a DBMS such as persistent storage, programming interface, and transaction management. We will also discuss the theory and practice behind relational database systems which form the core of present day DBMSs. The idea that changed this field significantly came from Codd in 1970 which is that queries seeking stored information could be expressed in a very high-level language operating on a set of tables called relations. Separated from this simplistic view of access to DBMS is a complex data structure that enables rapid response to those queries. This results in an efficient use of the DBMSs where the user need not be aware of the complexities involved in storage and retrieval of query responses but only learn to formulate queries using a high-level language. Students of this course will acquire knowledge in the use of high-level query languages as well as the design and development of index structures, query optimizers, and other facilities that a present-day specialized DBMS provides.

Course Objective: At the end of the course, the student will have developed skills in three areas: i) application of theory to practical problems using ideas behind various data models and query languages; analyzing issues related to management of databases including query optimization, recovery, and concurrency control; ii) designing and implementing a fairly complicated relational database using modern software tools; iii) acquiring knowledge of  research in the database field.
 
 
 
List of Topics  Related Papers (citations available at the end of the chapters) 
Chapter 1 (reading assignment)
Chapter 2: The Entity-Relationship Data Model
Chapter 3: The Relational Model
Reference [2] from Chapter 2 and [4] from Chapter 3
Chapter 5: Relational Algebra
Chapter 6: SQL
Chapter 10: Logical Query Languages
Reference [4] from Chapter 3 and [3] from Chapter 6
Chapter 7: Constraints and Triggers
Chapter 8: System aspects of SQL
Chapter 12: Representing Data Elements (reading assignment)
Chapter 13: Index Structures
Chapter 14: Multi-dimensional and Bit Map Indexes
Reference [3] from Chapter 13
Chapter 18: Concurrency Control Reference [11] 
Chapter 19: Transaction Management
Chapter 15: Query Execution Reference [2]
Chapter 16: The Query Compiler

Grading Policy
    Homeworks   - 10%
    Midterm Exam - 30%
    Final Exam - 30%
    Project -  30%

The course grades are determined as follows. For each of the categories above, a score between 0 and 100 will be assigned based on student's performance and the final score is a weighted average of the individual category scores. The final scores will be converted to letter grades by using the following mapping: [90, 100] => A, [80, 90) => B, [70, 80) => C, [60, 70) => D, [60,100] => P, [0,60) => F.

Important: Makeup exams and incompletes are allowed only under extraordinary circumstances as per the university policy.You are required to participate in all categories (homework, exams, project) to pass the course; nothing is optional. Failure to complete assignments on time is not a sufficient reason for an incomplete.

Course Requirements

You are required to take the midterm and final exams; submit homework assignments on time; and carry out the project to a successful demo. You are required to participate in all categories (homework, exams, project) to pass the course; nothing is optional.

There will be 5 homework assignments.  All homework must be done independently.  No late homework is accepted.

You will be required to work on a semester-long project requiring substantial work.  Project work requires working in a team of 2-3 students.  A detailed description of the project will be provided in the third week of class. Teams will also be assigned at the same time.  A final project report is due on the date shown above.  A demonstration of the project will be scheduled for each team around the same time.  You are also required to pass intermediate milestones. No late projects are accepted. You will be provided accounts on the Oracle Server from OIT.Additional details will be provided as we progress through the semester.

Midterm and final exams are closed book and conducted in class during the times shown above. Final exam is comprehensive (but more weight will be given to topics from second half). Makeup exams and incompletes are allowed only under extraordinary circumstances as per University policy.

Academic Honesty
Each individual is responsible for his or her own homework. Under no circumstances should written or printed materials be shared. With respect to the project, I would like to see a healthy competition among teams to generate innovative ideas and come up with the best project at the end of the semester.  Photo IDs may be required for admission to exams. By enrolling in this course, each student assumes the responsibilities of an active participant in UMBC's scholarly community in which everyone's academic work and behavior are held to the highest standards of honesty. Cheating, fabrication, plagiarism, and helping others to commit these acts are all forms of academic dishonesty, and they are wrong. Academic misconduct could result in disciplinary action that may include, BUT IS NOT LIMITED TO,  suspension or dismissal. To read the full Student Academic Conduct Policy, consult the UMBC Student Handbook.