CS 4660 Winter 2009 syllabus
CS 4660 - Database Architecture - 4 Credits 

Instructor: David Yang (Science South 450, david.yang@csueastbay.edu)
Time and Location: Mondays and Wednesdays, 4-5:50pm, North Science 112.

Blackboard will be used for submission of assignments and posting of course material, while email to the class will go to your school email account. Your main responsibility here is to keep your Inbox free enough to receive email.

Text:
Ramakrishnan/Gehrke, Database Management Systems, ISBN 0072465638, McGraw-Hill. However, any text that goes through databases in the same conceptual way should be fine. This includes Silberschatz's text, Date's text, Ullman's text, and many others. If you get any edition within the past 10 years, you should be fine. We will supplement the text with online material as well. (Some of the lecture notes were developed from the Silberschatz text, others from the Elmasri and Navathe text. A former colleague really disliked the latter, but I was satisfied with it. In particular, it does have, in my opinion, an excellent procedure for converting an entity-relationship model into a relational database.)

Software: For my own selfish reasons (namely, my sanity), I will require you to do your software-dependent assignments on Postgres. While we are not doing anything that sophisticated this term, I chose it because it is free (vs. SQL Server), not huge (vs. Oracle -- even XE is relatively much larger), fully featured (vs. Access) and seems a bit more compliant with standards (SQL, in particular) than MySQL.

Goals:

  • to develop an understanding of the concepts and techniques of of designing the organization of data with an emphasis on supporting data consistency. We will start by looking at business rules to look at data requirements. Databases are pretty easy to create, but if designed in an ad hoc manner, can easily allow inconsistent data or fail to support representing actual data or relationships between data.
  • to model data organization using the entity-relationship model and display the model with an entity-relationship diagram
  • to check and improve the model using normalization
  • to practice these concepts and techniques using a relational database
  • to learn how to use SQL to create, modify and, most popularly, query a relational database -- you will try to develop your work based on some existing website

Additional Topics:

  • Indexes
  • Accessing a database -- ODBC/JDBC
  • Introductory query optimization
  • User interface features -- there will be a little PHP assignment for which you will use Apache (locally on your machine)
  • Transactions, locking

Calculation of your grade: 
Assignments 30%
Project 20%
Midterm 20%
The comprehensive final exam will count for 30%.

[grading note: Your exams must average (using the relative weights above) out to a C- or better in order to get at least a C- in the course.]

Final grades will be given according to the following scale:

93-100 A, 90-92 A-, 87-89 B+, 83-86 B, 80-82 B-, 77-79 C+, 73-76 C, 70-72 C-,67-69 D+, 60-66 D, 0-59 F 

Attendance:
You still need to be in class to take the exams.

Academic Honesty: This course will follow the University's standard policy on academic dishonesty. In particular, note that regardless of whether you copy work from another student or allow another student to copy your work on an exam, you are both equally guilty and equally penalized. Copying text/files off the internet without properly giving credit is also cheating. Any cheating on an exam results in an F for the course. Cheating twice also results in an automatic F. All instances of cheating will be reported to the Dean's office.

Remember that the University may inflict further penalties than listed here under the provisions of the published Academic Dishonesty Policy. 

Office Hours: You can find my office hours on my faculty info card.


I will also be available at other times. You can make an appointment, though stopping by to see if I'm around is fine. It is better to ask questions before the exams. 


This webpage's (modest) layout is originally from Bill Parkinson, who taught in the evening at St. Joseph's University in Philadelphia. I used his pages as a basis for my syllabi before I really knew any HTML.