CS 411: Database Systems
Course Description
Course Prerequisite
Course Goals
Textbook
Database Systems: The Complete Book, 2nd edition, by Hector Garcia-Molina, Jeffrey D. Ullman, and Jennifer D. Widom.
Course Schedule
Week |
|
Topic |
Relevant Concepts and Techniques |
1 |
|
Introduction |
Course format, exams, projects, database introduction and overview. |
2 |
|
Conceptual Data Modeling |
Conceptual Data Modeling Data modeling, ER model, UML. |
3 |
|
Physical Data Modeling |
Relational model, translating from ER to relational model, object-oriented and object-relational models, NoSQL models-- key-value model, document mode, graph model. |
4 |
|
Computing on Data |
Relational algebra, map-reduce framework. |
5 |
|
Designing Schemas |
Schema redundancy and anomalies, functional dependencies, normal forms, Boyce-Cod Normal Form, Third Normal Form, lossless and dependency-preserving decomposition, multi-valued dependencies. |
6 |
|
Querying Databases: The Relational Way |
SQL, basic select-from-where, null values, subqueries, set operations, dealing with duplicates, aggregates. |
7 |
|
Querying Databases: Nonrelational Way |
Querying document databases, MongoDB querying, basic operations, handling complex structures, aggregate framework, the case for joins. |
8 |
|
Querying Databases: Nonrelational Way |
Querying graph databases, Neo4j querying, basic operations, advanced capabilities. |
9 |
|
Manipulating Databases |
Creating and modifying databases, views, constraints, checks and assertions, triggers. |
10 |
|
Spring Break |
|
11 |
|
Accessing and Indexing Data |
Accessing data, indexing data, index-sequential access method, tree-based indexing, binary tree, b+tree, quad tree, hash-based indexing, linear hashing, extensible hashing. |
12 |
|
Query Processing |
Database machine cost models, query operators, one-pass algorithms. |
13 |
|
Query Processing |
Two-pass algorithms, index-based algorithms. |
14 |
|
Query Optimization |
Algebraic laws, optimizer, rule-based optimization, cost-based optimization, dynamic programming, physical query plans, estimating sizes. |
15 |
|
Transaction Management |
Transactions, correctness of transactions, recovery, undo |
|
|
|
logging, redo logging, undo/redo logging. |
16 |
|
Conclusion |
Review and discussion of the state of industry and research. |
Elements of This Course
Assignment Deadlines
Grading Distribution and Scale
Grading Distribution
Component |
Percentage |
Assignment |
5% |
Graded Quizzes |
25% |
Programming Assignments |
20% |
Proctored Exams |
25% |
Project |
25% |
Total |
100% |
Grading Scale
Total |
Grade |
90 - 100 |
A (A-, A, A+) |
80 - 89 |
B (B-, B, B+) |
70 - 79 |
C (C-, C, C+) |
60 – 69 |
D (D-, D, D+) |
Below 60 |
F |
Student Code and Policies
Academic Integrity
All students are expected to abide by the campus regulations on academic integrity found in the Student Code of Conduct. These standards will be enforced and infractions of these rules will not be tolerated in this course. Sharing, copying, or providing any part of a homework solution or code is an infraction of the University’s rules on academic integrity. We will be actively looking for violations of this policy in homework and project submissions. Any violation will be punished as severely as possible with sanctions and penalties typically ranging from a failing grade on this assignment up to a failing grade in the course, including a letter of the offending infraction kept in the student's permanent university record.
Again, a good rule of thumb: Keep every typed word and piece of code your own. If you think you are operating in a gray area, you probably are. If you would like clarification on specifics, please contact the course staff.