CS
5530 / 6530 Database Systems
Tuesday and Thursday, 3:40-5:00pm, WEB 1230
Fall 2007
Instructor: Juliana Freire
News
Classes start on Aug 21st!
About the
Course
Course
Description
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 also learn the fundamentals
behind the implementation of relational database management
systems. From the user
perspective, the course will cover conceptual data modeling,
relational and semi-structured data models, database schema design,
relational algebra, SQL, XPath and XQuery query languages. From the
system perspective (i.e., how to design and implement a
database system), the course will study data representation,
indexing, query optimization and processing, and transaction
processing. 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. Here are the distinctions:
- CS 5530: All undergraduates should register under this
number. It is also recommended for graduate students from other
departments.
- CS 6530: All Computer Science graduate students must
register under this number. Final grades will be assigned on a
scale separate from CS 5530.
Textbook
The course textbook is Database System Concepts, by
Silberschatz, Korth and Sudarshan, 5th edition. We will follow it
rather closely, with additional topics in certain areas. A resource page for this textbook is
maintained by the authors.
Course Format and
Activities
Lectures
We strongly encourage (and appreciate!) students to attend classes,
because effective lectures rely on students participation to raise
questions and contribute in discussions.
Reading
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.
Workload
Homeworks will be assigned in most weeks. They will be discussed
during discussions and you should self-grade your performance.
They are a critical component of reinforcing the understanding of the
lecture material.
There will also be programming/querying assignments. These will be
graded by the TAs.
Students taking CS6530 will also work on a research project. For the
project, students can work individually or in groups of up to 3
people.
Evaluation
Grades for cs5530 will be tentatively assigned according to
the following formula:
(exams 50%) + (assignments 50%)
Grades for cs6530 will be tentatively assigned according to
the following formula:
(project 35%) + (exams 35%) + (assignments 30%)
Administration
Registrar
Data
University administrative data, such as student enrollment
counts, can be found on the following web pages:
CS 5530,
CS 6530.
(TENTATIVE) Office hours
Instructor:
Juliana Freire: Mon 1-3pm -- 3190J MEB
TAs:
Seth Juarez: Tu and Thu 2:40-3:40pm--MEB 3431
Mark Kim: Wed 1-3pm and--MEB 3431
Calendar
Tentative schedule for lectures, homework assignments
and exams.
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:
- Attend every class. An "often imitated, never
duplicated" way to stay well informed.
- 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.
- 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.
- Send email to teach-cs5530@cs.utah.edu.
Your question will be answered directly by the instructor or a TA,
with a copy going to cs5530@cs.utah.edu, and into the email
archive. Note that email directly to Juliana or TAs is not
recommended, except for private matters.
- [To be used sparingly] Send email to cs5530@cs.utah.edu. This is
broadcasted to all students and course staff.
- Please be sure you have at least one address on this list from
which you read email daily.
- To subscribe, use the Mailman
web interface.
- Note 1: A sign-up sheet will provided in class. Only email
addresses provided by students will be allowed to subscribe to the
list.
- Note 2: We will not use a class newsgroup, since
local newsgroups are not accessible outside of the cs.utah.edu domain.
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:
https://cgi.eng.utah.edu/webhandin/index.cgi
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.
- If you copy someone else's solution, you are cheating. If you
let someone else copy your solution, you are cheating. We will not
distinguish between the person who copied a solution and the person
whose solution was copied. Both people will be treated as
cheaters.
- If someone dictates a solution to you, you are cheating.
Everything you hand in must be in your own words, based on your own
understanding of the solution.
- If someone helps you understand the problem during a high-level
discussion, you are not cheating. We strongly encourage students to
help one another understand the material presented in class, in the
book, and general issues relevant to the assignments.
- When taking an exam, you must work independently. Any
collaboration during an exam will be considered cheating.
- Any student who is caught
cheating will be given an E course grade and referred to the University
Student Behavior Committee. Please don't take that chance --
if you're having trouble understanding the material, please let us
know and we will be happy to help.
Sytems used in the course
Information on how to use Oracle
XMLSpy
Maintained by Juliana
Freire. Last modified .