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 |