nyu-database-design / course-materials

Database Design & Implementation

Department of Computer Science

New York University

Schedule

Date Class Topics Notes Helpful resources Quiz due Exercise due
9/1 1 Welcome Course intro Syllabus    
9/6 2 Python 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/8 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/13 4 Data munging - Text files in Python
- Example Python code
Big Data Handbook (bdh):
- Does This Data Smell Funny?
- Data Lurking in Plain Sight
Text files  
9/15 5 Workshop - raw data munging Workshop - raw data munging   Data munging  
9/20 6 Spreadsheets Spreadsheets      
9/22 7 Workshop - spreadsheets Workshop - spreadsheets Vicky Rampin’s slides   Workshop - raw data munging
9/27 n/a no class        
9/29 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/4 9 SQL joins SQL joins - SQL inner joins
- SQL left, right, and reflexive joins
- SQL joins example code
SQL CRUD Workshop - spreadsheets
10/6 10 Workshop - SQL Workshop - SQL   SQL joins  
10/11 n/a no class        
10/13 11 Normalization Normalization Database Design, Chapter 12    
10/18 n/a no class        
10/20 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/25 13 Workshop - database design Workshop - database design   Entity-Relationship Diagrams  
10/27 14 Review Exam 1 review Exam Practice:
- Quiz
- GitHub Repository
   
11/1 15 Exam 1       Workshop - database design
11/3 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/8 17 MongoDB CRUD MongoDB aggregation MongoDB documentation:
- MongoDB Data Model Design
- MongoDB Data Model Examples and Patterns
   
11/10 18 Workshop - MongoDB Workshop - MongoDB   MongoDB CRUD  
11/15 19 Web apps - The Web
- Intro to HTML
     
11/17 20 Web apps Pymongo & flask Flask & pymongo documentation:
- Flask Quickstart
- Pymongo tutorial
  Workshop - MongoDB
11/22 21 Workshop - web apps Workshop - Web app   Web apps  
11/24 n/a no class        
11/29 22 Jupyter notebooks Jupyter Notebooks      
12/1 23 Pandas - Pandas
- 10 minutes to Pandas
- Example Jupyter notebooks
   
12/6 24 Data visualization       Workshop - web app
12/8 25 Workshop - pandas Workshop - pandas   Pandas  
12/13 26 Review Exam 2 review     Workshop - pandas
No late work accepted beyond this date.
12/21 @12-1:50PM 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 due Exercise due
n/a n/a Blockchain Blockchain slides - Cryptography code examples Blockchain