Teaching     Home
Dartmouth Logo
Computer Science
Dartmouth College

Computer Science 33
Information Systems

Amit Chakrabarti


Spring 2010

Under Construction
[ Announcements | Administrative Basics | Schedule and Homeworks | Grades Database ]

Course Description

In this course we shall study the management of large bodies of data or information. During the first half of the course, we shall study on schemes for the representation, manipulation, and storage of complex information structures as well as algorithms for processing these structures efficiently and for retrieving the information they contain. In particular, we shall spend considerable time on relational algebra, SQL, database normalization, indexing and hashing.

In the second half of the course, we shall study — at a high level — the issues raised when databases are shared by several users and/or several computers. This includes such topics as transaction processing, robustness guarantees against failure, security and data integrity guarantees from unauthorized access, privacy. Time permitting, we might also consider data mining, warehousing and object-oriented schemes for multimedia data.

It is expected that a student who enrols for this course already knows how to program and is comfortable working within a UNIX-like environment. Some degree of mathematical maturity will be required for the more theoretical aspects of the course.


Announcements

Newer announcements are at the top. Think "blogs" or "twitter".

Administrative Basics

Important! Please also read and familiarize yourself with the administrative details not covered in the outline below. Pay special attention to the section that describes how the honor code applies to this course; violations of the honor code will be treated seriously.


Lectures
Sudikoff 115 | 10 hour | Mon-Wed-Fri 10:00-11:05, X-hr Thu 12:00-12:50
Instructor
Amit Chakrabarti | Sudikoff 107 | 6-1710 | Office hours: Thu 4-5pm, Fri 1:30-2:30pm, or by appointment
Teaching Assistants
James Hughes | Sudikoff 157 | 6-8743 | Office hours: Wed 6-8pm, Sun 7-9pm, or by appointment
Textbook (Required)
"Database System Concepts," Fifth or Sixth Edition.
Avi Silberschatz, Henry F. Korth, S. Sudarshan.
Prerequisites
CS 23
Work
Homeworks, roughly one a week [20 points]
Three in-class quizzes [30 points]
Class project [25 points]
Final exam [25 points]

Please take note of the late homework policy. It will be enforced, strictly.


Schedule and Homeworks

This schedule will be updated frequently, depending on our pace during the lectures. In particular, required readings before each class may need to be updated. Please do keep up with these readings from the textbook, because there is plenty of material in the textbook that I won't get to cover directly in class, but that you will be responsible for, in your homework, quizzes and final exam. The chapter and section numbers below refer to the Sixth Edition of the textbook, and not the Fifth Edition.

Please make it a habit to check this website often, and please remember to hit the RELOAD button to get the latest version.

Any part of the schedule that is greyed out is tentative and subject to change.

Lecture #
and Date

Reading Due
Before Class

Homework
Due

Topics Covered in
This Lecture

1. Mar 29Course overview: Things to think about when designing a database system
2. Mar 31Chap. 1The relational model; The fundamental operators of relational algebra
3. Apr 2Chap. 2Extended relational algebra operators; Null values; DB modification
4. Apr 56.1SQL I: Language basics; The set operations
5. Apr 73.1-3.5SQL II: Aggregation; Null values; Nested subqueries
6. Apr 9SQL III: Complex queries; Views; DB modification
7. Apr 12HW1SQL IV: Types; Integrity constraints; Authorization
8. Apr 14Chap. 4Embedded SQL; Dynamic SQL
Apr 15 (X-hr) Quiz 1: Closed notes, in class
9. Apr 16Chap. 5Overview of relational calculus and QBE
10. Apr 19Chap. 6; C.1HW2Overview of the Entity-Relationship model
11. Apr 21Chap. 7Normal forms I
12. Apr 23Normal forms II
13. Apr 26HW3Normal forms III
14. Apr 28Chap. 8Normalization; Application design, Web interfaces, PHP/CGI/Javascript
Apr 29 (X-hr) Quiz 2: Closed notes, in class
15. Apr 30Organizing storage; RAID
16. May 3Proj 1File structure; Minimizing disk access; Intro to indexing
17. May 5Stage 1 project presentations
18. May 7Indexing: B+ trees
19. May 10Proj 2Hashing; Trees vs Hashing
20. May 12Indexing wrap-up; Query processing I: selection, sorting
21. May 14Query processing II: joins, hash join
22. May 17Proj 3Query optimization (overview)
23. May 1913.1 – 13.2Transactions; ACID properties; Serializability
May 20 (X-hr) Quiz 3: Closed notes, in class
24. May 21Chap. 14Concurrency Control I
25. May 2415.1 – 15.6HW7Concurrency Control II
26. May 26Chap. 15Failures; Recovery; Logging
27. May 28Chap. 16Open session (bring your questions!)
28. Jun 2Proj RepFinal project presentations (9:00 – 11:05)
 
Jun 4 Final Exam: Open notes, in class, 8:00 – 11:30 am


Homework Submission Form and Grades Database

All homework is to be submitted electronically, using a homework submission form. Click here to get to that form.

The homework submission system is still experimental. Please use it only as instructed, for everyone's safety!


Teaching     Home