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 systems.
<![if !supportEmptyParas]> <![endif]>
The course will start with an introduction to SQL query and manipulation language and ways to integrate databases in applications. We will take a more in-depth look at SQL and more complicated queries. The course will then cover the fundamental theory of databases, such as good design, entity-relationship models and normal forms. Towards the end of the course, we will consider the insides of a database system and look at issues such as data storage, query optimization and transaction processing.
The class meets two 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 some 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.
MW 3:30-4:50, Low 102
Instructor Information & Office Hours (subject to change -- check Web site)
Surajit Chaudhuri, Professor
4:50 - 5:20 after class,same room
Yana Kadiyska, Teaching Assistant
<![if !supportEmptyParas]> <![endif]>
Before you E-mail either of us, please consult the mail archive—maybe the answer is already there.
For E-mail : please put cse444 (no blanks) as the first word in the Subject Line. Otherwise, the email may not be read in time. Expected turnaround time for an email response is 24 hours. Additional delays may be incurred for any server downtime. It is advisable that you keep a copy of the message until you get a response (so that you may resend if needed).
Homework grading issues, Project, software and programming assignment issues --students need to contact Yana directly.
The texts are available in a single shrink wrapped package from the University Bookstore.
<![if !supportLists]>· <![endif]>A First Course in Database Systems, by Ullman and Widom
<![if !supportLists]>· <![endif]>Database System implementation by Garcia-Molina, Ullman and Widom, 2000.
The library will have on reserve three other books that you might find useful if you require another explanation of a topic:
<![if !supportLists]>· <![endif]>Fundamentals of database systems by Elsmasri and Navathe.
<![if !supportLists]>· <![endif]>Database management systems by Raghu Ramakrishnan.
Programming and Homework
Some programming will be necessary in the progress of the course. 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 be accepted.
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). That lab will also provide you with access to IIS, which you will need to complete the project. Accounts will be created for you as time comes.
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.