CSEP 544 Syllabus
- Course Goals
- 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
- We begin by covering the relational model and the SQL
language. We then study methods for database design, covering the
entity relationship model. Next, we discuss XML as a data model, and
present languages for querying it. We see how XML is used for sharing
data among different applications in a distributed environment. We then
inspect the architecture of a database system, and discuss efficient
storage of data, execution of queries and query optimization. Finally,
we touch on some advanced topics in database systems.
- Course Format
- The class meets once a week for lectures; we won't
meet in the computer lab. We will follow parts of the textbook (see
below). The lectures are designed to be clear and selfcontained, and
to cover all the material used in class. Still, you are strongly
encouraged to read from the textbook, both in order to get a better
understanding of the material covered and to learn about related
topics, which are not covered in class. There will be 4 homework
assignments (some of which will involve light programming), and there
will be a programming project. You can usually find copies of the
slides used in the lecture on the web site, on the day of the
- Tuesday 6:30-9:20 pm, CSE 305
- Final: 6:30-8:20 pm, Thursday, Mar. 15, CSE 305.
- Instructor Information &
- Office hours
|| Allen 662
|| 5:30-6:20 pm,
Tuesdays (appointments strongly recommended)
Bao Nguyen Nguyen, TA
| Allen 362
| By email appointments
- Database Management Systems (third edition), Raghu Ramakrishnan and Johannes Gehrke. Available from the University Bookstore.
Web sources: there will be some reading assignments from
The library has the following that you might find useful if you
require another explanation of a topic.
- Fundamentals of database systems by Elsmasri and
- XQuery from the experts, edited by Katz
- Database management systems by Raghu
and Johannes Gehrke.
- Foundations of database systems by Abiteboul,
- Data on the Web: from relations to semistructured
and XML by
Abiteboul, Buneman, Suciu.
- Programming and
- Some programming will be
necessary in this course. One can
only start to appreciate database systems by actually trying to use
one. Databases only hold the data, the application logic needs
to be written in some general purpose language, and we will use C# in
- Late Policy
- Assignments are due at the beginning of class on the due
otherwise announced. Barring unusual circumstances, late homework will
not be accepted.
- Tentative Grading Breakdown
- Homework: 35%
- Project: 35%
- Final: 30%
- 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
- The course website and mailing list will be used
extensively to provide you with
course information, such as the schedule mentioned above, homework
and solutions, class messages and many other things.
- Computer Systems
- For the required hands-on homework, access to Microsoft SQL
Server is needed, for which you will all be given accounts. This
software is available in the NT lab. Additional
software may be required for the project. You are allowed to use a
relational database management system, such as MySQL, Oracle and DB2,
if you wish. In that case you need to install it yourself. We will
support at all.
You will be required to change the passwords the
first time you access to MS SQL Server IPROJSRV. The new passwords must
obey the Windows password policy
as follows (from "MSDN" website):
- Password complexity policies are designed to deter brute
force attacks by increasing the number of possible passwords.
When password complexity policy is enforced, new passwords must
meet the following guidelines:
* The password does not contain all or part of the account
the user. Part of an account name is defined
as three or more
consecutive alphanumeric characters delimited
on both ends by
white space such as space, tab, and return, or
any of the
following characters: comma (,), period (.),
underscore (_), or number sign (#).
* The password is at least eight characters long.
* The password contains characters from three of the
following four categories:
o Latin uppercase
letters (A through Z)
o Latin lowercase
letters (a through z)
o Base 10 digits (0
characters such as: exclamation point (!), dollar sign ($),
number sign (#), or percent (%).
- Please contact the TA if there is some problem with your
account on IPROJSRV.
- Computer Use Policy
- Some excerpts from the campus policies.
Take them seriously: "You must use all UW [computing] resources in
accordance with local, state, and federal laws. These laws cover such
as illegal access to computer systems, networks, and files; copyright
and harassment issues... Software and information resources provided
the university for use by faculty, staff, and students may be used on
equipment only as specified in the various software licenses.
use of software, images, or files is regarded as a serious matter and
such use is without the consent of the University of Washington...If
of computer software, images, or files occurs, those responsible for
abuse will be held legally accountable."
- Academic Misconduct
- All work turned in is expected to be your own.
are encouraged to study together, each student is expected to produce
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
and the staff of CSEP 544 will be vigorous in enforcing them.