CSC 440 Database Management Systems

Course Syllabus

CSC 440 DATABASE MANAGEMENT SYSTEMS
Section 1, Spring 2008 (TTh 11:05am--12:20pm, Room 1229, Engineering Building II)

Instructor: Dr. Peng Ning

Instructor’s email policy: the instructor is sorry that she may be unable to respond in a timely fashion to emails on homeworks or project reports, when such emails are sent to pning AT ncsu.edu; please direct such emails to csc440-001-sup AT wolfware.ncsu.edu . It makes sense to send all (or at least most) course-related emails to csc440-001-sup AT wolfware.ncsu.edu .

Instructor’s email: pning AT ncsu.edu . Please be sure to read the instructor’s email policy, see above.

Phone number for instructor’s office hours: 513-4457

Instructor’s office hours (in EBII 3258): 9:45am -- 10:45am on Tuesdays and Thursdays, or by appointment.

Teaching Assistant: Yao Liu
Email: yliu20 AT ncsu.edu
Office hours held in: 3323 EB-II
Office hours: Tuesdays and Thursdays, 4pm-5pm

Textbook (required):
Database Systems: The Complete Book, by Hector Garcia-Molina, Jeffrey D. Ullman, and Jennifer Widom, Prentice Hall, ISBN # 0132282119. (Make sure you get a copy with the right ISBN.)

Course Prerequisites:

CSC 316, Data Structures for Computer Scientists

Knowledge of discrete mathematics and predicate logic. Specifically, the knowledge of the following background topics will be assumed: elementary set theory, relations, partial orders, functions, concept of a theorem, propositional logic, and predicate logic. These topics are covered in CSC 224: Applied Discrete Mathematics. You may review Sections 1.1 - 1.6, 3.1, 6.1, 6.2, 6.4 from the following book, which is sometimes used as the CSC 224 textbook: K. H. Rosen, Discrete Mathematics and its Applications (McGraw-Hill, 2nd edition, 1991).

Sufficient ability to program in Java or willingness to acquire it through self-study.

Course Website:

Reading Assignments, Homeworks, and Project:

You are required to read the assigned chapters and sections of the textbook before the corresponding topics are discussed in class. In answering your questions on the topics discussed in class, the instructor will assume you are already familiar with the relevant material in the textbook.

There will be six in-class quizzes (none of them announced in advance), in which in the beginning of the class you will be asked questions on the materials of the upcoming (on that day) lecture or of the previous lecture. Out of your six quiz grades, the lowest grade will be discarded. Each of your five remaining quiz grades constitutes 1% of your course grade.

There will be eight homework assignments and a project. The homework grades will be added up without scaling. All work is to be performed individually unless otherwise specified. For the collaborative problems, you are encouraged to form teams of 2-3 members (of students in this class) to cooperate only on those problems. After discussing the problems, please write up your answers individually. Indicate the names of the other members in your team, if any. You get no extra credit for working alone where collaboration is permitted.

The homework grades, taken together, are just 10% of the course grade. At the same time, for doing well in the course, especially on the exams, it is crucial to take the homeworks seriously. If you work hard on your homeworks and if you understand well the (correct) homework solutions, it is very likely that you will do well on both exams.

Grading

+/- grades will be assigned. There will be a lot of work - please plan to spend about 11-13 hours for this course (outside of class) each week. The course project is an important part of the course.

Components of grade:

Quizzes = 5%
Homeworks = 10%
Project (demo day April 23) = 22%
Midterm (February 28, in class) = 30%
Final exam (April 29, 8-11am, in room 1229 EBII) = 33% (the exam is cumulative)

The Regrade Policy, courtesy of Michael Genesereth at Stanford University (note that all regrade issues must be resolved before the end of the last day of classes, with one exception: if some grades, such as project report 3 grades, are not ready by that time, then all regrade issues for such grades must be resolved before the end of day of the final exam):

If you feel a regrade is warranted, the following items may be of interest.

  • You must clearly and concisely describe why what you wrote is more correct than we gave you credit for.
  • The entire problem set or project report will be regraded. In other words, by requesting a regrade, you risk lowering your grade.
  • You should send your request, in writing, to the TA.
  • All regrade requests must be made no later than a week after each homework, project report, or exam is returned to the class.
  • The only exception to the second bullet point will be arithmetic errors. If we subtracted 5 from 10 and gave you 2, we won’t regrade your solutions.

Self-Study Responsibilities

Some of the topics are important but are either quite straightforward or not a main focus of this course. These topics will be identified by the instructor as self-study topics. Your knowledge of them will be evaluated as appropriate through exams, homeworks, programming assignments, or the project.

Topics

This course will present the fundamental concepts in database management at the graduate level. The following topics correspond to chapters 1-3, 5-7, 11-13, 15-16, 17-19, and to sections 8.5-8.7 of the required textbook. In addition, we may or may not have time to cover sections 4.5-4.7 and possibly more material in the textbook. The indicated class times are approximate estimates.

  1. Introduction (0.5 week: chapter 1).
  2. Database programming basics (0.5 week: section 8.5 and online JDBC tutorial): Oracle with JDBC frontend.
  3. Data modeling: entity-relationship approach (1 week: chapter 2).
  4. Relational model (1.5 week: chapter 3).
  5. Relational algebra (1 week: chapter 5).
  6. SQL (1.5 week: chapter 6).
  7. Constraints and triggers (1 week: chapter 7).
  8. Transactions, security, and authorization in SQL (0.5 week: sections 8.6-8.7).
  9. Data storage and index structures (1 week: chapters 11-13).
  10. Recovery (1 week: chapter 17).
  11. Concurrency control (1 week: chapter 18).
  12. Query execution (0.5 week: chapters 15-16).
  13. Distributed databases (0.5 week: chapter 19).
  14. (Time permitting) semistructured data and XML (0.5 week: Sections 4.6-4.7).

POLICIES

Academic Honesty:

The university, college, and department policies against academic dishonesty will be strictly enforced. You may obtain copies of the NCSU Code of Student Conduct from the Office of Student Conduct; please see Section 7 for a statement on academic integrity.

Unless otherwise specified, every gradable part of the course requires individual work. Where collaboration is permitted, students may discuss problems with each other, but the solutions must still reflect their individual understanding. All kinds of collusion will be subject to disciplinary action. Students must acknowledge sources such as books (other than the required textbook) and old assignments. Unacknowledged use of any such material is subject to disciplinary action. Any attempts to circumvent computing system security or interfere with others’ work will also be subject to disciplinary action.

Deadlines:

Homework and project deadlines will be hard. The only three exceptions are as follows: (1) Late homework 1, as well as (2) late homework 2 part 2 only, will be accepted with a 10% reduction in grade for each class period they are late by; however, once the homework solutions are published, submissions will no longer be accepted. (3) Late peer evaluations (within project reports) will be accepted with a 1.5% reduction in total grade for the corresponding project report for each late day. However, if a peer evaluation for project report 3 is not submitted by the end of day of the final exam, the penalty is a 10% reduction in total grade for project report 3.

Late project assignments will be accepted only in circumstances that are grounds for excused absence under university policy; no late project reports will be accepted after the date of the project demo. (Arrangements for turning in late assignments must be made during the previous class if possible.) All assignments must be turned in before the start of class on the due date, unless otherwise noted.

Mailing List:

You will be added or deleted from the course mailing list automatically based on your registration status for the course. The TAs can insert and remove additional addresses, but neither the TAs nor the instructor can remove your unity address from the mailing list.

The instructor will make each course-related announcement available on the course web page. Students are responsible for monitoring the relevant web page, at least twice a week, for any course-related announcements.

Exam Instructions:

The final exam is cumulative. Both exams are closed book. Collusion or cheating of any form are forbidden. You can be asked to explain your solutions verbally. In solving exam problems, you may not make additional assumptions, unless explicitly encouraged to do so in the problem assignment. You can get partial credit for an English description.

Homework Instructions:

The homework problems are marked independent or collaborative. You have to take care not to discuss the former with anyone. For the latter, you are encouraged to form teams of 2-3 members (of students in this class). The teams can change over the semester. After discussing the problem, please write up your answers individually. On your answer sheet, list the names of the other members in your team, if any.

Project Instructions:

The project is meant to be carried out on NCSU computing facilities. A demo will be required. The software produced should be compilable and executable on NCSU machines. If you wish to use off-campus resources, you may do so, but only with explicit prior approval. Approval usually requires that (a) there is no inconvenience to the other members of your team, (b) you are willing and able to manage without any support from NCSU staff, and (c) you are willing and able to assist in evaluating your work, e.g., by connecting to the off-campus site or by transporting equipment to campus.

Often, a project requires teamwork. Project teams ought not change over the semester. However, a change may be allowed for a good reason. Each member of the team is expected to work hard. (Please note that peer evaluations are an explicit and significant part of the project grade.) Team members are encouraged to resolve technical differences through discussion. However, if some member is not working satisfactorily, complaints from the other members will be entertained, possibly leading to a reduction in credit for the person not working satisfactorily.

Attendance:

The instructor expects good attendance. If you miss a class it is your responsibility to make up. If you miss an exam, please supply official documentation in order to get credit. For anticipated absences, the instructor will give one exam prior to the exam date for the rest of the class; all early-final-exam requests must be received by the instructor at least 30 days before the regular scheduled date for the exam. For unanticipated documented absences, the instructor will prorate your scores on the other exams. You should review the official attendance regulations at http://www.ncsu.edu/policies/academic_affairs/courses_undergrad/REG02.20.3.php.

Audit Requirements:

Prerequisites are waived for enrollment as an audit student. Audit requirements for the course are 50% attendance and a grade of C or better in any one exam. Projects by auditing students are not graded and not considered equivalent to an exam.

Grading Philosophy:

The exams involve more than a rote repetition of the course material, so that differences in grades reflect differences in understanding. Scores would generally not be clustered at the top. Thus if a good student does poorly on one exam, they can easily catch up in other exams. If scores were uniformly high, you could never recover from a minor mistake. For this reason, even a relatively low score in the exams may translate into a high grade, depending of course on other performance.

Grade Assignment:

The weights of different components of the course are specified in the course description. The instructor generally assigns nominal grades based on the total score. However, she also looks at the whole record to decide if a student merits a better grade than the nominal one. Specifically, the instructor considers the score in the exams seriously in moving students to a better grade.

Students with Disabilities:

Reasonable accommodations will be made for students with verifiable disabilities. In order to take advantage of available accommodations, students must register with Disability Services for Students at 1900 Student Health Center, Campus Box 7509, 515-7653.

©2008 Peng Ning . All rights reserved.