Computer Science 378: Information Systems

Spring 1999

Instructor

Craig Miller
256 South College, x-1400
Email: millercr
Office hours to be announced and placed on Web page

Meetings

9:30-10:45 TuTh
Room 4 (basement) South College

Text

Database Management Systems, by Raghu Ramakrishnan

Course Links

Overview

This course introduces concepts and technologies used for storing and retrieving information. Attention will be given to database implementation, database management, and the relational model. For systems implementation, students will learn about physical data storage, file organization, and tree-structured and hash-based indexing. Assigned projects will have students implement these concepts with the creation of a simple database application. For database management, students will learn about formal query languages and how to use SQL to create and access databases. For the relational model, students will learn how to apply it to design and create a database. In the second half of the semester, students will work in groups to design and create a useful database for the college or community.

This course will use C++ for the systems implementation, SQL (accessing MySQL) for database management, and possibly Java to create a user interface to a student designed database.

Grade Determination

Grades will be determined using the following weighted averages:

15% Test 1 Thu Feb 25
15% Test 2 Thu Apr 8
30% Final Exam Mon May 3
40% 5 - 7 Projects

Policy On Collaboration

Unless explicitly told otherwise, all assignments in this course are individual assignments. Students may not work together in the design or implementation of code or written assignments. The only exceptions to this are:

  1. Students are encouraged to discuss course concepts and examples that are not specific to any assignment.
  2. Students may assist each other in locating and diagnosing bugs in programs.

All other assistance should come from the instructor. Any questions about the appropriateness of collaboration should be discussed with the instructor. Failure to acknowledge someone else's code or even design ideas in any work is plagiarism, which warrants a report to the College's judicial system and may lead to suspension or expulsion.

Tentative Schedule

Week Topic Text Reading Project
Jan 20 Course Introduction Ch. 1
Jan 25 The Relational Model and Physical Storage Ch. 2 - 3 Intro to SQL
Feb 1 File Organization and Indexes Ch. 3 - 4 Buffer implementation
Feb 8 Indexing with trees Ch. 5
Feb 15 Indexing with hash tables Ch. 6 External Searching
Feb 22 External Sorting & Formal Query Languages Ch. 7 - 8
Mar 1 Query Languages Ch. 8 - 9
Mar 8 Operator Implementation and Optimization Ch. 12 - 13 Indexing with B+ Trees
Mar 15 Spring Break --- No classes
Mar 22 Database Design Ch. 14 Project Proposals
Mar 29 Database Refinement Ch. 15
Apr 5 Physical Design and Tuning Ch. 16 Database design
Apr 12 Database Interfaces with JDBC TBA
Apr 19 Security, Views, and QBE Ch. 10 - 11 Interface development
Apr 26 Concurrency Control and Crash Recovery Ch. 17 - 18