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 5 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, Mueller xxx
Instructor Information & Office Hours (subject to change -- check
Web site)
A First Course in Database Systems, by Ullman and Widom, Prentice
Hall, 1997.
Notes, handouts, and other materials
There may from time to time be handouts or course notes required for purchase
or duplication. Disks may be needed in connection with hands-on assignments
or projects.
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 pencil and paper SQL practice
(i.e., you don't have to run it on the machine), and some homework that
doesn't involve programming at all.
The bulk of the programming will be for the class project. Details on the
project are forthcoming.
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: 30%
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.