Introduction to Data Management
Description: In this course, we will introduce the basics of modern data management. You will learn about schema design, data modeling, query languages, building database applications, transactions, and many other topics. Through lectures, sections, and assignments, you will learn about and understand how real-world data management systems work, and how they touch upon many aspects of our daily lives.
Questions and Comments: If you have any questions or comments about lecture, sections, assignments, exams, or whatever, post on Ed Discuss. This is the fastest way to get in contact with the 344 staff and your peers. You can post privately to just the staff and anonymously to the whole class if you want to. If you need to talk about anything personal or offline, see us during office hours or email the instructor (smooo @ cs) to set up a meeting. And we love feedback! If you have any concerns, comments, or suggestions let us know through this anonymous feedback tool.
For additional details about the class, please refer to the syllabus.
CSE 344 Staff
cse344-staff @ cs
Alyssa Pittman (instructor)
smooo @ cs
OH: Wed 3:30 - 4:30, CSE 216
Amy Xu
amyxu @ cs
OH: Tues 9:30-10:30, CSE2 153
Andrew Guterman
anguterm @ cs
OH: Thurs 4:00-5:00, CSE2 153
Guna Prasaad
guna @ cs
OH: Fri 9:30-10:30, Allen Center 3rd Floor Breakout
Jack Khuu
jackkhuu @ cs
OH: Mon 5:00-6:00, CSE2 121
Jonathan Leang
jleang @ cs
OH: Mon 2:30-3:30, CSE2 152
Khang Phan
kphan000 @ cs
OH: Thurs 1:30-2:30 CSE2 151
Calendar
(Lecture) MWF, 1:30-2:20, CSE2 G01 (cse344a_au19 @ uw)
Alyssa
(Section AA) Th, 9:30-10:20, GLD 435 (cse344aa_au19 @ uw)
Guna/Andrew
(Section AB) Th, 10:30-11:20, ECE 026 (cse344ab_au19 @ uw)
Khang/Jonathan
(Section AC) Th, 11:30-12:20, MGH 254 (cse344ac_au19 @ uw)
Jack/Jonathan
(Section AD) Th, 12:30-1:20, SAV 131 (cse344ad_au19 @ uw)
Amy/Jonathan
Lecture Resources:
- Sept 25 - Introduction (slides) Reading: 2.1-3
- Sept 27 - SQL basics (slides, demo) Reading: 6.1-2
- Sept 30 - Intro to aggregates (slides, demo) Reading: 6.4
- Oct 2 - Group by + aggregates (slides, demo)
- Oct 4 - Join + aggregates (slides)
- Oct 7 - Subqueries (slides) Reading: 6.3
- Oct 9 - SQL wrap up + Relational Algebra (slides) Reading: 2.4, 5.1-2
- Oct 11 - Relational Algebra (slides, worksheet solutions)
- Oct 14 - Datalog (slides, demo) Reading: 5.3-4
- Oct 16 - Datalog (slides, demo)
- Oct 18 - Design with E/R Diagrams (slides) Reading: 4.1-6
- Oct 21 - Design theory (slides) Reading: 3.1-5
- Oct 23 - Practical data management (slides)
- Oct 25 - Query cost estimation (slides) Optional reading for reference: 15.1,.3,.4.8,.5
- Oct 28 - Review (slides)
- Oct 30 - Midterm
- Nov 1 - Tuning & indexing (slides) Reading: 8.3-4,14.1-1.7, skim 14.2-3
- Nov 4 - Tuning & indexing (slides) Reading: 15.6
- Nov 6 - Transactions: Serializability (slides) Reading: 18.1-2
- Nov 8 - Transactions: Locks (slides) Reading: 18.3, optional reading for reference: 18.4
- Nov 13 - Transactions: Isolation Levels (slides, demo) Reading: 18.4.1-3
- Nov 15 - Parallel Processing (slides) Reading: 20.1
- Nov 18 - MapReduce & Spark (slides) Reading: 20.2
- Nov 20 - Spark & NoSQL (slides)
- Nov 22 - NoSQL & Semi-Structured Data (slides) Reading: https://aws.amazon.com/nosql/ (No need to follow links or read about Dynamo), optional reading: JSON modeling for RDBMS users (skip the "Transforming staging data with N1QL" section at the end, we won't be using CouchDB)
- Nov 25 - SQL++ (slides) Reading: AsterixDB 101
- Nov 27 - SQL++ (slides, demo)
- Dec 2 - NoSQL: Key-Value and Wide Column Stores (slides)
- Dec 4 - NoSQL: Graph DBs (slides)
- Dec 6 - Data Integrity (slides)
Sections Resources:
- Sept 26 - Git and SQLite (slides)
- Oct 3 - Sequel to SQL (slides, worksheet, solution)
- Oct 10 - Sequel to SQL (slides, worksheet, solution)
- Oct 17 - Relational Algebra, Datalog (slides, worksheet, solution)
- Oct 24 - Database Design (slides, worksheet, solution)
- Oct 31 - Cost Estimation Intro (slides, worksheet, solution, cost estimation guide)
- Nov 7 - Cost Estimation (slides, worksheet, solution)
- Nov 14 - Transaction and Isolation Level (slides, worksheet, solution)
- Nov 21 - Parallel Processing and Spark (slides, worksheet, solution)
Assignments
Homework
- HW1 - Sqlite - due Oct 2nd 11 pm (1 week)
- HW2 - Basic SQL Queries - due Oct 9th 11 pm (1 week)
- HW3 - Advanced SQL and Azure - due Oct 18th 11 pm (1 1/3 week)
- HW4 - RA and Datalog - due Oct 25th 11 pm (1 week)
- HW5 - Java Application - due Nov 12 11 pm (1 week + extension)
- HW6 - Java Transactions - due Nov 19 11 pm (1.5 weeks)
- HW7 - Spark - due Nov 27 11 pm (1 week)
- HW8 - Asterix - due Dec 6 11 pm (1 week discounting holiday)
Exams
There will be a midterm (October 30th in class) and a final (December 9, 2:30-4:20 pm, normal meeting room) for this course. You may have handwritten notes for both exams. For the midterm you will be allowed 1 sheet of notes (front and back). For the final you will be allowed 2 sheets of notes (front and back).