Databases are at the heart of modern commercial application development.
Their use extends beyond this to many applications and environments where
large amounts of data must be stored for efficient update and retrieval.
Their principles and fundamental techniques are being extended today to
the Web and to novel kinds of data, like XML. The purpose of this
course is to provide an introduction to the design and use of database
systems, as well as an appreciation of the key issues in building such
We begin by studying database design, covering the Object Data Language (ODL)
and entity relationship
models. We will then cover the relational data model and relational algebra.
Next, we consider the usage of database systems through the SQL query and
manipulation language. We cover active aspects of database systems, recursion
and preliminaries of object-oriented systems. Throughout the course we
often consider the insides of a database system and briefly look at issues
such as data storage, query optimization and transaction processing.
The class meets three times a week for lectures. We won't meet in the computer
lab except perhaps very occasionally. We will follow parts of the textbook
(see below). There will be 6 homework assignments (some of which will involve
light programming). In addition, there will be a programming project. You
can usually find copies of the slides used in the lecture on the web site,
a day before the lecture.
MWF 1:30-2:20, BAG 260
Instructor Information & Office Hours (subject
to change -- check Web site)
A First Course in Database Systems, by Ullman and Widom
Database System implementation by Garcia-Molina, Ullman and Widom,
The texts are available in a single shrink wrapped package from the University
The library will have on reserve three other books that you might find
useful if you require another explanation of a topic:
Fundamentals of database systems by Elsmasri and Navathe.
Database management systems by Raghu Ramakrishnan.
Foundations of database systems by Abiteboul, Hull and Vianu.
Data on the Web: from relations to semistructured data and XML by
Abiteboul, Buneman, Suciu.
Programming and Homework
This is not a programming class! Nevertheless, some programming will be
necessary. There will be some mandatory SQL programming for setting up
and querying a database. Such queries are usually short compared to typical
programs in other languages. There will be some SQL practice, and some
homework that doesn't involve programming at all. The bulk of the programming
will be for the class project
Assignments are due at the beginning of class on the due date, unless
otherwise announced. Barring unusual circumstances, late homework will not
Tentative Grading Breakdown
I hope you will attend every lecture. If you miss a lecture, talk to a
friend who was present, and be sure to check the Web site for class messages.
The World-Wide Web and e-mail will be used extensively to provide you with
course information, such as the schedule mentioned above, homework assignments
and solutions, class messages and many other things.
For the required hands-on homework, students need access to Microsoft SQL
Server. This software is available in the NT lab (Sieg 232). Additional
software may be required for the project.
Computer Use Policy
Some excerpts from the campus policies.
Take them seriously: "You must use all UW [computing] resources in strict
accordance with local, state, and federal laws. These laws cover such areas
as illegal access to computer systems, networks, and files; copyright violations;
and harassment issues... Software and information resources provided through
the university for use by faculty, staff, and students may be used on computing
equipment only as specified in the various software licenses. Unauthorized
use of software, images, or files is regarded as a serious matter and any
such use is without the consent of the University of Washington...If abuse
of computer software, images, or files occurs, those responsible for such
abuse will be held legally accountable."
All work turned in is expected to be your own. Although students
are encouraged to study together, each student is expected to produce his
or her own solution to the homework problems. Coping or using sections
of someone else's program, even if it has been modified by you, is not
acceptable. The University has very clear guidelines for academic misconduct
and the staff of CSE 444 will be vigorous in enforcing them.