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.
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 systems.
We begin by studying database design, covering the 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.
Course Format
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.
Lectures
MWF 1:30-2:20, Loew 101
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, 2000.
The texts
are available in a single shrink wrapped package from the University
Bookstore.
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.
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
Late Policy
Assignments are due at the beginning of class on the due date, unless
otherwise announced. Barring usual circumstances, late homework will not
be accepted.
Tentative Grading Breakdown
Homework: 25%
Project: 30%
Midterm: 15%
Final: 25%
Intangibles: 5%
Attendance
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.
Tools
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.
Computer Systems
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."
Academic Misconduct
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.