CS 348: Introduction to Database Systems  

Spring 2025

Instructor: Xiao Hu



This course is an introduction to database management systems (DBMSs), which are the core software systems that applications use to store, manage, query, and manipulate very large-scale data efficiently. The course covers three core topics: While topics under (1) and (2) are topics from the perspective of DBMS users and administrators, and teach students how to use DBMSs efficiently in practice, topics under (3) is from the perspective of system engineers that actually implement the DBMS, and aims to engage students interested in the low-level implementations of the core data structures, algorithms, and protocols DBMSs use to support higher-level applications.

Required: Database System Concepts (DSC) (Seventh Edition) Abraham Silberschatz, Henry F. Forth and S.Sudarshan, McGraw Hill. 
Optional: Data Intensive Applications (DIA), Martin Kleppman (First Edition), O'Reilly 


LEC 001    08:30-09:50 AM T-Th    MC 2035    Xiao Hu
LEC 002    01:00-02:20 PM T-Th    MC 1056    Xiao Hu
LEC 003    02:30-03:50 PM T-Th    MC 1056    Xiao Hu



Week Lecture Topics & Slides Readings Dates Important Dates
1 Overview of DBMSs, Course Overview, Administrative Information [lecture1.pdf] DSC Ch 1 Tue, May 6
Relational Model (1) [lecture2.pdf] DSC Ch 2 Thu, May 8
2 Relational Model (2) [lecture3.pdf] DSC Ch 2 Tue, May 13 Assignment 1 Release
SQL (1) [lecture4.pdf] DSC Ch 3 Thu, May 15
3 SQL (2) [lecture5.pdf] DSC Ch 3 Tue, May 20
SQL (3) [lecture6.pdf] DSC Ch 4 Thu, May 22 Project Milestone 0 Due
4 SQL (4) [lecture7.pdf] DSC Ch 4 Tue, May 27
SQL (5) [lecture8.pdf] DSC Ch 5 Thu May 29 Assignment 1 Due
Sun, Jun 1 Assignment 1 Due
5 DB Design (1): E/R Model [lecture9.pdf] DSC Ch 6 Tue, Jun 3 Assignemnt 2 Release
DB Design (2): E/R Translation [lecture10.pdf] DSC Ch 6 Thu, June 5
6 DB Design (3): Theory [lecture11.pdf] DSC Ch 7 Tue, June 10
DB Design (4): Theory [lecture12.pdf] DSC Ch 7 Thu, June 12
7 Midterm Review [midterm-review.pdf] Tue, Jun 17
Physical Data Storage [lecture13.pdf] DSC Ch 12 - Ch 13 Thu, June 19 Project Milestone 1 Due
8 Indexing (1) (Guest) [lecture14.pdf] DSC Ch 14 Tue, Jun 24 Assignment 2 Due
Indexing (2) (Guest) [lecture15.pdf] DSC Ch 14 Thu, Jun 26 Assignment 3 Release
Midterm Exam
Time: 4:30 PM - 6:00 PM
Location: M3 1006 and STC 0040
Fri, Jun 27
9 No Class Tue, July 1
Query Processing & Optimization (1) [lecture16.pdf] DSC Ch 15 - Ch 16 Thu, July 3
10 Query Processing & Optimization (2) [lecture17.pdf] DSC Ch 15 - Ch 16 Tue, July 8 Project Milestone 2 Due
Query Processing & Optimization (3) [lecture18.pdf] DSC Ch 15 - Ch 16 Thu, Jul 10
11 Transactions DSC Ch 17 - Ch 18 Tue, Jul 15
Concurrency & Recovery DSC Ch 18 - Ch 19 Thu, Jul 17
12 Project demos Mon, Jul 21 - Thu, Jul 24 Assignment 3 Due on Tue, Jul 22
13 Final Review Tue, Jul 29 Project Report Due
14 Final Exam
Time: 4:00 PM - 6:30 PM
Location: TBD
Tue, Aug 5

Note that the schedule is tentative and subject to change. We may consider online mode for the class for special situations.



Assignment Date Posted Due (11:59pm EDT/EST) Hand In Via Markers
1 (Lectures 1-7) Tue, May 13 Thu, May 29
Sun, Jun 1
Crowdmark; Marmoset TBD
2 (Lectures 4-12) Tue, Jun 3 Tue, Jun 24 Crowdmark; Marmoset TBD
3 (Lectures 13-20) Thu, Jun 26 Tue, Jul 22 Crowdmark TBD

Instructions for Assignments: Your written solutions will be judged not only for correctness but also for the quality of your presentation and explanations.

Collaboration Policy: The work you hand in must be your own. Unless specified otherwise, you can always use any result from the textbook, notes, or previous assignment just by citing it. You may discuss the assignment questions verbally with others, but you should come away from these discussions with no written or electronic records and you must acknowledge the discussion. Acknowledge any sources you have used. Any assistance received (from human or nonhuman sources) that is not given proper citation may be considered a violation of the university policies.

Late Policy for Assignments: For the first 2 extra days after the deadline, you lose 5% worth of marks for each day. So if you're 1 day late, 5% worth of marks are subtracted from your marks. If you're 2 days late, 10% worth of marks are subtracted from your marks. If you are 3+ days late, you do not get any marks.



The group project is optional. You can choose between doing the group project or having higher weighted exams (refer to the Mark Breakdown section below).

Learn will be used to submit the group project. Detailed instructions will be given in week 2.

Milestone Due (11:59pm EDT/EST)
0 (Team up) Thu, May 22
1 (Proposal) Thu, Jun 19
2 (Midterm Report) Tue, Jul 8
3 (Demo) Mon, Jul 21 - Thu, Jul 24
3 (Final Report & Code) Tue, Jul 29
Assessment-type Switching Cutoff Thu, Jun 19

You have until June 19 to switch between the exam- or project-based grading schemes. After June 19, the teams in the project-based grading cannot switch to the exam-based assessment. Individuals dropping out of the project-based grading must receive consent from the other team members (cc-ed in an email to the IA, ISC, and the instructor); if the team size reduces to below 4 afterwards, the entire team will be switched to the exam-based grading.

Late Policy for Projects: similar to assignments, for each project milestone, for the first 2 extra days, you lose 25% of your marks for that milestone. So if you're 1 day late, 25% worth of marks are subtracted from your marks. If you're 2 days late, 50% worth of marks are subtracted from your marks. If you are 3+ days late, you do not get any marks for that milestone.



We will use Piazza for all course announcements and as a forum for students to ask and answer questions. So you should enroll yourself at your earliest convenience. During Piazza discussions, please do not reveal the solutions to the assignments by requesting or offering detailed advice. We'll delete comments that reveal too much. Violations can result in academic sanctions.

Similarly, do not solicit hints or provide hints about how to solve the homework problems on other bulletin boards, such as Facebook. Violations can result in academic sanctions.

Piazza is not the place to dispute how assignments are marked. If you have a complaint, please follow the process given below.



Instructor Email (@uwaterloo.ca) Office Hours
Xiao Hu  (xiaohu) Tuesday, 10:00 AM - 11:00 AM (DC 3353)

Instructional Apprentices and Teaching Assistants Email (@uwaterloo.ca)
Guy Coccimiglio (IA)  (gccoccim)
Nimmi Rashinika Weeraddana (IA)  (nrweerad)
Zhengyuan Dong (z6dong)
Lasantha Fernando (m34ferna)
Mayank Jasoria (mjasoria)
Boyi Li (b352li)
Christina Li (c296li)
Amin Rezaei (a27rezae)
Zhiang Wu (z46wu)
Shufan Zhang (s693zhan)
Instructional Support Coordinator Email (@uwaterloo.ca)
Sylvie Davies (sldavies)

Mark breakdown

Two marking schemes, depending on whether you choose to do the group project:

Note: Students are not required to pass the exams in order to pass the course. The only requirement is achieving a sufficient overall cumulative score. However, if a student misses the midterm or final exam without validation, they will automatically fail the course, regardless of their cumulative score. If a student must miss an exam due to illness or another valid and verifiable reason, they should follow Verification of Illness Services and contact Sylvie Davies (CS 348 ISC). In such cases: if the midterm exam is missed, its weight will be automatically transferred to the final exam; if the final exam is missed, the student will need to retake it in a future offering of the course.

Points of contact for common questions

Note: If you decide to e-mail the course staff, you must use your uwaterloo Quest e-mail account (WatIAM/Quest userID @uwaterloo.ca); otherwise we cannot verify who you are and are limited on what we can accept and respond to.


Help Topic Contact
Assignment: Missed Deadline We do not accept emailed assignments. The last files submitted before the deadline will be marked (submit early and often, even if not finished).
If the deadline is missed due to illness or other valid, verifiable reason, see Missed Work Due To Illness below.
Assignment: Marking Error Re-mark request, due within one week of release of marks on CrowdMark/Marmoset. Contact the IA and TA who marked the specific question and submit a written request. See TAs for contact information.
Assignment: Recording Error Grades will be made available through Crowdmark. Official marks will finally be on Learn. If you notice an error in the recorded value, please contact Sylvie Davies (CS 348 ISC).
Enrollment If Quest won't let you enroll or switch LEC or TUT sections without a permission/override number: Instructors and course staff are unable to help you — you must see a CS academic advisor.
General Course Help Check office hours.
Missed Work due to Illness or Valid & Verifiable Reason (Assignments, Exams) Validation required. See Verification of Illness Services but contact Sylvie Davies (CS 348 ISC) for references instead of the instructor.
Accessibility Services (AAS) exam accommodation forms (request to write at AAS) Submit to AAS at least 3 weeks before exam


Plagiarism

Plagiarism is a very serious academic offence and is penalized accordingly. When you plagiarize you damage the learning experience for yourself and others. To avoid plagiarism accusations, do not copy other people's work, and cite all references that you use. If you work with others, only discuss general aspects of the course material, not specific solutions. Write up the solutions yourself, not in groups.

Mental Health Resources

Mental Health: If you or anyone you know experiences any academic stress, difficult life events, or feelings like anxiety or depression, we strongly encourage you to seek support.

On-campus Resources

Off-campus Resources

Diversity: It is our intent that students from all diverse backgrounds and perspectives be well served by this course, and that students’ learning needs be addressed both in and out of class. We recognize the immense value of the diversity in identities, perspectives, and contributions that students bring, and the benefit it has on our educational environment. Your suggestions are encouraged and appreciated. Please let us know ways to improve the effectiveness of the course for you personally or for other students or student groups. In particular:

University Policies (University required text)

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. All members of the UW community are expected to hold to the highest standard of academic integrity in their studies, teaching, and research. The Office of Academic Integrity's website ( http://www.uwaterloo.ca/academicintegrity) contains detailed information on UW policy for students and faculty. 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, http://www.adm.uwaterloo.ca/infosec/Policies/policy70.htm .

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. When misconduct has been found to have occurred, disciplinary penalties will be imposed under Policy 71 - Student Discipline. For information on categories of offenses and types of penalties, students should refer to Policy 71 - Student Discipline, http://www.adm.uwaterloo.ca/infosec/Policies/policy71.htm.

Avoiding Academic Offenses:
Most students are unaware of the line between acceptable and unacceptable academic behaviour, especially when discussing assignments with classmates and using the work of other students. For information on commonly misunderstood academic offenses and how to avoid them, students should refer to the Faculty of Mathematics Cheating and Student Academic Discipline Policy, https://uwaterloo.ca/math/current-undergraduates/regulations-and-procedures/cheating-and-student-academic-discipline-guidelines.

MOSS (Measure of Software Similarities) is used in this course as a means of comparing students' assignments to ensure academic integrity. We will report suspicious activity, and penalties for plagiarism/cheating are severe. Please read the available information about academic integrity very carefully.

Discipline cases involving any automated marking system such as Marmoset include, but are not limited to, printing or returning values in order to match expected test results rather than making an actual reasonable attempt to solve the problem as required in the assignment question specification.

Appeals:
A student may appeal the finding and/or penalty in a decision made under Policy 70 - Student Petitions and Grievances (other than regarding a petition) or Policy 71 - Student Discipline if a ground for an appeal can be established. Read Policy 72 - Student Appeals, https://uwaterloo.ca/secretariat/policies-procedures-guidelines/policy-72 .