This is a tentative syllabus for the course. Links will be added regularly with topics and assignments. Notes will be provided for each class, linked from the date. Unless otherwise indicated, chapter references are to the textbook Database System Concepts, 7th edition, by Silberschatz, Korth, and Sudarshan. Feedback is appreciated — typos, suggestions for more detailed explanations, additional examples, etc.

Date Topic Subtopics Chapter Out Due
Mar 30 Intro Logistics, intro to databases skim 1.1-1.10 Lab 0
Apr 1 Intro to the relational model Relational databases design, relational algebra, intro to SELECT, NYC open data 2-2.6, 3.3-3.3.1, 3.4 Lab 0
Apr 3 Aggregation Aggregate functions, grouping, nested queries 3.6-3.8 Lab 1
Apr 6 Multiple table CRUD Inserting/updating/deleting rows, keys, relational algebra part 2, joins 3.1-3.3, 3.9-3.10
Apr 8 Joins Conditionals, natural, inner, outer, left, right joins 4-4.1 Lab 2 Lab 1
Apr 10 Intermediate SQL Views, transactions, integrity constraints 4.2-4.6
Apr 13 Advanced SQL Stored functions and procedures, triggers 5.2-5.3
Apr 15 Access via programming languages Python, web APIs, node.js 5.1 Lab 2
Apr 17 Security Authorization, sql injection attacks, salt & pepper, password cracking 4.7 Lab 3
Apr 20 ER models Tables, relationships, attributes, reduction to relational schemas 6.1-6.7, 6.10 Select teams
Apr 22 Advanced data modeling Entity inheritance, selecting keys, time variant data 6.8, 6.9, 6.11
Apr 24 Normalization First, second, third normal forms (and more!) skim 7.1-7.9
Apr 27 midterm Lab 3
Apr 29 Project meetings Project plan
May 1 Guest speaker: Hedge fund ops Charlie Veneziano
May 4 Transactions/concurrency Inconsistencies, ACID properties, locks, concurrency control 17.1-17.6, 18.1-18.2
May 6 Data analytics/warehousing Business intelligence, data warehousing, star schemas, fact/dimension tables 11.1-11.3
May 8 Guest speaker: Data visualization Mark Permann
May 11 Data storage/retrieval Data persistence, database file organization, indexing 14.1-14.3 Project EERD
May 13 Query processing/optimization Query cost, select, sort, join 15.1-15.5.4
May 15 Guest speaker: IoT Emily Lyons Soelberg
May 18 Parallel and distributed systems Parallel and distributed systems, Mongo intro 20.1-20.5
May 20 NoSQL/Mongo CRUD Mongo documents, JSON, CRUD operations skim 10.2-10.6, 20.7
May 22 MongoDB schema design One-to-few, one-to-many, one-to-lots
May 25 Memorial day No class
May 27 Guest speaker: Block chain Dr. Ira Ray Jenkins 26.1-26.5
May 29 Project presentations Project write up
Jun 1 Project presentations
Jun 3 Project presentations