Database Design & Implementation
Department of Computer Science
New York University
Schedule
Welcome
Date | Class | Topics | Notes | Helpful resources | Quiz due | Exercise due |
---|---|---|---|---|---|---|
1/23 | 1 | Welcome | - Course intro - Syllabus - Discord for Education |
|||
1/25 | 2 | Python | Python | Python for Everyone (py4e): - Variables - Conditionals - Functions - Iterations - Strings - Lists - Dictionaries - Tuples |
Intake | - Complete consent form - Join Discord - Create GitHub account |
Plain text data
Date | Class | Topics | Notes | Helpful resources | Quiz due | Exercise due |
---|---|---|---|---|---|---|
1/30 | 3 | Plain text data formats | Plain text data formats | py4e: - Files - Text files code examples |
Python | - Set up Python - Contemporary issues exercise |
2/1 | 4 | Data munging | - Text files in Python - Example Python code |
Accessing O’Reilly Safari e-books Big Data Handbook (bdh): - Does This Data Smell Funny? - Data Lurking in Plain Sight |
Text files | |
2/6 | 5 | Workshop - raw data munging | Workshop - raw data munging | Data munging |
Spreadsheets
Date | Class | Topics | Notes | Helpful resources | Quiz due | Exercise due |
---|---|---|---|---|---|---|
2/8 | 6 | Spreadsheets | Spreadsheets | Plain text data feedback | ||
2/13 | 7 | Workshop - spreadsheets | Workshop - spreadsheets | Vicky Rampin’s slides | Workshop - raw data munging |
SQL
Date | Class | Topics | Notes | Helpful resources | Quiz due | Exercise due |
---|---|---|---|---|---|---|
2/15 | 8 | SQL CRUD | SQLite intro | Using SQLite: - What is SQLite? - Uses of SQLite - Building and Installing SQLite (only Precompiled Distributions and An sqlite3 Primer) - The SQL Language - The SELECT Command |
- Spreadsheets - Spreadsheets feedback |
|
2/20 | 9 | SQL joins | - SQL joins - SQL inner joins - SQL left, right, and reflexive joins |
SQL joins example code | SQL CRUD | Workshop - spreadsheets |
2/22 | 10 | Workshop - SQL | Workshop - SQL | SQL joins |
Relational database design
Date | Class | Topics | Notes | Helpful resources | Quiz due | Exercise due |
---|---|---|---|---|---|---|
2/27 | 11 | Normalization | Normalization | - A Simple Guide to Five Normal Forms in Relational Database Theory - Database Design, Chapter 12 |
SQL feedback | |
2/29 | 12 | Entity-relationship diagrams | Entity-Relationship Diagrams | Relational Database Design and Implementation: - Chapter 3 - Why Good Design Matters - Chapter 4 - Entities and Relationships - Chapter 5 - The Relational Data Model |
Normalization | Workshop - SQL |
3/5 | 13 | Workshop - database design | Workshop - database design | Entity-Relationship Diagrams |
Exam 1
Date | Class | Topics | Notes | Helpful resources | Quiz due | Exercise due |
---|---|---|---|---|---|---|
3/7 | 14 | Review | Exam 1 review | Exam Practice: - Quiz - GitHub Repository |
Relational database design feedback | |
3/12 | 15 | Exam 1 | Workshop - database design |
MongoDB
Date | Class | Topics | Notes | Helpful resources | Quiz due | Exercise due |
---|---|---|---|---|---|---|
3/14 | 16 | MongoDB CRUD | - MongoDB setup - MongoDB CRUD |
MongoDB documentation: - MongoDB CRUD Operations - MongoDB db.collection.find() |
Exam 1 feedback | |
3/26 | 17 | MongoDB CRUD | MongoDB aggregation | MongoDB documentation: - MongoDB Data Model Design - MongoDB Data Model Examples and Patterns |
||
3/28 | 18 | Workshop - MongoDB | Workshop - MongoDB | MongoDB CRUD |
Web app implementation
Date | Class | Topics | Notes | Helpful resources | Quiz due | Exercise due |
---|---|---|---|---|---|---|
4/2 | 19 | Web apps | - The Web - Intro to HTML |
MongoDB feedback | ||
4/4 | 20 | Web apps | - Pymongo & flask - Example web app |
Flask & pymongo documentation: - Flask Quickstart - Pymongo tutorial |
Workshop - MongoDB | |
4/9 | 21 | Workshop - web apps | Workshop - Web app | Web apps |
Pandas & Jupyter notebooks
Date | Class | Topics | Notes | Helpful resources | Quiz due | Exercise due |
---|---|---|---|---|---|---|
4/11 | 22 | Jupyter notebooks | Jupyter Notebooks | Web app feedback | ||
4/16 | 23 | Pandas | - Pandas - Example Jupyter notebooks |
10 minutes to Pandas | ||
4/18 | 24 | Data visualization | Workshop - web app | |||
4/23 | n/a | No class (Prof out) | ||||
4/25 | 25 | Workshop - pandas | Workshop - pandas | Pandas |
Exam 2
Date | Class | Topics | Notes | Helpful resources | Quiz due | Exercise due |
---|---|---|---|---|---|---|
4/30 | 26 | Review | Exam 2 review | Exam Practice: - Quiz - GitHub Repository |
Pandas feedback | Workshop - pandas (No late work accepted beyond this date.) |
5/2 | 27 | Exam 2 |
Addenda
Material that is not currently included in the course, but may be of interest to some:
Date | Class | Topics | Notes | Helpful resources | Quiz | Exercise due |
---|---|---|---|---|---|---|
n/a | n/a | Blockchain | Blockchain slides | - Cryptography code examples | Blockchain |