CS 5530 / 6530 Database Systems

Tuesday and Thursday, 3:40-5:00pm, WEB L103

Spring 2011

Instructor: Claudio T. Silva


See the news on our Wiki .

About the Course

Class wiki (Tentative schedule for lectures, homework assignments, projects)

5530/6530 Database Systems (3, F) Prereq: CS 3510.

In this class you will learn the practical benefits that stem from using a Database Management System (DBMS) and, to better understand a DBMS's behavior, you will explore the theory behind the implementation of relational database management systems. The course will cover conceptual data modeling, relational and semi-structured data models, database schema design, relational algebra, SQL, XPath and XQuery query languages. In this course, you will not learn the details of how to use any specific commercial database system. This course is designed to cover the fundamental database concepts and query languages that are used in current relational database engines.

CS 5530 vs. CS 6530

This course offering serves both graduate and undergraduate students:


The required course textbook is First Course in Database Systems with a GOAL access card, by Jeffrey D. Ullman and Jennifer Widom, 3rd edition. We will follow it rather closely, with additional topics in certain areas. A resource page for this textbook is maintained by the authors.

You will need GOAL access for your homework assignments.

Course Format and Activities


We strongly encourage (and appreciate!) students to attend classes, because effective lectures rely on students participation to raise questions and contribute in discussions.


Read the textbook for the required reading before lectures, and study them more carefully after class. Please note that all the required readings are fair materials for exams. These materials may not be fully covered in lectures---lectures are intended to motivate as well as provide a road map for your reading, given the limited lecture time we may not be able to cover everything in the readings.


Homework will be assigned in most weeks. They are a critical component of reinforcing the understanding of the lecture material. Most of your assignments will be done and graded through GOAL: Gradiance Online Accelerated Learning.

There will also be programming/querying assignments. These will be graded by the TAs.


Grades for cs5530 will be tentatively assigned according to the following formula:
(exams 60%) + (homework assignments 15%) + (programming+query assignments 25%)

Grades for cs6530 will be tentatively assigned according to the following formula:
(exams 60%) + (homework assignments 15%) + (programming+query assignments 25%)

For all the graded assignments and projects, if you disagree with the grading, you can discuss with me within two weeks after they are returned. After that, all the grades will be finalized.


Office hours

Claudio Silva: Tue 1:40-3:40pm -- WEB 4893


Shayan Chandrashekar: Wed 11am-1pm -- MEB CS lab

Shreyas Subramanya: Fri 1-3pm -- MEB CS lab


Tentative schedule for lectures, homework assignments and exams are posted on the class wiki.

Keeping Informed

There are 5 ways to pose questions and keep informed on course content, progress, and student obligations. They are listed most important first:

  1. Attend every class. An "often imitated, never duplicated" way to stay well informed.
  2. Browse these Web pages. The course staff intends to link all course information, whenever feasible to these Web pages. Consequently, the content will be constantly updated. This is the first place to look for answers to questions.
  3. Watch the email archive. This will be an evolving FAQ with contents "by popular demand". For security reasons, it is only accessible from within the School of Computing domain.
  4. Send email to teach-cs5530 [at] list [dot] eng [dot] utah [dot] edu. Your question will be answered directly by the instructor or a TA, with a copy going to cs5530 [at] list [dot] eng [dot] utah [dot] edu, and into the email archive. Note that email directly to Juliana or TAs is not recommended, except for private matters.
  5. [To be used sparingly] Send email to cs5530 [at] list [dot] eng [dot] utah [dot] edu. This is broadcasted to all students and course staff.
    1. Please be sure you have at least one address on this list from which you read email daily. The email you have on ACS will be automatically registered.
    2. To subscribe, use the Sympa Web interface.
    3. Note: A sign-up sheet will provided in class. Only email addresses provided by students will be allowed to subscribe to the list.

Late Policy

Assignments handed in on or before the due time will be graded for full credit. No late assignment will be accepted.

Submitting Homework

Written assignments must be handed in on paper in class on the due date, or deposited in the drop box by the School of Computing front office (3190 MEB). Unless otherwise noted, assignments must be submitted by 3:30pm on the due date.

Programming/querying assignments must be handed in electronically either through a Web interface:
or by executing the following on any CADE domain Unix machine:

 handin cs5530 a1 file_name1 file_name2 ... file_namek

where a1 will work for assignment 1, a2 for assignment 2, etc.

 handin cs5530 a1

will list all files submitted under a1.

Using electronic submission for programming assignments will be mandatory.

Dates & Policies

See this link for an announcement from the College of Engineering to all students (in pdf).

Student Integrity

Cheating of any kind will not be tolerated. Any assignment or exam that is handed in must be your own work. However, talking with one another to understand the material better is strongly encouraged. Recognizing the distinction between cheating and cooperation is very important.

Sytems used in the course

Information on how to use Oracle

Maintained by Claudio Silva. Last modified .