CS 44800: Introduction To Relational Database Systems

MWF 09:30-10:20

PHYS 114 (subject to change).
The course will be amenable to remote attendance even for those not registered for the distance learning section

Chris Clifton

Email: clifton_nospam@cs_nojunk.purdue.edu

Course Outline

Course Topics

An in-depth examination of relational database systems including theory and concepts as well as practical issues in relational databases. Modern database technologies such as object-relational and Web-based access to relational databases. Conceptual design and entity relationship modeling, relational algebra and calculus, data definition and manipulation languages using SQL, schema and view management, query processing and optimization, transaction management, security, privacy, integrity management.

IF YOU HAVE BEEN UNABLE TO REGISTER FOR THE COURSE

This course is anticipated to be oversubscribed, and as such registration is initially limited to CS students. If you have been unable to register, please follow the CS department process for waitlisting/registration. Please do not ask the instructor for an override, I have been told that if the course is shown as full, the registrar will not allow registration even with a form 23 signed by the instructor. Please follow the process above or consult with your advisor.

Teaching Assistants

Office hour times, locations, and procedures may change through the semester, as we learn more of social distancing requirements and facility availability. Please watch this space for changes, and check Piazza for potential temporary adjustments. TAs will be available remotely during office hours at the posted links.

PSO Schedule

PSO01 Huangyi Ge Tue 11:30-12:20 HAAS G050
PSO02 Lu Xing Wed 10:30-11:20 HAAS G050
PSO03 Samia Kabir Fri 11:30-12:20 HAAS G050
PSO04 Faisal Tariq Vora Thu 11:30-12:20 HAAS G050
PSO05 Huangyi Ge Wed 12:30-13:20 HAAS G050
PSO06 Lu Xing Tue 14:30-15:20 LWSN B131
PSOOL2 Giselle M. Zeno Torres Tue 08:00-08:50ET Zoom 914 6390 6494 082716
PSOOL3 Giselle M. Zeno Torres Thu 10:00-10:50ET Zoom 914 6390 6494 082716

Note: You are assigned to a particular PSO. Please go to your assigned PSO, even if attending remotely, for several reasons:

That said, if you can't make a particular PSO some week, it is okay to go to another PSO with the permission of that PSO instructor, although please attend remotely.

Instructor Office Hours

Tuesday 8:30-10am, WebEx 120 827 2169 password LWSN2116E

In person meetings in LWSN 2116E (or, weather permitting, outdoors someplace) by appointment, to avoid crowding. Email a few good times for you and I'll pick what works. (This also works for setting up a videoconference, if Tuesday morning doesn't work.) University policy permitting, you can just drop by, I'm often in, and if not tied up with something that has be be finished right away I'll be happy to meet with you.

Mailing List

There will be a course email list used for high-priority announcements. This will use your @purdue.edu email address; make sure this is forwarded to someplace you look on a regular basis.

We will be using Gradescope to turn in and comment on assignments; Brightspace will be used for recording and distributing grades, as well as for any other non-public information about the course.

Course Methodology

The course will primarily be taught through lectures, supplemented with reading. The lecture delivery method is subject to change based on COVID-19 related restrictions, but there will always be some form of online access to lecture material. Initial plans are for live in-class lectures, recorded and made available through Boilercast and/or WebEx. If possible (and this depends on the room we end up in), lectures will also be available live via WebEx; you are encouraged to speak up and ask questions just as if you were in the classroom.

The PSO sections will provide an additional opportunity to ask questions and work through problems, and will be the primary venue where the projects will be introduced and discussed. PSOs will also support remote access (although may not be recorded), but the quality of this may vary from room to room. The primary reading will be from the text. The written assignments and projects are also a significant component of the learning experience.

We will be using Piazza to facilitate discussions; this will enable you to post questions as well as respond to questions posted by others. Be aware that the default is for posts to be identified and visible to everyone. Please access Piazza through Brightspace the first time (to properly link accounts). You are also encouraged to hold discussions with other students; I would recommend setting up a WebEx meeting (or your favorite videoconferencing method, I list WebEx because Purdue has a paid license), and posting the link/time on Piazza. Please keep the collaboration guidelines below in mind, just as if you were meeting in person.

Depending on how students attend, we may be using some form of real-time feedback in class. If we do, there will be an alternative mechanism for students who are not able to attend live. (Note that my standard practice is to drop approximately the lowest 10-15% of in-class response scores to allow for absences.)

Prerequisites

The formal prerequisite is CS 25100: Data Structures and Algorithms. If most of the students have taken CS34800, it may enable us to cover more material; if we do this, some of the PSOs will be used to cover material that would otherwise be duplicated between CS34800 and CS44800. (If you have comparable courses, such as ECE 36800, please contact the instructor.)

Evaluation/Grading

Evaluation is a somewhat subjective process (see my grading standards), however it will be based on your understanding of the material as evidenced in:

All assigned work (including exams) will be provided and submitted online. Exact formats will be evolving, but most likely will be offered through Gradescope. Exams will be open for a 24 hour period, but you will have a limited time during that 24 hour window (e.g., an hour from when you start the exam.) Options will be provided to either type answers into Gradescope, upload a PDF with your exam answers, or a mix of the two.

Late work will be penalized 15% per day (24 hour period or fraction thereof). The penalty is based on possible points, not your actual score (so after 5 days, if your submission garners less than 75% of the possible points, you get a 0.) Each assignment has a hard deadline of five days after the published due date, after which the solution sets go out and no further submissions are accepted. You are allowed five--> five extension days, to be used at your discretion throughout the semester (illness, job interviews, etc.); no penalty is assessed for late work within this limit. If your assignments add up to more than five days late over the semester, the late days will be automatically applied to the highest value assignments (e.g., projects), so the 15% late penalties are applied to the lower value assignments first. Late penalties will only be applied at the end of the semester, so if you go beyond the alotted late days, you may see your score for some assignments drop. You must keep track of late days yourself. Fractional use is not allowed, and this may not be used to extend submission past the hard deadline.

Policy on Intellectual Honesty

Please read the departmental academic integrity policy above. This will be followed unless I provide written documentation of exceptions. You should also be familiar with the Purdue University Code of Honor and Academic Integrity Guide for Students. You may also find Professor Spafford's course policy useful - while I do not apply it verbatim, it contains detail and some good examples that may help to clarify the policies above and those mentioned below.

In particular, I encourage interaction: you should feel free to discuss the course with other students. However, unless otherwise noted work turned in should reflect your own efforts and knowledge.

For example, if you are discussing an assignment with another student, and you feel you know the material better than the other student, think of yourself as a teacher. Your goal is to make sure that after your discussion, the student is capable of doing similar work independently; their turned-in assignment should reflect this capability. If you need to work through details, try to work on a related, but different, problem.

If you feel you may have overstepped these bounds, or are not sure, please come talk to me and/or note on what you turn in that it represents collaborative effort (the same holds for information obtained from other sources that provided substantial portions of the solution.) If I feel you have gone beyond acceptable limits, I will let you know, and if necessary we will find an alternative way of ensuring you know the material. Help you receive in such a borderline case, if cited and not part of a pattern of egregious behavior, is not in my opinion academic dishonesty, and will at most result in a requirement that you demonstrate your knowledge in some alternate manner.

Other Issues and Resources

If you have other issues please feel free to talk to me - if I can't help, I'll try to point you in the right direction. Be aware that due to Title IX and state law, there are some things for which I can't promise confidentiality (but see CARE below).

University Emergency Preparedness instructions. Note: In the event of weather-related class cancellation, class will still be held, but online only, using the normal online options for remote students.

Nondiscrimination Statement: Purdue University is committed to maintaining a community which recognizes and values the inherent worth and dignity of every person; fosters tolerance, sensitivity, understanding, and mutual respect among its members; and encourages each individual to strive to reach his or her own potential. In pursuit of its goal of academic excellence, the University seeks to develop and nurture diversity. The University believes that diversity among its many members strengthens the institution, stimulates creativity, promotes the exchange of ideas, and enriches campus life. Purdue’s nondiscrimination policy can be found at http://www.purdue.edu/purdue/ea_eou_statement.html.

Purdue University strives to make learning experiences as accessible as possible. If you anticipate or experience physical or academic barriers based on disability, you are welcome to let me know so that we can discuss options. You are also encouraged to contact the Disability Resource Center at: drc@purdue.edu or by phone: 765-494-1247.

Student Mental Health and Wellbeing: Purdue University is committed to advancing the mental health and wellbeing of its students. If you or someone you know is feeling overwhelmed, depressed, and/or in need of support, services are available. For help, such individuals should contact Counseling and Psychological Services (CAPS) at (765)494-6995 and http://www.purdue.edu/caps/ during and after hours, on weekends and holidays, or through its counselors physically located in the Purdue University Student Health Center (PUSH) and the Psychology building (PSYC) during business hours.

Sexual Violence: Purdue University is devoted to fostering a secure, equitable, and inclusive community. If you or someone you know has been the victim of sexual violence and are interested in seeking help, there are services available. Reporting the incident to any Purdue faculty and certain other employees, including resident assistants, will lead to reference to the Title IX Coordinator, as these individuals are mandatory reporters. The Title IX office can investigate report of sex-based discrimination, sexual harassment, or sexual violence. Title IX ensures that both parties in a reported event have equal opportunity to be heard and participate in a grievance process. To file an online report visit https://cm.maxient.com/reportingform.php?PurdueUniv&layout_id=15 or contact the Title IX coordinator at 765-494-7255.

The Center for Advocacy, Response, and Education (CARE) offers confidential support and advocacy that does not require the filing of a report to the Title IX office. The CARE staff helps each survivor assess their reporting options and access resources that meet personal needs. The CARE office can be found at 205 North Russell Street in Duhme Hall (Windsor), room 143 Monday - Friday 8:00 AM to 5:00 PM. They can also be reached at their 24/7 hotline 765-495-CARE or at CARE@purdue.edu.

And you should always feel free to call, email, or drop by and talk to me (or, if you have an issue with me, to the department head.)

Text

The basic text for this course is:

Database System Concepts, Seventh Edition
Avi Silberschatz, Henry F. Korth, and S. Sudarshan
McGraw-Hill, ISBN 9780078022159, 2019.

While earlier editions will be adequate for most of the course, there is considerable new material (e.g., systems for Big Data) in the seventh edition (in fact, it is because of this new material that we decided to switch from the previous text; earlier editions were appropriate for CS34800 but didn't cover some of the topics that we cover in CS44800). That said, if you already have an older version of the text, or find that you do well in other courses without the textbook, you may well find you can do without this version.

Course Outline (numbers correspond to week):

  1. Week 1:
  2. Week 2:
  3. Week 3: Database Design
  4. Week 4:
  5. Week 5:
  6. Week 6:
  7. Week 7: Query Processing
  8. Week 8: Query Optimization
  9. Week 9: Query Optimization
  10. Week 10: Concurrency Control
  11. Week 11: Logging and Recovery
    PSO slides for Week 11 (concurrency control in SimpleDB)
  12. Week 12: Logging and Recovery
  13. Week 13: Advanced topics, tentatively Distributed Databases
    Project 3 released, due 4/23.
  14. Week 14: Advanced topics, tentatively Big Data architectures
  15. Week 15: Advanced topics, TBD

Final Exam Tuesday, May 4, 9:00amEDT (13:00UTC) - Wednesday, May 5, 9:00amEDT. exam schedule.
If you have three or more exams scheduled the same day and would like to reschedule this exam, please let me know as soon as possible. Note that conflicting exams are pretty much the only reason for rescheduling.


Valid XHTML 1.1