knowledge-kitchen / courses

Database Design & Implementation

Department of Computer Science

New York University

Schedule

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