CS340 - Databases
Spring 2022
Administrivia
- Instructor: Phillip Kirlin
- Office hours: Mon 3:30-4:30, Tue 9-10, Wed 9-10:30, Thu 3:30-5 in Briggs 209. Also available by appointment.- I’m also available to meet over Zoom during office hours, or to chat over Slack.
 
- Canvas page: Use for Zoom link, grades, and online assignment submissions.
- Syllabus and additional policies.
- Please sign up for our Slack site.
Resources
Calendar
FCDS = A First Course in Database Systems
- Thu, Jan 13
- Introduction
 Slides
- Reading FCDS chapter 1
- Tue, Jan 18
- Data models
 Slides
- Reading FCDS 2.1, 2.2
- Thu, Jan 20
- Relational algebra
 Slides | Handout | Notes
- Reading FCDS 2.4
- Project Milestone 1, due
Thu, Feb 3Wed, Feb 9
- Reading FCDS 2.4
- Tue, Jan 25
- Relational algebra II, SQL
 Notes
- Reading FCDS 6.1
- Homework Homework 1, due Tue, Feb 1
- Reading FCDS 6.1
- Thu, Jan 27
- SQL joins
 Harry Potter database | Queries from class
- Reading FCDS 6.2
- Tue, Feb 1
- SQL subqueries
 Queries from class
- Reading FCDS 6.3
- Thu, Feb 3
- Ice day, no class
- Tue, Feb 8
- Ice day, no class
- Thu, Feb 10
- SQL grouping and aggregation
 Queries from class
- Reading FCDS 6.4
- Tue, Feb 15
- SQL create and update
- Thu, Feb 17
- E/R modeling I
 Slides
- Reading FCDS 4.1
- Homework Homework 2, due Thu, Feb 24
- Reading FCDS 4.1
- Tue, Feb 22
- E/R modeling II
 Slides
- Reading FCDS 4.1-4.3
- Thu, Feb 24
- E/R modeling III
 Slides
- Reading FCDS 4.4
- Tue, Mar 1
- E/R modeling IV
 Slides
 Handout: E/R diagram to schema
- Reading FCDS 4.5
- Homework Homework 3, due Tue, Mar 8
- Project Milestone 2, due Tue, Mar 29
- Reading FCDS 4.5
- Thu, Mar 3
- HTML lab- Lab HTML Lab, due at the end of class
- Tue, Mar 8
- Review for midterm
- Thu, Mar 10
- Midterm
- Tue, Mar 15
- Spring break
- Thu, Mar 17
- Spring break
- Tue, Mar 22
- Flask Lab 1
 Get replit code
- Thu, Mar 24
- Flask Lab 2
 Get replit code
 Lab instructions
- Tue, Mar 29
- Flask Lab 3
 Get replit code
 Lab instructions (Start at day 2)
- Thu, Mar 31
- Functional dependencies I
 Slides
- Reading FCDS 3.1
- Project Milestone 3, due Thu, Apr 7
- Reading FCDS 3.1
- Tue, Apr 5
- Functional dependencies II
 Handout: FD algorithms
 (see previous day for all slides)
- Reading FCDS 3.2
- Thu, Apr 7
- BNCF and normalization
 Slides
- Reading FCDS 3.3
- Tue, Apr 12
- 3NF, multivalued dependencies, 4NF
 Slides
- Reading FCDS 3.5, 3.6
- Thu, Apr 14
- Easter break
- Tue, Apr 19
- Indices and B-trees
 Slides | B-tree deletion
- Reading FCDS 8.3
- Homework Homework 4, due Tue, Apr 26
- Project Milestone 4, due Sun, Apr 24
- Reading FCDS 8.3
- Thu, Apr 21
- Query optimization
 Slides
- Tue, Apr 26
- Transactions
 Slides
- Reading FCDS 6.6
- Homework Homework 5, due Sun, May 1 for extra credit
- Reading FCDS 6.6
- Thu, Apr 28
- Group presentations