CS245A Introductory Information


Office hours have still not stablized, but they are changing. Check out the personnel table below.


Course Goals
Time and Place
Course Personnel
Course Texts
Email Help
Course Mailing List
Course Project
Grading Policy
Honor Code Policy

Course Goals

This course, the second in the sequence of Stanford database courses, is intended to teach the technology from which modern database management systems are built. Topics include storage technology, data structures adapted to secondary storage, logging and recovery from errors, transactions and serializability, query optimization, and parallel or distributed extensions to these ideas. A Course outline is available. It is an evolving document, to be filled out in more detail as the course progresses.

Time and Place

Tuesdays and Thursdays, 11:00AM - 12:15PM, B3 Gates.

Course Personnel

PersonRoleOfficePhoneOffice HoursEmail
Jeffrey D. UllmanInstructor411 Gates(650) 725-48021:30-3:00PM Mon., 10:30-noon Weds. ullman @ cs.stanford.edu
Svetlozar NestorovTA 432 Gates(650) 723-3605 1:15-2:45PM Tue.evtimov @ cs.stanford.edu
193D Gates(650) 725-3256 2-3:30PM Fri.
Vasilis VassalosTA 193B Gates(650) 723-6077 10:30-noon Fri.vassalos @ cs.stanford.edu
412 Gates(650) 723-0587 9:30-11AM, Mon.
Phyllis WinklerCourse Secretary495 Gates(650) 723-4377N/Awinkler @ cs.stanford.edu


Students should have taken CS145 (database design and programming) and CS161 (main-memory-oriented data structures). These prerequisites are both important. We expect people to understand from CS145: SQL, relational algebra, relational and object-oriented models. From CS161 we expect: hashing, linked-list and tree structures of various kinds, balanced trees, efficiency measures (big-oh, average-case, worst-case).

Programming assignments will use a library called ndbm that is available on the ``elaines'' (UNIX workstations) at Sweet Hall. To open an account on the UNIX workstations, type open at the login: prompt and follow the instructions.

SITN students can access the Unix workstations remotely via dial-in (try 650-498-1440) or telnet.


A. Silberschatz, H. Korth, and S. Sudarshan, Database System Concepts, McGraw-Hill, 1997.

Email Consulting

If you need a quick answer to a question, try sending email to cs245a-help @ lists.stanford.edu. This list forwards to the TA's and instructor, and with luck you'll get a reply in a few minutes.

Class Mailing List

We shall be using Webclass for the class mailing list. It is not yet decided whether grades will be available through this system. We expect to get an account which you access as
It is not ready at the time these notes are sent for duplication, but we shall announce in class when it is time to go to the above URL and register yourself for CS245A.

We hope that messages to the class mailing list, when set up, will be limited to notes of general interest to the class. In most circumstances, you should use the cs245a-help list mentioned above.

Course Requirements


There will be three projects, each covering several weeks, involving some aspect of database system implementation.


Some conventional homework questions will be assigned each week. Homeworks will generally be due on Tuesdays. On some weeks, both a project and written homework will be due, so you should pace yourself regarding the projects.

No late homeworks will be accepted. However, each student is allowed one extension of at most 48 hours on either written work or project. If both a project and written homework is due on a day, then the extension can be applied to both. However, otherwise the 48 hours cannot be divided among assignments.

You may give the TA's homeworks in class, or you may deliver the homework to Ms. Winkler's office (495 Gates) by 5PM on the day due. You will there find a sealed box in which to place your homework. Also, if you feel inclined to do so, Ms. Winkler will give you a receipt for your homework, which you can save if there is any dispute about whether work was submitted on time. However, note that Ms. Winkler goes home at about 3:30PM. If you deliver work later than that, slip it under the door. We'll collect it at 5PM.

SITN students do not have to use this system, since SITN timestamps and records each received piece of work. However, it is the responsibility of each SITN student to get their work delivered with a timestamp on the day due or earlier.


Midterm: In class, Tuesday, Feb. 10, 1998, 11AM - 12:15PM. TV students may take it at work or in class (their choice). However, some TV sites do not permit exams to be taken on-site. If you are at one of these places, it is your responsibility to know the local policy and come to the class on the midterm day.

Final: On campus, Thursday, March 19, 1998, 3:30-6:30PM, location to be determined. All local TV students must come to campus.

Grading Policy

The approximate weights of the four components are:


Honor-Code Policy

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 honor code and will be treated as such.

We shall not deduct credit for small amounts of acknowledged assistance. Even working as a team on one of several problems in a problem set may not hurt your grade, as long as all members of the group acknowledge their collaboration. Such shared interest can be beneficial to all concerned. We do reserve the right to give less than full credit in circumstances where it appears that there has been large-scale division of labor, and you are not getting as much learning out of the assignment as you should. However, as long as you acknowledge your sources, you cannot get into Honor-Code trouble.

If you have any questions about what this policy means, please discuss the matter with the instructor now.