CS145 - Fall 2011
Introduction to Databases
CS145 provides the student 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 databases. We will also learn about XML data, including
DTDs and XML Schema for validation, and the query and transformation
languages XPath, XQuery, and XSLT. The UML approach to database
design
will be covered, as well as relational design principles based on
dependencies and normal forms. A variety of other issues important
to
database designers and users will be covered: indexes, views,
transactions, authorization, integrity constraints, triggers,
on-line
analytical processing (OLAP), and emerging "NoSQL" systems. Guest
speakers from industry will explain commercial needs and trends in
data management, complemented by Stanford speakers describing
cutting-edge research.
CS145 meets Mondays and Wednesdays, 11:00-12:15 in Building 370
room
370. We expect to keep most class meetings to one hour, finishing
around noon. The first class is on Monday September 26. Class
meetings
will not be conventional lectures; they will include interactive
learning activities, industry guests, research talks, and TA-led
help
and review sessions.
Approximately half of the class meetings are designated as
required, and attendance contributes to the final grade.
Each
required class meeting will begin with a short, simple "quizlet"
that
serves both to take attendance and to spot-check awareness of what
was
covered in the previous required class. There will be eight such
quizlets; the highest six quizlet scores for each student will
comprise 6%
of the student's final grade. There are no "excused absences"
beyond
the two dropped quizlet scores; no exceptions!
CS103 (Mathematical Foundations of Computing) and CS107
(Computer Organization and Systems) are recommended but not
absolutely
required. CS145 should be accessible to anyone with a solid
computer
science foundation -- a reasonable amount of programming (as in
CS107)
and knowledge of basic computer science theory (as in CS103). The
programming project will use Unix, Java, the SQLite database
management library, and some straightforward PHP web programming.
We
will assume that students are already proficient in Unix and
Java. Previous experience with SQLite or PHP is not
needed.
No textbook is absolutely required for the course, however most
students will want to use a textbook to augment and reinforce the
core
material covered in the videos, as well as for reference and a
source
of additional exercises. We recommend one of the two books listed
below. A First Course consists of the first twelve
chapters of
The Complete Book, verbatim, and all CS145 topics appear in
these chapters. The Complete Book is the required textbook
for
CS245 (Database System Principles). If there is any chance you
will
eventually take CS245, or if you wish to have a comprehensive
reference that covers databases from a systems as well as a user
perspective, then you should purchase The Complete
Book. Otherwise, A First Course suffices for CS145.
- A First Course in Database Systems, Third Edition (book
web
site)
J.D. Ullman and J. Widom; Prentice Hall, 2008
- Database Systems: The Complete Book, Second Edition (book
web site)
H. Garcia-Molina, J.D. Ullman, and J. Widom; Prentice Hall, 2008
The first two chapters of the textbook may be downloaded for free
from
either of the book web sites linked above. Also, two copies of The
Complete
Book are on reserve at the Huang Center Engineering
Library.
If you already own or prefer to use a different database
textbook,
three other popular textbooks are also cross-referenced in the
db-class Course
Materials page. While they don't cover precisely the same
topics
in precisely the same fashion as the textbooks we recommend, much
of
the core material is the same.
The components of the final grade will be distributed as follows:
- Class attendance: 6%
- Assignments: 50%
- Midterm exam: 18%
- Final exam: 26%
The 50% for Assignments further breaks down into:
- Automated quizzes: 10%
- Database exercises (including automated): 15%
- Challenge problems: 5%
- Project: 20%
Students earning an A+ in the course (typically 3-5 students)
will
receive a personal letter of congratulations from the instructor,
along with an invitation to enjoy lunch at the Stanford Faculty
Club
with the instructor, the TAs, and the other A+ students. The A+
students also will be top candidates for CS145 TA positions in
subsequent offerings of the course.
Incompletes are not offered as a grade option in CS145.
Students
are given incompletes only in the rare case of an incapacitating
medical condition arising during the quarter and brought to the
attention of the course staff in a timely fashion.
|
Students with Documented Disabilities
|
Students who may need an academic accommodation based on the
impact of
a disability must initiate the request with the Student
Disability
Resource Center (SDRC) located within the Office
of Accessible
Education (OAE). SDRC staff will evaluate the request with
required documentation, recommend reasonable accommodations, and
prepare an Accommodation Letter for faculty dated in the
current quarter in which the request is being made. Students
should
contact the SDRC as soon as possible since timely notice is needed
to
coordinate accommodations. The OAE is located at 563 Salvatierra
Walk;
phone 723-1066.
|
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. SCPD students must
attend
class, turn in the assignments, respect staff office hours, and
take
the exams on exactly the same schedule as on-campus students. SCPD
students are graded using the same criteria as on-campus students.
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 four unpenalized late days for
assignments, and only your top six class-attendance quizlets will
count towards your final grade.