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
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.