Database Design & Implementation
Department of Computer Science
New York University
Schedule
Date | Class | Topics | Notes | Helpful resources | Quiz due | Exercise due |
---|---|---|---|---|---|---|
9/5 | 1 | Welcome | Course intro | Syllabus | ||
9/7 | 2 | Python | - Discord for Education - Python |
Videos: - Python crash course - Set up Visual Studio Code for Python programming Python for Everyone (py4e): - Variables - Conditionals - Functions - Iterations - Strings - Lists - Dictionaries - Tuples |
Intake | - Complete consent form - Join Discord - Create GitHub account |
9/12 | 3 | Plain text data formats | Plain text data formats | - Video: Plain-text data formats - py4e: - Files - Text files code examples |
Python | - Set up Python - Contemporary issues exercise |
9/14 | 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 | |
9/19 | 5 | Workshop - raw data munging | Workshop - raw data munging | Data munging | ||
9/21 | 6 | Spreadsheets | Spreadsheets | |||
9/26 | 7 | Workshop - spreadsheets | Workshop - spreadsheets | Vicky Rampin’s slides | Workshop - raw data munging | |
9/28 | 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 | |
10/3 | 9 | SQL joins | - SQL joins - SQL inner joins - SQL left, right, and reflexive joins |
SQL joins example code | SQL CRUD | Workshop - spreadsheets |
10/5 | 10 | Workshop - SQL | Workshop - SQL | SQL joins | ||
10/10 | n/a | no class (Legislative Day) | ||||
10/12 | 11 | Normalization | Normalization | - A Simple Guide to Five Normal Forms in Relational Database Theory - Database Design, Chapter 12 |
||
10/17 | 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 |
10/19 | n/a | no class (Prof. out) | ||||
10/24 | 13 | Workshop - database design | Workshop - database design | Entity-Relationship Diagrams | ||
10/26 | 14 | Review | Exam 1 review | Exam Practice: - Quiz - GitHub Repository |
||
10/31 | 15 | Exam 1 | Workshop - database design | |||
11/2 | 16 | MongoDB CRUD | - MongoDB setup - MongoDB CRUD |
Video: MongoDB setup NYU CIMS documentation: - MongoDB Database Management on CIMS - Accessing MongoDB on CIMS MongoDB documentation: - MongoDB CRUD Operations - MongoDB db.collection.find() |
||
11/7 | 17 | MongoDB CRUD | MongoDB aggregation | MongoDB documentation: - MongoDB Data Model Design - MongoDB Data Model Examples and Patterns |
||
11/9 | 18 | Workshop - MongoDB | Workshop - MongoDB | MongoDB CRUD | ||
11/14 | 19 | Web apps | - The Web - Intro to HTML |
|||
11/16 | 20 | Web apps | Pymongo & flask | Flask & pymongo documentation: - Flask Quickstart - Pymongo tutorial |
Workshop - MongoDB | |
11/21 | 21 | Workshop - web apps | Workshop - Web app | Web apps | ||
11/23 | n/a | no class (Thanksgiving) | ||||
11/28 | 22 | Jupyter notebooks | Jupyter Notebooks | |||
11/30 | 23 | Pandas | - Pandas |
- 10 minutes to Pandas - Example Jupyter notebooks |
||
12/5 | 24 | Data visualization | Workshop - web app | |||
12/7 | 25 | Workshop - pandas | Workshop - pandas | Pandas | ||
12/12 | 26 | Review | Exam 2 review | Workshop - pandas (No late work accepted beyond this date.) |
||
12/14 | n/a | no class (Prof out) | ||||
TBD | 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 |