Download Syllabus for CSCI 6441: Database Management Systems GWU

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Serializability wikipedia , lookup

Entity–attribute–value model wikipedia , lookup

Business intelligence wikipedia , lookup

Operational transformation wikipedia , lookup

Microsoft SQL Server wikipedia , lookup

PL/SQL wikipedia , lookup

SQL wikipedia , lookup

Versant Object Database wikipedia , lookup

Database wikipedia , lookup

Concurrency control wikipedia , lookup

Clusterpoint wikipedia , lookup

Relational model wikipedia , lookup

Database model wikipedia , lookup

Transcript
Syllabus for
CSCI 6441: Database Management Systems
GWU – Fall 2015 – Bret Bailey
Overview:
The GW catalog description for Computer Science 6441 is:
Design and architecture of relational database management systems; query languages,
data models, index structures, database application design. Prerequisite: CSCI 6221,
CSCI 6461.
In this course we shall explore the modern Database Management system (DBMS) from the
perspective of the casual query writer, the application developer, the data modeler, the Database
Administrator (DBA), and the implementor of the DBMS iteslf. We examine the internal
functions of a DBMS and how these functions combine to provide the “ACID” characteristics
of Atomicity, Consistency, Isolation, and Durability. We look at emerging database technologies
(Object databases, NoSQL, etc.). Time is set aside to discuss the data warehouse.
There will be opportunities to individually select and investigate one database topic more
deeply. Students will be expected to present their findings to the class. Although presentation
skills will not be graded per se, a comfort with public speaking will help make this less arduous.
The stated prerequisites for this course are CSCI 6221 (Advanced Software Paradigms) and
CSCI 6461 (Computer System Architecture), or their equivalents. A basic understanding of data
structures, algorithms, and parallelism would be helpful, as well as some programming
experience. Weakness in one or more of these areas may be mitigated by careful alignment with
students possessing complementary skills while forming group project teams.
Course Requirements:
1. Group Project (40%)
Form a group of (typically) 3-4 students to work on a project together throughout the semester.
You will come up with a problem which may be solved using a database. Then applying the
techniques learned through this course, your group will design and build a database system to
solve your chosen problem. Incremental deliverables will be submitted at 4 times during
semester to evidence your team's progress. Finally, your group will demonstrate its work to the
class.
2. Individual Topic Presentation (15%)
Select a database-related topic of your choice, learn something about that topic on your own,
and make a short presentation to the class on what you have learned.
3. Exercise Assignments (15%)
In order to reinforce techniques introduced through lecture and text, exercises will be assigned
approximately three times throughout the semester. Give these your best effort. Partial credit
will be given for an earnest attempt to work these problems, incorrect outcome notwithstanding.
4. Midterm and Final Exams (15% each)
One midterm and one non-cumulative final examination shall be scheduled. These will be
comprised of open-ended questions involving critical thought, problem solving, and the
application of principles or techniques introduced through the reading, lecture, and student topic
presentations.
Textbook:
Database Systems Concepts, 6th ed., Abraham Silberschatz, et al
ISBN 0-07-352332-1 (http://www.db-book.com)
(Either hardback or eBook is OK)
Schedule (subject to change):
Week
Topic
Due
1
Introduction
2
The Relational Model
Query Languages
SQL Introduced
3
Basic SQL
Group project teams formed
4
Advanced SQL
Group project proposal
5
Entity-Relationship Models
Exercise assignment #1
6
Relational DB Design
7
Storage
Group project E-R diagram
8
Indexing and Hashing
Take-home midterm exam due
9
Query Processing
Group project DB design
10
Query Optimization
Exercise assignment #2
11
Transactions
Concurrency
Recovery
Group project queries
12
Advanced Topics
Exercise assignment #3
13
Group Project Demonstrations
14
Final Exam