Home
Research profile
Teaching profile
Professional profile
Personal profile
Contact information

Course Title

EECS/IT 746: Database Systems (Fall 2020)
Mondays, 6:10-9:00 PM, Synchronous Zoom Sessions (Course Number: 26510)
Course Web Site: people.eecs.ku.edu/~saiedian/746

Prerequisites and Expected Audience. Eligibility for upper division EECS courses (or industrial experience in software development and programming). This course is intended for database engineers, software engineers, database managers, and graduate students in IT or computer science. Graduate standing in EECS, introductory courses in software engineering or systems analysis, or industrial experience in software development is assumed. Thought this may not be the absolute requirement, a student is expected to have a relatively good background in computing and discrete mathematics (and a working knowledge of Linux especially if the student wishes to use a Linux-based database system).

Instructor

Professor Hossein Saiedian
Offices: BEST 250 and Nichols 155
Telephone: 785-864-8812 or 913-897-8515
E-Mail: saiedian at ku.edu
WWW: people.eecs.ku.edu/~saiedian
Virtual Office Hours (Zoom/Phone Call): Mondays, 1:00-5:00 PM (and by appointment)

Zoom ID

The Zoom ID for class sessions and virtual office hours is as follows (password will be provided privately):

Course Overview/Outcomes

The objective of this course is to provide a relatively comprehensive introduction to the modeling and design of databases and the uses of a database management systems (DBMS). Conceptual modeling via entity-relationship (ER) diagrams and UML, the relational data model, database design (functional dependencies, normal forms), query languages such as relational algebra and SQL, database design concepts such as integrity constrains, triggers, query optimization, transactions processing and concurrency control, and more recent topics such as database security, distributed databases, big data, and non-SQL databases data will be covered.

Learning outcomes. (1) Develop an understanding of a database management system and its role in an enterprise, (2) Develop skills is conceptual modeling via ER or UML, (3) Understand the relational model and its key concepts, (4) Map a conceptual model to a relational model, (5) Normalize a relational model to remove/minimize anomalies, (6) Develop query manipulation statements via relational algebra, (7) Develop physical database definitions via SQL DDL (8) Develop query manipulation statements via SQL (9) Understand other database models such the object model and No-SQL model, (10) Understand other database concepts such as transaction processing and database recover, (11) Understand emerging topics such as big data and data science, (12) Understand emerging topics such database security, (13) Understand database APIs and distributed databases, (13) Understand emerging topics such as cloud computing and DBaaS

Textbooks

R. Elmasri and B. Navathe, Fundamentals of Database Systems, 7th edition, Pearson, 2016.








Another excellent textbook: Abraham Silberschatz, Henry Korth, and S. Sudarshan, (Author) Database System Concepts, 7th edition, McGraw-Hill, 2020.

Please visit the textbooks' websites for updates and errata.

The primary textbook is used for both undergraduate and graduate courses on (introduction to) database systems. As such many of its chapters will be briefly covered but students are required to thoroughly read them, especially if they do not have formal education in computer science or IT. Our objective is to spend more time on advanced topics such as database design and more emerging database topics.

Supplementary information for the course  (e.g., PowerPoint slides, class announcements, the course syllabus, test dates, and other information) will be made available online. Students are responsible for lecture notes, reading assignments, as well as items distributed during the classroom sessions. Students are also responsible for regularly visiting the class website for topics covered and any date changes.

The order of chapter coverage may be different from the textbook. Unless explicitly stated, students are responsible for all sections in a chapter. In addition to the materials from the main textbook, students are responsible for lecture notes, reading assignments, as well as items distributed during the classroom sessions. Important reading materials as well as lecture slides will be placed on the class website.

Other Resources

Useful readings and tutorials (including slides from other sources will be made available (see the links below) and may be a part of the weekly lecture presentations. In addition to the above, students should also develop a habit of regularly browsing such journals as IEEE Computer, IEEE Software, and Communications of the ACM.

Lecture Notes

Readings

MySQL

Evaluation Criteria (Subject to revision)

Students will be evaluated as follows:

  • Grade Distribution

    * Quizzes and exams: 60%

    * Special project: 10%

    * Team project and individual assignments: 30% (The term project will have at least five components each worth 50 points that will be due in approximately three week intervals.)

  • Grading Scale
    A = 90%..100%
    B = 80%..89%
    C = 70%..79%
    D = 60%..69%
  • No make-up quizzes are given. No late work will be accepted. (Certain exceptions may be made for family emergencies, religious observance, and illnesses.)
  • All written work must be typeset. It is OK to draw diagrams by hand and then scan them, but they must be legible.

Special Project Options

The "special project" provides an opportunity for each student to become an expert in an area related to the topic of the course. It can include a term paper or a thorough, workshop-like, 90--120 minute presentation that covers a related topic in-depth. A special project topic will have to be approved.

Workshop presentation (90-120 minutes) limited to 1-2 students. Those interested in a presentation should choose an emerging topic, should have experience in long, lively, and engaging presentations and should begin their preparation immediately. Carefully follow the Guidelines for Making a Presentation. A proposal (workshop topic, justification, list of resources, and the tentative date for the presentation) should be submitted by the third week of the semester.

Term paper. Those who would like to do a term paper may choose an applied research topic, e.g., an evaluation or comparison of certain methodologies for a real case study (or a reconstruction of a case study reported in literature). Another option is to make an objective evaluation of several research projects tackling the same problem. Other ideas are welcome. Guidelines for Writing a Term Paper have to be carefully followed. The paper decision and the tentative topic should be made by the third week of the semester.

Weekly Schedule

The following is the weekly semester schedule of lecture topics and all related curricular activities. Some referenced documents may be password-protected. The password will be publicized in class.

Week 1: Monday August 24

Discussion topics: Course syllabus and course review, Term project selection and review, Term project team formation, Introduction to database management system

Readings: Chapter 1: Databases and Database Users

Assignments: Assigned in classroom


Week 2: Monday August 31

Discussion topics: Database Systems Concepts and Architecture, Data Modeling Using the Entity Relationship (ER) Model

Readings: Chapter 2: Database Systems Concepts and Architecture, Chapter 3: Data Modeling Using the Entity Relationship (ER) Model

Assignments: Assigned in classroom


Week 3: Monday September 7

Discussion topics: Data Modeling Using the Entity Relationship (ER) Model, The Enhanced Entity Relationship (EER) Model, UML

Readings: Chapter 3: Data Modeling Using the Entity Relationship (ER) Model, Chapter 4: The Enhanced Entity Relationship (EER) Model

Other topics:

Due: Team Projects: A vision statement and/or a scope definition for the term project. Objective of the vision/scope statement: Motivation and scope definition, the choice of a DBMS (e.g., mySQL?), system users (users and applications), interface choice (e.g., web-based?), storage and processing requirements. Also include team title, team members, a description of tentative roles for each member, team member skills, contact information, etc.


Week 4: Monday September 14

Discussion topics: The Relational Data Model and Relational Database Constraints, The Relational Algebra

Readings: Chapter 5: The Relational Data Model and Relational Database Constraints, Chapter 8: The Relational Algebra

Assignments: Assigned in classroom


Week 5: Monday September 21

Discussion topics: Relational Algebra, Introduction to SQL

Readings: Chapter 8: The Relational Algebra, Chapter 6: Basic SQL

Assignments: Assigned in classroom


Week 6: Monday September 28

Discussion topics: More SQL: Complex Queries, Triggers, Views, and Schema Modification, Relational Database Design by ER- and EER-to-Relational Mapping

Other topics: Paper/workshop (special project) proposal is due

Other topics: Exam 1

Readings: Chapter 7: More SQL: Complex Queries, Triggers, Views, and Schema Modification, Chapter 9: Relational Database Design by ER- and EER-to-Relational Mapping

Assignments: Assigned in classroom


Week 7: Monday October 5

Discussion topics: Database Design Theory and Normalization

Readings: Chapter 14: Basics of Functional Dependencies and Normalization for Relational Databases

Assignments: Assigned in classroom

Other topics:

Due: Team Projects: A formal statement of the requirements and the conceptual model. The objective of the statement is to more formally describe the functional and non-functional requirements of the database system. Include appropriate comments about conceptual modeling. Include an ER (or UML) diagram for the problem. Be sure to underline the key attributes, show multiplicity, full/partial participation, specialization and generalization, etc., when applicable.


Week 8: Monday October 12

Discussion topics: Relational Database Design Algorithms and Further Dependencies

Readings: Chapter 15: Relational Database Design Algorithms and Further Dependencies

Assignments: Assigned in classroom


Week 9: Monday October 19

Discussion topics: Relational Database Design Algorithms and Further Dependencies

Readings: Chapter 15: Relational Database Design Algorithms and Further Dependencies

Assignments: Assigned in classroom


Week 10: Monday October 26

Discussion topics: Introduction to SQL Programming Techniques, Web Database Programming Using PHP

Other topics: Exam 2

Readings: Chapter 10: Introduction to SQL Programming Techniques, Chapter 11: Web Database Programming Using PHP

Assignments: Assigned in classroom


Week 11: Monday November 2

Discussion topics: Various DB topics: Object databases, Non-SQL databases, big data, concurrency, transactions processing, database recovery, distributed databases

Due: Detailed outline for the term paper or workshop

Readings: Mostly lecture notes Sections of the following chapters: 12, 20, 21, 22, 23, 24, 25

Assignments: Assigned in classroom

Other topics: Due: Team Projects: The logical relational model and schema (DDL in SQL), The objective: Map (transform) the conceptual schema in ER (or UML) into the data model of the chosen DBMS (in our case, the relational model), identify the functional dependencies, normalize the resulting relations, and to define external views. Be sure to clearly show the relations (tables), their attributes, primary and foreign keys. For each relation, indicate its functional dependencies and its normal form.


Week 12: Monday November 9

Discussion topics: Various DB topics: Object databases, Non-SQL databases, big data, concurrency, transactions processing, database recovery, distributed databases

Readings: Sections of the following chapters: 12, 20, 21, 22, 23, 24, 25

Assignments: Assigned in classroom


Week 13: Monday November 16

Discussion topics: Various DB topics: Object databases, Non-SQL databases, big data, concurrency, transactions processing, database recovery, distributed databases

Readings: Sections of the following chapters: 12, 20, 21, 22, 23, 24, 25

Assignments: Assigned in classroom

Other topics: Due Team Projects: Physical database design and implementation. The objective is to define and implement the actual relations (tables), populate the relations with meaningful data, implement any necessary transactions or embedded program or online scripts. Provide SQL DDL definitions for your database. Provide a listing of each (mySQL) relation and its data. If your database will have Web interfaces, provide snapshots of such interfaces.


Week 14: Monday November 23

Discussion topics: Database APIs and data distribution, DBaaS, Database on the clouds, Database security

Readings: Sections of the following chapter: 30

Assignments: Assigned in classroom


Week 15: Monday November 30

Other topics: Team Projects: Presentations and demos; Project portfolios including the user's manuals. presentation objective: 25-minute presentation by each team to present the design (architecture and the rationale) for their database project and to demonstrate (outside classroom) the best features of the project. The presentations normally should focus on the ER diagram (to provide a conceptual view), discuss the resulting relations (keys, attributes, etc.) and their normal form, a rationale for the normal form achieved, and a sampling of interesting SQL queries and their output.

Other Topics: Team presentations


Week 16: Monday December 7

Other topics: Comprehensive Final Exam


Attendance, late work, and makeup policies

Attendance expectation. Regular attendance is essential for success in this course. Attendance will be recorded throughout the semester via iClicker for classroom meetings (and, if the course includes a lab component, via a sign-up attendance sheet for lab sessions). More than three unexcused absences (in classrooms or labs) will result in a one‑letter reduction in the final course grade, which will be applied when grades are posted at the end of the term.

Course-specific attendance policy (EECS 581). Because this course meets once per week, a single absence carries the weight of two regular sessions. Accordingly, no more than two unexcused absences will be permitted (equivalent to four regular sessions under the standard format); a third unexcused absence will result in the one-letter grade reduction described above. This applies to the Tuesday classroom sessions; TA/Scrum-meeting participation is assessed separately, using the project rubric posted on Canvas.

Late-work, makeup policy. Late work and make‑up opportunities for labs, quizzes, and exams are available exclusively for students with excused, documented, and approved absences, ensuring full support for those with qualifying circumstances.

Excused absence requests. Requests for excused absences must be submitted in advance and approved by the instructor, except in cases of emergency. Supporting documentation must accompany all requests. For emergencies, notify the instructor as soon as possible following the absence. Examples of excusable absences include:

  • Illness or injury
  • Verifiable personal mental health or medical crisis, or that of a relative
  • Unforeseen life event or compelling circumstances beyond the student's control (e.g., divorce, birth or adoption of a child, death, loss of employment, sexual assault, domestic violence)
  • Academic field trips or conferences
  • Participation in university activities at the request of university authorities (e.g., an approved concert or athletic event)
  • Jury duty or officially mandated court appearances

If a student experiences a confidential personal or family situation that does not fall under the above categories, they may consult CAPS or their academic advisor, who can then contact me on their behalf.

Make-up policy and integrity. For excused absences, quizzes and exams must be made up before the content is reviewed or the answer key is released. Labs, assignments, or homework are due within one week of the absence. Additional flexibility will be provided for special circumstances.

By taking a make-up assessment, you affirm that you have an excused absence and have not sought or received any information about its content from prior test-takers. Violating this pledge is academic misconduct (see above).

Responsibility for missed work. Students who miss class are responsible for obtaining any missed materials.

Common policies

Classroom conduct policy: Students are expected to arrive on time, remain attentive, and conduct themselves professionally. Please avoid behaviors that disrupt the learning environment or instructor presentations, and note that profanity is strictly prohibited. Additionally, students are encouraged to actively engage during class sessions by asking questions, contributing to discussions, and providing feedback.

Canvas announcements. Important course updates will be posted via Canvas Announcements. You are responsible for checking Canvas regularly; email notifications may also be sent depending on your account settings.

Email communications
As an engineering student at the University of Kansas, all written communications should reflect professional standards. Please note:

  • Subject lines: Must be descriptive and begin with EECS### for course-related messages.
  • Etiquette: Please follow standard professional email etiquette.
  • Format: Send text-only emails in text-only format. All classroom assignments, labs, or projects should be typeset and submitted on Canvas.
  • Attachments: Other documents (e.g., documents for an excusable absence) should be emailed in PDF or a well-known image format (e.g., JPG or PNG). Please choose a descriptive file name for the attachment (avoid file names like "image", "my document", etc.).

Grade and absence clarification or correction. We want to ensure your records are accurate and fair. If you believe a grade on an assignment, lab, quiz, or exam is incorrect, you must submit an grade correction request within one week of receiving the graded work. Similarly, if you need to submit documentation for an excused absence after the fact, you must do so within one week of the absence. Failure to address these matters within this one-week timeframe will result in the decision becoming final, ensuring timely resolution and consistency for the entire class.

Technical problems. Submit a support request help at: https://tsc.ku.edu/request-support-engineering-tsc.

Electronic device policy: Cell phones must be silenced before entering the classroom. While laptops, tablets, and phones are welcome for note-taking and approved tools like iClicker, non-academic uses (such as social media or web surfing) must be avoided to prevent distractions. Audio should remain turned off. Additionally, devices may be used to photograph whiteboard notes or projects, provided the shots exclude the instructor and other students.

Incomplete grade policy. An Incomplete ("I") grade is reserved for exceptional circumstances beyond your control and must be resolved within the instructor's timeframe (up to one year before automatically converting to an "F" or "U"). For full details please review KU policies: here and here.

Accommodations for students with disabilities. The University of Kansas is committed to equal opportunity and accessible learning. Requests for special accommodations should be made through KU Student Access Services.

Nondiscrimination and equal opportunity. KU strictly prohibits discrimination based on protected characteristics across all programs and activities. For full institutional policies, please review KU's statements on nondiscrimination and the racial and ethnic harassment policy.

Sexual harassment. KU prohibits sexual harassment and is committed to preventing, correcting, and disciplining unlawful harassment and assault. Please review KU's statement on sexual harassment for details.

Mandatory reporter statement. As a faculty member and KU employee, I am a mandatory reporter required to share disclosures of discrimination, harassment, or sexual violence with the Office of Civil Rights and Title IX. For confidential support options (such as CAPS, Watkins Health Care, or the Ombuds Office), please review KU's statement on mandatory reporting.

Commercial note-taking ventures. Pursuant to KU's commercial note-taking policy, selling lecture notes or course materials for commercial gain is strictly prohibited and subject to disciplinary action. Note-taking provided as an official ADA accommodation for a student with a disability is exempt.

Concealed handguns. Individuals choosing to carry concealed handguns must do so safely and in strict compliance with state/federal laws and KU weapons policy, which requires that handguns remain under constant control, fully concealed, holstered with the trigger covered, and carried with the safety on and no round in the chamber.

Minimal Zoom meeting etiquettes (in case of a transition to an online mode)

Sign in. Login with your full first name and last name as listed on the class roster. Do not use a nickname or other pseudonym when you log in. It makes it impossible to know who is in attendance.

Audio. Mute your mic (lower-left corner of the Zoom screen) after you login and whenever you are not speaking; it will help to avoid or minimize background noise and distractions.

Video. All students are encouraged to turn on their video streams. It is helpful to see each other, just as in an in-person sessions, and makes class presentations for me and other students more lively. You may use a virtual background; virtual backgrounds are not perfect but are much better than black screens.

Stay engaged. Close any apps on your computer that are not relevant and turn off notifications. Engage in classroom discussion. Ask questions; it is OK to ask a question via a chat dialog or by raising your hand, but it is perfectly OK to just interrupt me as I may not immedaitely notice a raised hand or a chat question.

Giving a presentation. If you have to make a presentation, you will become a co-host and will be able to share your screen. When you are done with your presentation, stop the shared screen. You might want to use a headset with an external mic for best hearing and speaking capabilities.

Virtual office hours. Office hours will be held virtually. To avoid running idle Zoom video sessions, please send an email (or call) for a Zoom meeting and a Zoom session will be launched using the same classroom Zoom session ID and password. Day time calls to the office phone number will be automatically transferred to my mobile number.

LLM and generative AI tools

Generative AI tools, such as ChatGPT, GitHub Copilot, Gemini, and others, can be valuable resources for learning. When used appropriately, they may assist in brainstorming, exploring ideas, and refining drafts. However, they must never replace your own intellectual work.

These tools are akin to the writing center consultants, the EECS programming tutors, and lab assistants: they can guide and support but must not generate final submissions. Submitting content primarily generated by AI is a violation of academic integrity, comparable to submitting work completed by someone else.

Unless explicitly permitted, all coursework must reflect your original understanding, reasoning, and expression. Use of generative AI tools is not permitted for any assignment unless the instructor explicitly authorizes it for that specific assignment; where such use is authorized, it must be disclosed via a brief reflection describing how and why the tool was used, the specific prompts entered, how the output was validated and revised, and any challenges or limitations encountered.

  • A description of how and why AI was used
  • The specific prompts you entered
  • How you validated and revised the AI output
  • The challenges or limitations you faced while using AI

Failure to disclose use of AI tools or submitting AI-generated work as your own will be treated as academic misconduct. Minimum consequences include a zero on the assignment. Depending on severity, further penalties may include failure in the course and formal referral to the School of Engineering disciplinary committee.

This course is designed to build your skills—not evaluate the performance of generative tools. Authentic engagement with course challenges leads to meaningful growth. Overreliance on AI undermines both your learning and the integrity of our academic community.

Intellectual honesty is not optional; it defines your identity as an engineer, a scholar, and a professional.

Academic integrity policy

The University of Kansas, the School of Engineering, and the Department of Electrical Engineering & Computer Science (EECS) maintain a zero-tolerance policy toward academic dishonesty and misconduct. All students enrolled in this course are expected to uphold the highest standards of integrity and professionalism in their academic work.

Academic dishonesty includes, but is not limited to:

  • Plagiarism and unauthorized collaboration: Representing another person’s work, ideas, or writing as your own without proper attribution, or giving/receiving unapproved help on assignments, projects, quizzes, or exams.
  • Cheating: Using unauthorized resources or materials during assessments, or submitting work completed by someone else.
  • Misrepresentation and falsification: Knowingly presenting false information, fabricating or manipulating data/research results, or falsely representing your presence, participation, or attendance in a course activity.

The minimum consequence for an academic integrity violation is a zero on the item in question (e.g., lab, assignment, quiz, or exam). Depending on severity, penalties may include a grade reduction, a failing grade for the course, and formal referral to the School of Engineering's disciplinary committee for further review and sanctions.

Please also see KU's academic misconduct policy

LMS features. During exams or quizzes, only one device should be used, with solely the Canvas app or a single browser tab for Canvas open. Having any other tab, app or file open will be considered a violation of academic integrity. To further facilitate academic integrity, the following features of Canvas will be utilized:

  • The "originality checking" mechanisms of LMS will be utilized for exams but also assignments.
  • LMS features to prohibit printing, copying/pasting of exams will be turned on.
  • LMS lockdown feature will be employed.

Code of student rights and responsibility: Code of Student Rights and Responsibilities