CS 6660 Spring 2006 Home Page
CS 6660 Spring 2006 - Database Systems - 4 Credits 

Prerequisites: CS 4660 Databases (undergraduate), CS 4560 Operating Systems. I really do expect you to already know the material from CS 4660. While lectures will include light review of that material, this is not the class to take to learn those topics. Operating systems and mutual exclusion will help you understand the material in distributed systems, concurrency control and recovery.

Note that, as mentioned below, a lot of the material depends on other courses that are part of the CS core curriculum. Data structures are quite involved in the Indexing topics, and syntax is the responsibility of DTD and XML Schema.

Instructor: David Yang (Science South 433, david.yang@csueastbay.edu)
Time: Mondays, Wednesdays, Fridays 1:20PM-2:30PM
Location: North Science 108 

Blackboard:
Here is a page with useful info related to Blackboard.

Text:
I will make some use of Silberschatz, Korth and Sudarshan, Database System Concepts, but there will be plenty of Internet material, and a recent edition of any of the standard texts probably includes some material on many of the topics. The edition in the bookstore should be the 5th edition of Silberschatz et al., but the 4th edition should be fine.

Goals:

  • to further explore the database topics of a standard undergraduate course. Databases have evolved quite a bit, and these topics will not always "look like" databases. To solve various problems, the newer topics draw from not only databases, but data structures, programming language concepts, artificial intelligence, statistics, operating systems, among other areas.
  • To gain some experience with how companies that support databases are providing support for these newer topics. We will in particular do some work with Oracle.

Calculation of your grade: 
Assignments : 50%, of which 10% will come from two lab assignments.
The midterm : 20% (will cover material through querying -- see topic list below. The tentative date for the midterm is Apr 26.
The comprehensive final exam : 30%.

[grading note: Your exams must average (using the relative weights above) out to a B- or better in order to get at least a B- in the course.]

Final grades will be given according to the following scale:

93-100 A, 90-92 A-, 87-89 B+, 83-86 B, 80-82 B-, 77-79 C+, 73-76 C, 70-72 C-,67-69 D+, 60-66 D, 0-59 F 

Attendance:
Remember that standard policy dictates that students who do not attend can be removed in favor of students on the waiting list who do show up. Also, not being prepared for an exam is not an excuse to not show up -- if you do not have a verified excuse, you will be given a zero for the exam. If you find out in advance that you will not be able to be present on the day of the exam, you should (as in all your courses) let me know as soon as possible.

Academic Honesty: This course will follow the University's standard policy on academic dishonesty. In particular, note that regardless of whether you copy work from another student or allow another student to copy your work on an exam, you are both equally guilty and equally penalized. Copying text/files off the internet without properly giving credit is also cheating. Any cheating on an exam results in an F for the course. Cheating twice also results in an automatic F. All instances of cheating will be reported to the Dean's office.

Remember that the University may inflict further penalties than listed here under the provisions of the published Academic Dishonesty Policy. 

Office Hours: My office is in room 433 of the South Science Building. My schedule for office hours this semester is: 

  • Monday, Wednesday 2:40-4:00pm
  • Friday 11:00-11:50am

I will also be available at other times -- if I'm free, you should feel free to stop by with any questions you have. You can make an appointment to make sure I'm available and free at that time, but it's not a big deal. This is the only source of individualized attention you get, so use it.

Tentative Topic Schedule

  1. Database models : relational vs. object-relational, time and spatial data, XML and hierarchical data (about 6 lectures)
  2. Storage -- indexing methods : B-tree/B+-tree, dynamic and extendible hashing (2 lectures)
  3. Data queries : SQL, XPath/XQuery (2 or 3 lectures, with one lab)
  4. Query optimization (2 lectures)
  5. Performance : tuning, benchmarks (1 or 2 lectures)
  6. Data mining, data warehouses (3 or 4 lectures, with one lab)
  7. Concurrency (2 lectures)
  8. Recovery (2 lectures)
  9. Distributed databases (2 lectures)
  10. Heterogeneous databases (2 lectures)

If time does not permit all the topics to be covered, I will lessen or drop the coverage of concurrency and recovery topics


 
This webpage's layout is originally from Bill Parkinson, who used to teach in the evening program at St. Joseph's University.