Stern   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: Students may wish to purchase an SQL2 manual.  Two recommended books are: Students may also wish to purchase a book on Microsoft Access. Two recommended books: 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.
    1. You acknowledge the help on the work you hand in.
    2. 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