EECS647 Introduction to Database Systems (Fall 2009)
Important: we use KU Blackboard in this course.
Overview:
"Introduction to the concept of databases and their operations. Basic concepts, database architectures, storage structures and indexing, data structures: hierarchical, network, and relational database organizations. Emphasis on relational databases and retrieval languages SQL, QBE, and one based on relational algebra and relational calculus; brief description of predicate calculus. Theory of databases, normal forms, normalization, candidate keys, decomposition, functional dependencies, multi-valued dependencies. Introduction to the design of a simple database structure and a data retrieval language. " --EECS Catalog
Time and Location:
Class: MWF 2pm-2:50pm, Learned 3154
Office hours: TBA, or by appointment
Instructor: Bo Luo (bluo <at> ku <dot> <edu>), AIM: bluoku, Google Talk: through homepage.
Grader: TBA
Textbook:
Database Systems: The Complete Book, Second Edition, by Hector Garcia-Molina, Jeff Ullman, and Jennifer Widom, Prentice Hall, 2008.
Tasks and grading:
Homeworks (15%): 8 homeworks (lowest score will be dropped).
In-class activities (15%): 3 in-class hands-on mini-projects.
Projects (30%): project details can be found here.
Exams (35%): closed book, closed notes, one page cheat sheet (letter size, double sided) allowed for midterm, two pages for final.
Class participation (5%): students are expected to sit in class and participate in class discussions.
A: 85+ or top 30%
B: 70+ or top 60%
C: 60+ or top 90%
D/F: 0-59
Policies:
Academic Integrity
"Academic integrity is a central value in higher education. It rests on two principles: first, that academic work is represented truthfully as to its source and its accuracy, and second, that academic results are obtained by fair and authorized means. 'Academic misconduct' occurs when these values are not respected." -- Office of the Vice Provost for Student Success.
Office of the Vice Provost for Student Success Academic Integrity Webpage
University Policy (Academic Misconduct)
Schedule
Week |
Day |
Schedule |
HW |
Due |
1 |
08/21 |
Introduction - welcome to EECS647 |
|
|
2 |
08/24 |
Introduction to database systems |
|
|
08/26 |
ER |
|
|
08/28 |
ER |
|
group |
3 |
08/31 |
Relational model |
|
|
09/02 |
ER to relational model |
|
|
09/04 |
PBL I - ER to relational model |
|
|
4 |
09/07 |
Labor day - no class! |
|
|
09/09 |
ER-Team Competition |
|
|
09/11 |
Normalization |
|
|
5 |
09/14 |
Review: Conceptual and Logical design |
|
|
09/16 |
Team discussion I - (SoE Career Fair) |
|
|
09/18 |
Team discussion II |
|
report 1 |
6 |
09/21 |
Relational algebra |
|
|
09/23 |
Relational algebra |
|
|
09/25 |
SQL - 1: Basic |
|
|
7 |
09/28 |
SQL - 2: Basic |
|
|
09/30 |
SQL - 3: Basic |
|
|
10/02 |
SQL: mini-project |
|
|
8 |
10/05 |
SQL - 4: Join |
|
|
10/07 |
SQL - 5: Join |
|
|
10/09 |
SQL: mini-project |
|
|
9 |
10/12 |
PHP: 1 |
|
|
10/14 |
PHP: 2 |
|
report 2 |
10/16 |
Fall Break - no class! |
|
|
10 |
10/19 |
Team discussion III |
|
|
10/21 |
Midterm review |
|
|
10/23 |
Mideterm (1-page cheat sheet) |
|
|
11 |
10/26 |
SQL - 6 |
|
|
10/28 |
SQL - 7 |
|
|
10/30 |
SQL: mini-project |
|
|
12 |
11/02 |
Integrity, triggers |
|
|
11/04 |
Transactions |
|
|
11/06 |
Views, access control |
|
|
13 |
11/09 |
RDBMS: how it works? |
|
|
11/11 |
XML: data model, schema |
|
|
11/13 |
XML: XPath, XQuery |
|
|
14 |
11/16 |
XML: XML-relational |
|
|
11/18 |
New frontiers |
|
|
11/20 |
New frontiers |
|
|
15 |
11/23 |
Team discussion IV |
|
|
11/25 |
Thanksgiving - no class |
|
|
11/27 |
Thanksgiving - no class |
|
|
16 |
11/30 |
Project presentation |
|
|
12/02 |
Project presentation |
|
|
12/04 |
Project presentation |
|
|
17 |
12/07 |
Final review |
|
|
12/09 |
Final review |
|
report 3 |
12/11 |
Stop day - no class! |
|
|
|
|
|
|
|
Project
This project is designed for students to apply their knowledge into real world applications. Students are expected to design and implement a database-supported online application. For example: an online retailer (Amazon), an online auction (Ebay), a social network site (Facebook), and etc. Be creative!
- Task 1: System design: system architecture, functions, ER diagrams, database structures, interface, etc.
- Task 2: Implementation: PHP + MySQL suggested.
- Note: you can use any programming language and SDK. However, you should NOT use any open-source or third party code, except for HTML generated by WYSIWYG editors.
Project Report
The group report is to show what you did in the project, especially, how you designed and implemented your system. The first interim report shall include overall system design, ER diagram and (conceptual) database design. The second interim report shall show your implementation plan and show at least 3 queries with join. The final report shall include everything. You are allowed (and suggested) to reuse the contents from previous reports. Please clearly state your results, and carefully proofread and edit the paper before submission.
You are expected to hand in a final report in the following formats:
- Major sections such as Introduction, System Architecture, DB design, Implementation notes, Test results, Necessary Appendixes, etc.
- A cover page (including project title) with group name and group members
- Using double-spaced typing for convenient grading
- E-copies only.
Project Log
With each report, please include an project log, which describes your activities in this project.
- Clearly state the responsibility of each group member. If possible, give a table to tell who did which task, who implemented which component, who wrote which part of the report, who coordinated the group work activities, etc.
- Give a log of your group activity, such as what you did on which day, and how many people attend.
Grading (30 points total)
- Report 1: 5 points
- Report 2: 5 points
- Final report, performance and code quality: 15 points
- Presentation: 5 points
- Individual adjustment based on project log: -10 points to +10 points
|