Course Goals

Databases are at the heart of modern commercial application development. Their use extends beyond this to many other environments and domains where large amounts of data must be stored for efficient update, retrieval, and analysis. The purpose of this course is to provide a comprehensive introduction to the use of management systems for applications. Some of the topics covered are the following: data models, query languages, transactions, data cleaning, and database as a service. For the detailed list of topics and schedule, please see the course calendar.

Format

The class meets once per week for lecture followed by section. We will follow parts of the textbook (see below). While the lectures are designed to be clear and self-contained, and to cover all the material used in class, you are strongly encouraged to read from the textbook, both in order to get a better understanding of the material covered and to learn about related topics, which are not covered in class. Please note that the lectures will be a combination of whiteboard, powerpoint, and live demos. Lecture notes will be made available online, but they are brief and insufficient to learn the material. The lesson is: do not miss classes, and do take notes.


In addition to the lecture there will be a sections taught by the TA, right after the lecture. The section will discuss the material taught in class, will give detailed instructions on how to use some of the software needed for the homework assignments, and will give you an extra opportunity to ask questions.

There will be several homework assignments, involving light programming, several Webquizes on Gradiance, and two exams (midterm and final).

Lectures and Sections

Please see lecture list for lecture and section list for sections. (These summarize information that is included in the main calendar.)

Homework assignments

Please see the homework list or the main calendar. The late days policy is described below.

Gradiance Webquizes

There will be several Webquize assignments, administered through Gradiance. Please go to the Gradiance homepage, sign up, then use the class token that was given during the first lecture. No late days are allowed for Webquizzes.
Exams
There will be a midterm and a final. Please see the course schedule for dates and locations.

Grading

Homeworks: 30%
Webquizes: 20%
Midterm: 20%
Final: 30%
Main Textbook
  • Database Systems: the Complete Handbook, by Hector Garcia-Molina, Jennifer Widom, and Jeffrey Ullman. Available from the University Bookstore. Second edition.
Other texts:
The library has the following that you might find useful if you require another explanation of a topic.
  • Fundamentals of database systems by Elsmasri and Navathe.
  • Database management systems by Raghu Ramakrishnan and Johannes Gehrke.
  • Foundations of database systems by Abiteboul, Hull and Vianu.
 
Late Policy
  • Homework assignments: you are allowed a total of 4 late-days with at most 2 late-days per assignment that you can use in 24-hour chunks at anytime. Once you use-up your late days, no additional extensions are granted for any reason! Late submissions will not be graded.
  • Think of late days as a safety net in case of a true emergency, not as a convenience. Normally, you should use no late days during the entire quarter; if you do have an emergency, then you should use 1 or 2 late days. If you end up using all 4 late days, you are doing it wrong.
  • Webquizes: there are no late days allowances for Webquizes, but we will drop your lowest score (for example, if you miss one Webquiz, that won't count). You may retry a webquz as often as you want: the highest score you have achieved on Gradiance as of the due date is your score for that assignment.
 
 Attendance
 
We hope you will attend every lecture. If you miss a lecture, talk to a friend who was present, and be sure to check the Web site for class messages.
 
Programming
Some programming will be necessary in this course. One can only start to appreciate database systems by actually trying to use one. Databases only hold the data, the application logic needs to be written in some general purpose language. We will use the following tools in class:
  • SQLite
  • SQL Server on Windows Azure (Microsoft's Web Service)
  • Apache AsterixDB
  • Java
Tools
The course website and mailing list will be used extensively to provide you with course information, such as the schedule mentioned above, homework assignments and solutions, class messages and many other things. There is a discussion board that everyone should use to keep in touch outside of class. Please see the main webpage of the course for details.
 
Computer Use Policy
 
Some excerpts from the campus policies. Take them seriously: "Software and information resources provided through the University for use by students, faculty, and staff may be used on computing equipment only as specified in the various software licenses. It is against University policy for you to copy or reproduce any licensed software on University computing equipment, except as expressly permitted by the software license"
Academic Misconduct
 
Please see the separate discussion of Academic Integrity. You are expected to read and understand every word in that document. Ask first if you have any questions.

All work turned in is expected to be your own. Although students are encouraged to study together, each student is expected to produce his or her own solution to the homework problems. Coping or using sections of someone else's program, even if it has been modified by you, is not acceptable. The University has very clear guidelines for academic misconduct and the staff of DATA 514 will be vigorous in enforcing them.