ECE 656 - Winter 2015

ECE 656 - Database Systems

Course Description

This course covers data models, file systems, database system architectures, query languages, integrity and security, and database design. Students attending this course should have at least a 4A level Electrical Engineering or Computer Engineering background.

Course Objectives

  • To understand the principles and architecture of database management systems;
  • To learn the methodology for building applications on top of database management systems — the so-called data modeling process; and
  • To learn means of interacting with database management systems by means of their languages (in particular SQL), and other interfaces such as ODBC and JDBC.

Course Topics

  • Data models including entity relationship (ER) model and the Relational model.
  • Data definition and manipulation languages including SQL.
  • Database programming interfaces such as ODBC and JDBC.
  • Relational database design including referential integrity, the theory of data dependencies, and relational normalization.
  • Architecture of database systems including indexing and hashing, database recovery, transaction processing and concurrency control, and query processing and optimization.
  • Additional topics such as distributed databases, object-oriented database extensions, and not-only-SQL (noSQL) databases.

Instructor

Dr. Igor Ivkovic
Email: iivkovic@uwaterloo.ca
Skype: iivkovic-uwaterloo
Office hours: By appointment
Lectures: 5:30-8:20T in RCH 204
TA: Jasmeet Singh, j92singh@uwaterloo.ca

Course Website on LEARN

Course Discussions on Piazza

Required Reading

Connolly and Begg: "Database Systems". 6th Edition, Addison-Wesley, ISBN 0132943263.

Additional Reading

Garcia-Molina, Ullman, and Widom: "Database Systems: The Complete Book". 2nd Edition, Prentice Hall, ISBN 0131873253.

Attendance

You are highly encouraged to attend all lectures and keep detailed class notes.

Academic Integrity

See complete documentation on the course website.

Grading Scheme

Assignments: 30% (three assignments)
Research Project: 20% (presentation + research paper)
Final Exam: 50%

Exam Policy

For a missed final exam, upon the receipt of a valid doctor's note, the student's term work is evaluated to determine if a grade of INC is suitable. If an INC is granted, the student's grade will be calculated using the weightings of the course components from the term the student was registered, the student's term marks from the registered term, and the mark from the final exam when it is written. The final exam should be written with the scheduled exam in the following semester.

Graded Material Delivery

Graded material will be returned to students in class or via LEARN, as appropriate.

Assignments

There will be three course assignments. The assignments will be due throughout the term. No late submissions will be accepted.

An assignment not handed in receives a mark of 0, unless there is a documented reason. If a documented reason is supplied, the weight of the missing assignment is distributed across the other assignments. A copy of the documented reason must be given to and approved by the instructor.

Group Work Policy

All assignment submissions must be completed individually, unless the assignment is explicitly designated as a group assignment.

A group assignment may be done individually, but it must be understood that the amount of work is greater and no extra marks are given for this additional work.

Assignment Remarking

Attach a sheet of paper to your assignment clearly stating the questions that you want remarked. Include any supporting evidence for your case.

No more than two weeks after the assignment is handed back, return your assignment with the remarking page to your instructor in class or during office hours.

Research Project

The goal of the research project is to select and study an advanced topic in database systems in more detail. The selected topic has to pertain to current research in the field, such as one of the following:

  • Non-traditional database architectures, such as
    • NoSQL databases,
    • NewSQL databases,
    • Graph databases, and
    • Array databases
  • Big Data analysis and database architectures
  • Database systems for cloud computing
  • Secure database architectures
  • Parallel and distributed database architectures
  • Database architectures in scientific computing
  • Hardware accelerations for database operations

Before the project work can commence, a project abstract needs to be submitted and approved by the instructor. Towards the end of the course, each project group will give a presentation in class regarding their research progress. A missed project presentation receives a mark of 0, unless there is a documented reason.

The final research paper will be due at the end of the course. No late submissions will be accepted.

In-Class Discipline

Students are encouraged to attend all lectures, but are required not to be disruptive during lectures, out of respect for their classmates and for the instructor. Disruptive behaviour includes talking with people next to them, texting on a mobile phone, playing YouTube videos, Facebook and Twitter updates, etc. Please ensure that for all mobile phones, such as smartphones, the ringers are turned off or set to vibrate during lectures, to avoid distracting other members of the class. Also note that comments and feedback about the course are welcome, but outside of lecture time.

A student who is found to be disruptive during lectures will be given only one verbal warning for the term. At the instructor’s discretion, if the same student continues to be disruptive, for each incident of disruption, they will be penalized 3% of their final mark for the course, and will be asked to leave the lecture during which the disruption incident occurred. They would also be liable for any missed milestones during the lecture.

Academic Integrity

In order to maintain a culture of academic integrity, members of the University of Waterloo community are expected to promote honesty, trust, fairness, respect and responsibility. Check the Office of Academic Integrity's website for more information.

All members of the UW community are expected to hold to the highest standard of academic integrity in their studies, teaching, and research. This site explains why academic integrity is important and how students can avoid academic misconduct. It also identifies resources available on campus for students and faculty to help achieve academic integrity in — and out — of the classroom.

Grievance

A student who believes that a decision affecting some aspect of his/her university life has been unfair or unreasonable may have grounds for initiating a grievance. Read Policy 70, Student Petitions and Grievances, Section 4. When in doubt please be certain to contact the department’s administrative assistant who will provide further assistance.

Academic Discipline

A student is expected to know what constitutes academic integrity to avoid committing academic offenses and to take responsibility for his/her actions. A student who is unsure whether an action constitutes an offense, or who needs help in learning how to avoid offenses (e.g., plagiarism, cheating) or about “rules” for group work/collaboration should seek guidance from the course professor, academic advisor, or the undergraduate associate dean. For information on categories of offenses and types of penalties, students should refer to Policy 71, Student Discipline.

For typical penalties check Guidelines for the Assessment of Penalties.

Piazza Usage

Please note that posting partial or complete assignment solutions to Piazza in a public post before the assignment deadline is a violation of Policy 71 - Student Discipline. As stated in this policy: "Students are responsible for demonstrating behaviour that is honest and ethical in their academic work. Such behaviour includes: [...] Preventing their work from being used by others, e.g. not lending assignments to others, protecting access to computer files.“

Each instance of violation of Policy 71 will have to be treated as academic misconduct, and corresponding penalties as prescribed by the Faculty of Engineering will have to be applied. Also note that Piazza is not a complaint forum (e.g., complaints about assignment marking). If you have a concern about anything to do with the course, please address your concern directly with the course TA or with the instructor, as appropriate.

Appeals

A decision made or penalty imposed under Policy 70, Student Petitions and Grievances (other than a petition) or Policy 71, Student Discipline may be appealed if there is a ground. A student who believes he/she has a ground for an appeal should refer to Policy 72, Student Appeals.

AccessAbility Services

AccessAbility Services, located in Needles Hall, Room 1132, collaborates with all academic departments to arrange appropriate accommodations for students with disabilities without compromising the academic integrity of the curriculum. If you require academic accommodations to lessen the impact of your disability, please register with them at the beginning of each academic term.