Database Systems Concepts (Fall 2024)

As the first introductory course for databases, this course studies the fundamentals of using and implementing relational database management systems. First, from the user perspective (i.e., how to use a database system), the course will discuss conceptual data modeling, the relational and other data models, database schema design, relational algebra and calculus, and the SQL query language. Further, from the system perspective (i.e., how to design and implement a database system), the course will study data representation, indexing, query optimization and processing, and transaction processing. Finally, we will look at large scale “big-data” processing systems.

This class includes a semester project that satisfies the “Major Project” requirement for the B.S. in Computer Science and Computer Engineering degrees. Students will design the overall goals and requirements of the project with guidance from the instructor. The project will be developed gradually through the semester by producing a project proposal, design, initial demonstration, and final demonstration, presentation, and report. Drawing on skills and knowledge from prior classes, such as Fundamentals of Computing, Discrete Mathematics, Systems Programming and others, the final deliverable of the project will be a working Web Application that will solve some real-world problem.

Prerequisites

Background: Data Structures CSE30331 taken previously or concurrently

Programming: For projects, you will do some significant application programming, with both SQL and some host languages of your choice (e.g., C, C++, Java, PHP). We will not cover programming-specific issues in this course.

Logistics

Class Information

Lecture:
M/W/F 9:25am – 10:15am

138 DeBartolo Hall

Instructor

Dr. Tim Weninger <tweninger@nd.edu>

Office Hours:
Wed 10:15am in 380 Fitzpatrick Hall or by appointment

Teaching Assistants

Emelia Hughes <ehughes8@nd.edu>
Office Hours: Fri 11am-12pm

Maria Milkowski <mmilkows@nd.edu>
Office Hours: Thurs 2:00-3:00pm

Tyler Berg <tberg3@nd.edu>
Office Hours: Tue 10:30-11:30am

TA Office Hours will be held in 150 Fitzpatrick Hall.

Class Forum

Questions about the course material, homework, project, or any other course-related questions should be asked on Canvas. Private questions can be directed to the instructor and/or TAs, but we may ask you to ask it on the forum.

Course Project

There will be a semester-long course project, which involves significant database application programming. The project will be structured with several milestones due during the semester, leading to a demo and write-up near the end of the semester.

Schedule

WeekDateTopicAssignments
1Wed Aug 28No Class[Weninger in Barcelona]
1Fri Aug 30Introduction
2Mon Sep 02ER Model Basics
2Wed Sep 04Special Relationships in ER Diagrams HW1 Out
2Fri Sep 06Project Overview
3Mon Sep 09Web Programming
3Wed Sep 11DB ProgrammingTyler Teaches [Weninger in DC]
3Fri Sep 13No Class [Fr. Bob’s Inauguration]
4Mon Sep 16The Relational Model Stage 0 Due
4Wed Sep 18Relational Model Translation HW1 Due [Solutions]
4Fri Sep 20Functional Dependencies HW2 Out
5Mon Sep 23The Normal Forms Stage 1 Due
5Wed Sep 25Boyce and Codd’s Normal Form Database icon PNG, ICO or ICNS | Free vector icons
5Fri Sep 27Relational Algebra Database icon PNG, ICO or ICNS | Free vector icons
6Mon Sep 30Relational Algebra Expressions Database icon PNG, ICO or ICNS | Free vector icons
6Wed Oct 02Relational Calculus Database icon PNG, ICO or ICNS | Free vector iconsHW 2 Due [Solutions]
6Fri Oct 04SQL Queries Database icon PNG, ICO or ICNS | Free vector iconsStage 2 Due
7Mon Oct 07SQL Subqueries Database icon PNG, ICO or ICNS | Free vector iconsHW3 Out
7Wed Oct 09SQL AggregationDatabase icon PNG, ICO or ICNS | Free vector icons
7Fri Oct 11SQL Aggregation Operators Database icon PNG, ICO or ICNS | Free vector icons
8Mon Oct 14SQL Edits and Foreign Keys Database icon PNG, ICO or ICNS | Free vector icons
8Wed Oct 16Exam ReviewHW3 Due
8Fri Oct 18Exam 1[first page]
9Mon Oct 21Fall Break
9Wed Oct 23Fall Break
9Fri Oct 25Fall Break
10Mon Oct 28Spinning Disks
10Wed Oct 30Indexing Basics HW4 Out
10Fri Nov 01Indexing B+ Tree
11Mon Nov 04Indexing Hashtables
11Wed Nov 06Indexing in SQLStage 3 Due [Signup]
11Fri Nov 08Databases on the DiskHW4 Due [Solutions]
12Mon Nov 11Query Execution / Optimization HW5 Out
12Wed Nov 13Transaction Management
12Fri Nov 15Transaction Logging
13Mon Nov 18HDFS
13Wed Nov 20MapReduceHW5 Due [Solutions]
13Fri Nov 22NoSQL and CAP HW6 Out
14Mon Nov 25Spark
14Wed Nov 27Thanksgiving Break
14Fri Nov 29Thanksgiving Break
15Mon Dec 02Object Relational Mapping
15Wed Dec 04Exam 2 ReviewHW6 Due [Solutions]
15Fri Dec 06Exam 2[first page]
16Mon Dec 09No Class
16Wed Dec 11Project Presentations
16Fri Dec 13Project Presentations
17 Mon Dec 16Finals Week

Requirements

Coursework

ComponentPercentage
Assignments20%
Exam 130%
Exam 230%
Project20%

Assignments

Assignments will typically be due at the end of a particular class period (unless otherwise specified). All assignments shall be uploaded to Gradescope with questions annotated in the system. Unannotated submissions will not receive a grade.

Grades

This table indicates minimum guaranteed grades. Under certain limited circumstances (e.g., an unreasonably hard exam), we may select more generous ranges or scale the scores to adjust.

Total Grade
90-100 A-, A
80-89 B-, B, B+
70-79 C-, C, C+
60-69 D

Polices

Textbooks

Textbooks are not required. However, much of the class material and even some of the homeworks will draw from these and other resources.

Database Systems: The Complete Book, 2nd ed., by Hector Garcia-Molina, Jeffrey D. Ullman, and Jennifer D. Widom.

Lectures

Students should attend all classes. Effective lectures rely on students’ participation to raise questions and contribute in discussions. We will strive to maintain interactive class discussions if possible.

Lecture capture is enabled for this class. This system allows us to record and distribute lectures and other audio and video recordings to you in a secure environment. Because we will be recording in the classroom, your questions or comments may be recorded

Regrading

All requests to change grading of any course work must be submitted to Gradescope within one week of when the grades are made available. Requests must be specific and explain why you feel your work deserves additional credit. Do not ask for a regrade until you have studied and understood our sample solution.

Late Work

All scheduled due dates/times are US Eastern Time. Homework is typically due at the beginning of class on the due date, but check each the assignment for specifics.

Due date/time will be strictly enforced. Missing or late and/or unannotated work gets zero credit. If you are unable to complete an assignment due to illness or family emergency, we will understand but please see the instructor as soon as possible to make special arrangements. All such exceptional cases must be fully documented.

Academic Integrity

Notre Dame Students are expected to abide by Academic Code of Honor Pledge:

As a member of the Notre Dame community, I acknowledge that it is my responsibility to learn and abide by principles of intellectual honesty and academic integrity, and therefore I will not participate in or tolerate academic dishonesty.

All course work that you submit must be efforts of your own (if it is an individual assignment) or of your approved team (if it is a group assignment). Discussion of homework problems is encouraged, but writing solutions together or looking at other students’ solutions is not allowed. Much of the material in this class can be found online. You may look to online sources for guidance, but you must always cite your source(s).

Use of advanced AI systems like ChatGPT is expressly permitted for all assignments, but is unlikely to be helpful. These systems are best used when incorporated with user knowledge and experience, so try to actually learn the material in order to use these tools effectively.