 |
C20.0046
Syllabus |
Index
Finding This Document
Course Goals
Time and Place
Course Personnel
and Office Hours
Prerequisites
Course Texts
Electronic Communication
Course Project
Homework
Exams
Attendance
Grading Policy
Student Responsibilities
- Limits on Extensions
Academic Integrity
Computer Use
Feedback
Finding This Document On-Line
The class Web page is http://www.stern.nyu.edu/~vassalos/class/db.
You can find a link to this document and all other course material there.
This introductory material can be obtained directly as: http://www.stern.nyu.edu/~vassalos/class/db/syllabus.html
Note that this and the outline page are ``living documents''; they can
be expected to change during the quarter, and the ``official'' contents
are whatever the on-line version has, not the hardcopy handed out at the
beginning of the course.
Course Goals
Databases are at the heart of modern commercial
and corporate application development. Their use extends 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 offer the student
an introduction to the design and use of database systems. We cover design
using the entity-relationship model, followed by an overview of the relational
model, how to convert E/R models to relations, and how one uses a relational
database system to create a database. SQL (Structured Query Language),
the standard query language for relational databases, will be learned and
experienced.
We shall also learn some other database
languages, both concrete and abstract, including relational algebra, Datalog,
ODL/OQL (the object-oriented database emerging standard), and parts of
SQL3 (the next relational standard). We cover Microsoft Access, a lightweight
database design and query engine that we use in the class laboratory. We
cover the DBMS environment, including transactions and security. Finally,
we shall cover XML and DTD's (document-type definitions), that is another
emerging standard for representing databases as documents, in the HTML
tradition. A Course
outline is available.
It is not our goal to study in detail database
system implementation (e.g., how to build a system that processes
SQL queries efficiently).
Time and Place
The class meets Tuesdays and Thursdays
at 3:30-4:45pm in Tisch
200.
The final is on Thursday,
May 4, at 4:00pm until 5:50pm in Tisch 200.
Course Personnel
|
Person
|
Role
|
Office
|
Phone
|
Office Hours
|
Email
|
| Vasilis
Vassalos |
Instructor |
KMC 9-82 |
(212)998-0843 |
TR 2:00-3:00,
other times by appt |
vassalos@stern.nyu.edu |
| Costas Yenethli |
TA |
TAC, cub 6 (KMC
6th floor) |
|
MW 4:00-5:15 |
cy240@stern.nyu.edu |
| Yvonne Perez |
Secretary |
KMC 9-170 |
(212)998-0802 |
N/A |
yperez@stern.nyu.edu |
Prerequisites
A programming course and C20.0035. Please
discuss the matter with the instructor if you do not have something like
these courses.
Textbooks
The required text for the course is A
First Course in Database Systems by J. Widom and J. D. Ullman, Prentice-Hall,
1997. I will also be using Database
management systems by R. Ramakrishnan and J. Gehrke, McGraw-Hill,
1999.
The following interactive CD tutorial for
Microsoft Access is highly recommended: Advantage Interactive Software
Tutorial, Access97, by Hutchinson and Coulthard (NOT the book, just
the CD).
You might also find the following books
useful for a different perspective:
-
Fundamentals of database systems, R.
Elsmasri and S. Navathe, Addison-Wesley 1999.
-
Database System Concepts - Third Edition,
McGraw-Hill, (1997), A. Silberschatz, H. Korth and S. Sudarshan, McGraw-Hill
1997.
-
Foundations of database systems, S.
Abiteboul, R. Hull and V. Vianu, Addison-Welsey, 1995. Much more theoretical
than the other two books.
Students may wish to purchase an SQL2 manual.
Two recommended books are:
-
Understanding the New SQL: A Complete Guide
J. Melton and A. R. Simon, Morgan-Kaufmann, 1993.
-
A Guide to the SQL Standard (fourth edition)
C. J. Date and H. Darwen, Addison-Wesley, 1997. It is more succinct than
the Melton-Simon book, but probably a more useful summary of the SQL language.
Students may also wish to purchase a book
on Microsoft Access. Two recommended books:
-
In Business with Access, Jeffry Byrne,
Prentice Hall Computer Books,1996. Good, concise introduction to Microsoft
Access. Students who want to go into more depth, please see next book.
-
Running Microsoft Access 97, John L.
Viescas, Microsoft Press, 1997. One of the best and most detailed "bibles"
on Microsoft Access. This is an excellent reference book for students who
are interested in becoming Microsoft Access experts. If you are looking
for something more concise, you may consider the Byrne book.
These books will be on reserve at the library.
Suggestion: When purchasing your
textbook, you might find it useful to use a comparative shopping engine,
such as www.mysimon.com or www.dealpilot.com
or a shopping agent such as www.RUsure.com
to compare prices of online retailers (but don't ignore brick and mortar
stores!)
Electronic communication
The World-Wide Web and e-mail will be used
extensively to provide you with course information, such as the schedule,
homework assignments and solutions, class messages and many other things.
We have set up an eGroup for the class,
c20-0046@egroups.com. An eGroup provides the functionality of both a mailing
list and a newsgroup: messages are posted and archived but also delivered
to the mailboxes of the eGroup members. Please sign up for the eGroup.
The instructions for signup can be found here.
Student participation is encouraged; messages should be of general interest
to the class.
If you need an answer to a question related
to the course material, in most circumstances you should try sending email
to db-assist@egroups.com. The
message will only be received by the instructor and the TA, and with luck
you will receive an answer shortly thereafter. Do not try
to subscribe to db-assist@egroups.com unless you are the TA.
Course Requirements
Project
In C20.0046 everyone writes their own database
application. You should do some work on the project each week, beginning
with selecting your application, designing the database, obtaining and
loading your data into Access, and finally writing a number of SQL queries
and reports and using more advanced features. Doing a good project will
require some programming.
Homework
Some conventional homework questions will
be assigned every two weeks. Homeworks will generally be due on Tuesdays.
No late homeworks will be accepted.
However, each student is allowed one extension of at most 48 hours.
This amount of time cannot be divided among assignments; it applies to
one assignment only.
Exams
Midterm: Tentatively, the midterm is
scheduled for Thursday, March 9.
Final: Thursday, May 4, 4:00-5:50pm
in Tisch 200
Attendance and participation
Attendance and active participation are the
most important elements for your progress and learning. You are expected
to attend all classes and participate actively in class sessions.
Grading Policy
The approximate weights of the five components
are:
| Component |
Weight |
| Intangibles |
5% |
| Project |
25% |
| Homework |
20% |
| Midterm |
15% |
| Final |
40% |
Intangibles include things such as class attendance,
participation, timeliness and effort.
Student Responsibilities
Please take your obligations in this course
seriously. The rule regarding late homeworks was already mentioned, and
you are also expected to take the exams when they are given.
Also, please do not schedule any extended
trips, including business trips, during the time classes are in session.
If you must do so, it is your responsibility to get the work in on time.
It is not in your best interests to accept the model that your job assignments
take priority over your studies.
Requests for exceptions and postponements
will not be granted as a matter of course, unless the reason for the exception
is medical, in which case you will have my complete sympathy and cooperation.
Most nonmedical excuses do violence to my obligation to run a fair course.
For instance, taking the final before or after the regular period gives
you a huge advantage against students who must take all their finals in
a short time span.
Another reason why we have to keep everyone
together is that it is important to be able to publish solutions to assignments
and exams in a timely manner. We cannot do so if people are given extensions
of the deadline.
Academic Integrity
The basic presumption is that the work you
do is your own. Occasionally, especially when working problem sets or writing
programs (but never on exams!), it may be necessary to ask someone for
help. You are permitted to do so, provided you meet the following
two conditions.
-
You acknowledge the help on the work you hand
in.
-
You understand the work that you hand
in, so that you could explain the reasoning behind the parts of the work
done for you by another.
Any other assistance by another person constitutes
a violation of the student
code of conduct and will be treated as such. In particular, copying
or using sections of somebody else's programs, even if modified by you,
is unacceptable.
We shall not deduct credit for small amounts