Objectives
- To understand how a database is different from a traditional file system.
- To practice constructing E-R diagrams and designing a relational database
- To learn the basics of Standard Query Language (SQL)
- To learn database programming with Python
- To learn how to interface a web page with the database by means of cgi scripts
- To design and implement a significant project
- To have the opportunity to present the status of the project at several points along the way for review and critique by the class
- To create, collect and organize a portfolio of documents for the project.
- To address social and ethical issues related to database technlogy
- As time permits to explore additional topics such as transaction management and data mining
Professor
Dr. Christine Shannon
Olin 115
Phone: 5406 (Office) 238-7422 (Home)
e-mail: shannon@centre.edu
You might also be interested in visiting my home page at http://web.centre.edu/shannon/.
Office hours: I am generally on campus every day between 8 a.m.
and 4 p.m. and often later than that.. If I am not in class, I am usually
in my office or one of the computer labs. I will try to observe the following
office hours and will notify you if I won't be available.
| M-W-F: |
9:00 - 11:00 a.m.. |
| T-R: |
9:30 - 11:00 a.m. |
Please feel free to come by at other times and you are always welcome to
make an appointment.
Textbook
Ricardo, Catherine M. Databases Illuminated, Sudbury, MA: Jones and Bartlett Publishers,2004.
General Outline
Lecture |
Date |
Topic |
Reading |
1 |
9/1 |
Course Information; Introductory Database concepts |
Chapter 1 |
2 |
9/3 |
Designing a Database |
Chapter 2 |
3 |
9/8 |
Introduction to the E-R Model |
Chapter 3.1-3.5 |
4 |
9/10 |
Examples of E-R Models |
Finish Ch 3 |
5 |
9/15 |
Presentation of database example designs |
|
6 |
9/17 |
The Relational model |
Chapter 4.1-4.5 |
7 |
9/22 |
Relational Data Manipulation Languages |
Chapter 4.6 |
8 |
9/24 |
Exercises on the relational model |
|
9 |
9/29 |
Test 1 |
|
10 |
10/1 |
ER Models presentation/evaluation |
|
11 |
10/6 |
Normalization |
Chap 5.1-5.5 |
12 |
10/8 |
Examples |
|
13 |
10/13 |
SQL and Defining the Database; Security |
Ch 6.1-6.3; Ch 9.1-9.8 |
14 |
10/20 |
Manipulating the Database |
Ch 6.4-6.6 |
15 |
10/22 |
Database Programming with python |
Ch 6.7 ff |
16 |
10/27 |
More SQL |
|
17 |
10/29 |
Guest lecture on production database |
|
18 |
11/3 |
Test 2 |
|
19 |
11/5 |
HTML programming |
Ch 13 |
20 |
11/10 |
Demonstration of project functionality |
|
21 |
11/12 |
CGI programming; the python database module |
|
22 |
11/17 |
Transaction Management |
Ch 10.1-10.4 |
23 |
11/19 |
Transaction Transaction Management |
finish Ch 4 |
24 |
11/24 |
Social and Ethical Issues |
Ch 14 |
25 |
12/1 |
Data Warehouses and Data Mining |
Ch 15 |
26 |
12/3 |
Final project demos |
|
Attendance
I expect students to be present for all classes. Please let me know in advance
if you must be absent for a scheduled college activity. Illness might prevent
you from being present for a couple of classes during the term but anything
beyond that will probably have a detrimental effect on your grade. Those
of you who must be absent for college sponsored activities should be particularly
careful not to miss any other classes. It is very important that you be
present for all examinations. Documentation will be required before you
are allowed to make up a test and in general the make up will be the appropriate
part of the final exam. Only the Associate Dean can make exceptions to the
final exam schedule. If you have a good reason to be absent from class,
you are still responsible for the homework assignments. Except in the case
of serious illness, all assignments are to be turned in on time.
Grades
Your grade for the course will be
determined by the following:
| Tests (2) |
125
points each |
| Homework /Projects/Quizzes |
150 points |
| Final Exam |
150 points |
Your final grade will be determined by the total number of points you
accumulate out of the 550 possible points. The 150 point homework grade
will be composed of the points you gain on the course project and any
other written assignments as well as the quizzes over the reading. This will include several presentations. Borderline cases will be determined by improvement
on the final and participation in class. Students who are ill-prepared,
miss class, or otherwise fail to live as responsible citizens will not
get the benefit of any doubt. I will use a 15 point grading scale so that
you are guaranteed an A or A- if you score 85 or above, a B-, B or B+
for 70-84, C-,C or C+ for 55-69 a D for 45-54 and anything lower is failing.
Exams
There will be two exams on Tuesday, Sept 29 and Tuesday, November 3. There
will also be a cumulative final during the final exam period on Monday, December 7 at 1:30 p.m.
Written Assignments and Other Graded Work
There will be reading assignments and exercises assigned each day. The questions should guide your reading and identify important ideas. There will often be an open book reading quiz to take on line once you have finished the reading. These are not a very large portion of you grade but they should help focus your reading of the material.
In addition to these assignments you will all be working on a term long database project which you will complete with a partner. There will be a number of points at which deliverables must be submitted. These will all be graded as part of your project grade. All
work must be submitted on time. Late
projects will be penalized 10% per day. I do not accept other assignments
past the deadline but there will be some "grace" at the end of the semester.
Occationally there will be an assignment other than a part of the project which I will grade. These will generally be done independently.
You must give
credit BY NAME to any person who assists you in completing an assignment.
Failure to acknowledge such help is PLAGIARISM and will be dealt with accordingly.
General Rules for Giving/Getting
Help
If
you are seeking help: Another person may read your code if you
are trying to find a bug. You must acknowledge their help and indicate that
they read your code as part of the documentation. You may not read another
person's code but it is permissible to talk about the solution of the problem
(not the actual code). Anyone with whom you discuss the problem, must be
listed in your documentation.
If you are giving help: you may read
another person's code if you are looking for an error. It is their responsibility
to list you as a resource. You may not allow another student to read your
code "to get the idea". It is permissible to talk about your solution
but be judicious about the hints you give. Again, the other student is
responsible for listing your help in the
|