CS145 - Summer 2006
Introduction to Databases
CS145 provides students with a comprehensive introduction to the
design of databases and the use of database management systems for
applications. We will cover the relational model, relational algebra,
and SQL, the standard language for creating, querying, and modifying
relational and object-relational databases. We will also learn about
XML data, including the XML query languages XPath and XQuery. Either the UML
or E/R approach to database design will be covered, as well as relational
design principles based on functional dependencies and normal forms.
A variety of other issues important to database designers and users
will be covered, including indexes, views, transactions,
authorization, integrity constraints, and triggers. Finally, we will
consider several advanced topics such as data warehousing, data
mining, Web data management, Datalog, data stream processing, temporal
databases, middleware, or peer-to-peer systems.
Online exercises in all topics and written challenge problems are
complemented by a significant programming project in which students
build a database-backed online auction system with a Web interface.
CS145 meets Mondays and Wednesdays, 1:15 - 3:05, in Skilling 191. The first class is on Wednesday, June 28.
CS145 should be
accessible to anyone with a solid Computer Science foundation that
includes a reasonable amount of programming and
knowledge of basic Computer Science theory. The
programming project will use Unix, the Oracle database management
system, the Java programming language, and a small amount of Web
programming. We will assume that students are already proficient in
Unix and Java. Previous experience with Oracle or with Web
programming is not needed.
One textbook is required for the course. You may purchase either of
the two books listed below. A First Course consists of the
first ten chapters of The Complete Book, verbatim, and we will
be using only those chapters in CS145. However, if there is any
chance you will eventually take CS245 (Database System Principles),
then you should purchase The Complete Book, which is the
required textbook for that course.
- A First Course in Database Systems, Second Edition
J.D. Ullman and J. Widom; Prentice Hall, 2002
Book Web site
- Database Systems: The Complete Book
H. Garcia-Molina, J.D. Ullman, and J. Widom; Prentice Hall, 2002
Book Web site
The first two chapters of the textbook may be downloaded
for free, if you are unsure whether you will enroll in the course.
Please note
that the first edition of A First Course (Prentice Hall, 1997),
although a useful resource, has a number of differences from the
second edition. We will assume that all students are using the second
edition, or equivalently are using The Complete Book.
The components of the final grade will be distributed as follows:
- Online exercises: 15%
- Written challenge problems: 5%
- Programming project: 30%
- Participation: 5%
- Midterm exam: 20%
- Final exam: 25%
More detailed information on grading of online exercises, challenge
problems, and projects is provided on the Assigned
Work page.
Class Participation:
For on-campus students, the participation portion of the grade
will be earned by attending class and participating in discussion,
problem-solving, and question-asking during lectures. For remote
students, it will be based on electronic participation: responding by
email to requests for questions or comments made in lecture,
participation by email in small feedback exercises, and participation
in the class newsgroup. (See the communication section on the course staff page.)
Students may be tempted to take another course at the same time as
CS145 by watching lectures online and scheduling alternate exams. As
stated on the Exams page, routine alternate
exams will not be offered in CS145. The university strongly
discourages students from enrolling in two classes given at the same
time, and instructors are under no obligation to accommodate such
students. If you provide an extraordinarily compelling case then an
alternate exam may be given, but alternate exams may be oral
exams given by the instructor.
Special Note for SCPD Students
|
While we understand the significant demands of taking a course while
working, we would like to make it clear at the outset that no special
exceptions can be made for SCPD students. Local SCPD students must
follow the lectures, turn in the assignments, and attend the exams on
exactly the same schedule as on-campus students (remote SCPD students
will have the exams faxed to them to be taken on the specified exam
date) . SCPD students are
graded using the same criteria as on-campus students (except as noted
above for "Participation.") Please ensure
in advance that you will not have any business trips or important
deadlines that conflict with the course, since no exceptions will
be made. Also note that, like on-campus students, for emergencies
you are allocated three unpenalized late days for assignments (see the
Late Policy on the Assigned Work page).