CIS 4301 - Information and Database Systems I

Course Syllabus - Fall 2011

1. General Info

Credits: Three

Section: 1304

Prerequisite: CIS 3020 or CIS 3023, COT 3100

Instructor: Prof. Alin Dobra

Meeting Times: Monday, Wednesday, Friday, 6th period (12:50-1:40)

Where: CSE E222

2. Course Objectives and Outcome

This course is the first in a two-course sequence that serves as an introduction to modern database systems. This first course provides an in-depth view of databases from a sophisticated user's perspective. Essentially, when you are done with this class you will know the right way  to design and implement software that uses a database as a back end to store and manage data. Even if you think that you know the right way to do this because you have played with MySQL previously, the simple fact is that you probably do not know the right way. We will not cover database internals or how to tweak them in order to get them to run fast; that is the topic of the next course in the sequence.

Even though we are only looking at database technology from a user's perspective, there are still a lot of topics to cover:

  • The ER model
  • Conceptual database design and modeling
  • The relational model
  • Relational query languages (relational algebra, relational calculus, and SQL)
  • Logical database design (functional dependencies and normal forms)
  • Object-relational databases and SQL-3

3. Other Vital Info

Required Textbook:

The textbook required for this class is A First Course in Database Systems, Third Edition, by Jeffrey Ullman and Jennifer Widom (Prentice Hall, ISBN 0-13-035300-0). I’d also strongly recommend that you purchase a book specifically on Oracle programming. You can survive without purchasing such a book (especially if you are comfortable Googling for information rather than looking it up in a book) but I’d still recommend that you fork over the $$ and buy a book.

Alin Dobra office hours and location:

When: Monday and Wednesday after class (7th period)

Where: CSE Building, room E434

Contact Info: phone 352-505-1545, email: adobra@cise.ufl.edu

Class mailing list:

There is a Yahoo! mailing list associated with the class that you are obligated to sign up for and monitor regularly. This will be the primary way that vital information is disseminated in the class.  For whatever reason, a handful of people will not sign up for the list. I don't know why, but it always happens. Since so much important information is sent to the list, failing to sign up will make it very hard to earn a top grade in the class.On and around due dates, I would expect you to check the group at least every day (fortunately, this can be easy since you can have all new messages to the group sent to your email address).

 

 The web address for the group is http://groups.yahoo.com/group/cis4301fa011/. You should go to this web page and sign up for the group immediately. 

Class web page:

This will be at http://www.cise.ufl.edu/class/cis4301fa11/. You should check the web page at least once a week for important announcements and updates. All assignments will be posted to the web page for download, and the due dates for assignments and dates for the quizzes will also be posted as they approach.

Teaching Assistants:

We will have two TA for this class: Saeed Moghaddam and Eunju Kim . Their contact info and office hours will be posted to the web page as soon as this information is available.

4. Class Attendance

Class attendance is not required in the sense that I will not take role and will not make attendance an explicit part of the class grade. However, attending class is the single most important thing that you can do to earn a good grade in 4301. The material that will appear on our quizzes and assignments comes exclusively from class lectures. The textbook is there only to reinforce material covered in class. Furthermore, I do not use PowerPoint and I do not publish my notes online. Thus, if you do not attend class you are at a serious disadvantage. If you do not attend class and do not get the class notes from someone else in the class, you will almost assuredly not pass the class. 

This class is not early morning (when people are still sleeping) and not early afternoon (when people want to go back to bed) so make the effort and show up every day!

5. Evaluation

Your grade in 4301 is determined as a combination of four quizzes and five assignments. I will also periodically assign homeworks that are not turned in, but will help you to learn the course material. 

The last three assignments are programming assignments. The last two assignments may be completed in teams of two if you wish (note that if you choose to work with a partner, then both partners will receive the same grade, no matter what the circumstances were!). You can work in teams for either of the last two assignments, or both, or you can change teams between assignments. Be forewarned that the last assignment builds on the previous one, so if you mess up on the second-to-last one, you will probably also mess up on the last one. The very last assignment will be turned in during the last week of classes, but will be graded based on the results of a demo lasting a few minutes that will take place during finals week. 

The grading breakdown and rough schedule for the assignments and quizzes are as follows:

 

Assignment 1: 5% of grade; due 4th week: ER modeling assignment

Quiz 1: 12% of grade; 4th week: ER modeling, relational model and translation from ER to relational

Assignment 2: 15% of grade; due 8th week: SQL in Oracle (programming assignment)

Quiz 2: 12% of grade; 8th week: Relational query languages

Assignment 3: 8% of grade; due 10th week: Oracle PSMs and triggers (programming assignment)

Quiz 3: 12% of grade; 11th week: SQL DDL and Logical database design

Assignment 4: 16% of grade; due 14th week: JDBC (programming assignment)

Assignment 5: 5% of grade; due 16th (last) week: GUI front- end for database (programming assignment)

Quiz 4: 15% of grade; at final time: Covers all course material (special emphasis on material not quizzed over yet)

Letter grades will be assigned usign the following scheme:

  • 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+
  • 63 -- 66 D
  • 60 -- 62 D-
  • 0 -- 59 E

6. Policy on Regrade Requests

Much of the grading in the class is subjective. As such, no grade is viewed as final when you first receive it. It is your responsibility to look over every paper that is returned and to carefully check to make sure that it was graded correctly. You are free to discuss grading orally with me or one of the TAs. However, any request for an actual regrade must be made in writing within one week of the time that the paper is returned, with no exceptions. All regrade requests must be prepared using a word processing program; a hard copy should then be submitted to me, along with the original graded work. On your regrade request, carefully describe why you feel that you were scored unfairly and/or incorrectly. Even if you discussed the grading issue orally with someone, the written discussion must be self-contained and be able to evaluated based only on what is written on the paper. 

7. Policy on Missed Quizzes and Late Assignments

I am extremely sympathetic (some people may even call me a pushover) if you have some conflict that will make it difficult for you to attend a quiz or get an assignment completed on time. However, I don't like people to take advantage of my sympathy. So I have a very strict and explicit set of rules governing missed quizzes and late assignments. To be fair to everyone in the class, these rules are always followed to the letter and without exception, so don't even ask!

  1. If you have some conflict and feel like you may need an extra day on the assignment or need to take the quiz a day or two later, it must be cleared with me no fewer than one week (seven days) before the assignment is due or the quiz will be held. I am generally sympathetic to the standard excuses, if you sound credible ("I have three exams that day", "My brother's bar mitzvah is the day before the assignment is due", are the usual type of excuses that I hear). However, if you do not clear it a week in advance, you will receive a zero, with only a two exceptions, given below.
  2. If you are ill at the time of a quiz or right before an assignment is due and so you miss the one week window, or if there is a death in your immediate family, I will allow a late assignment or a make-up provided (a) you can give me proof of the circumstances, and (b) you let me know before the quiz is held or the assignment is due.
  3. If you simply don't turn in the assignment or don't show up for the quiz, the only valid excuse is a note from a doctor given as proof that you were injured or ill at the due data to such an extent that it would be unreasonable for you to send me an email or leave a message letting me know of your illness or injury. In any other case, the result is a zero on the assignment.

8. Policy on Academic Honesty

An academic honesty offense is defined as the act of lying, cheating, or stealing academic information so that one gains academic advantage. As a University of Florida student, one is expected to neither commit nor assist another in committing an academic honesty violation. Additionally, it is the student's duty to report observed academic honesty violations. In this class, unless otherwise stated, it is expected that all work will be your own and will not be taken from any outside source without my explicit approval. All incidents of academic dishonesty will be pulled prosecuted.

9. Students with Disabilities

Students requesting classroom accommodation must first register with the Dean of Students Office. The Dean of Students will provide documentation to the student who must then provide this documentation to the Instructor when requesting accommodation. Your documentation and specific needs must be given as soon as possible, so that appropriate arrangements are made.

 

Valid CSS! Valid HTML 4.01!