Syllabus

Note:

This is tentative and will evolve based on progress during the semester.

Lecture No. Date Topics
1 19-Jan

Introduction, Course Overview, Foundational Concepts

  • Course overview, assignments, exams, grading, logistics, ...
  • Topics
    • Data, database systems, data models, programming languages, application architectures, user roles.
    • Relational model, keys, schema, schema diagrams.
    • Introduction to SQL, schema, DDL, basic queries.
    • Overview of the Entity-Relationship Model.
  • Reference material: Database Systems Concepts (Silberschatz)
    • Chapter 1.
    • Sections 2.1 through 2.4
    • Sections 3.1, 3.2, 3.3
    • Chapter 6: Sections 6.1, 6.2
2 26-Jan

Relational Model and Algebra
Intro to SQL, Data Modeling,and Applications

  • Topics
    • Relational Model, Relational Algebra.
    • SQL: Data Definition Language
    • SQL: Advanced SELECT clause, Set operations, aggregate functions, updates.
    • Data modeling: ER-Model, entities, relationships, keys, cardinality.
    • Introduction to Pandas. Pandas and SQL.
  • Reference material: Database Systems Concepts (Silberschatz)
    • Sections 3.4 - 3.10
    • Sections 2.4 - 2.6 (continued)
    • Sections 6.3 - 6.8
3 02-Feb

Intermediate SQL,Data Modeling, Applications

  • Topics:
    • SQL: Join, Views, Integrity Constraints, Indexes
    • Data Modeling: Design issues, modeling to relational, advanced topics.
    • Patterns: Inheritance, Aggregation, ...
  • Reference material: Database Systems Concepts (Silberschatz)
    4 09-Feb

    Advanced SQL, Data Modeling Patterns, Applications

    • Topics
      • Functions, Procedures, Triggers.
      • Recursive queries, Window Functions.
      • Cursors, Connections, Transactions, Isolation Levels.
    • Reference material: Database Systems Concepts (Silberschatz)
      • Chapter 5
    5 16-Feb

    Example Use Cases and Scenario Implementation

    • Modeling and implementing Columbia University course, sections, ... ...
    • Improving and optimizing IMDB data, ... ...
    • Other models TBD
    6 23-Feb

    Normalization, De-normalization, Design Patterns

    • Topics
      • Relational design objectives and issues.
      • Functional dependencies.
      • Normal forms.
      • Normalization tradeoffs and examples.
    • Reference material: Database Systems Concepts (Silberschatz)
      • Chapter 7.
    7 01-Mar

    Data Storage, Indexes, Query Processing, Transactions

    • Topics
      • Data storage media, formats and data structures.
      • Indexes.
      • Query processing.
      • Transactions, isolation/currency control, recover.
    • Reference material: Subset of material in chapters 12-19.
    8 08-Mar

    No SQL, Cloud Databases (1)

    • Topics
      • No SQL concepts and motivation.
      • CAP "Theorem". Consistency, eventual consistency.
      • Scale-up versus Scale-out.
      • Graph databases, Neo4j.
    • Reference material:
    - 15-Mar

    No class. Spring break.

    9 22-Mar

    NoSQL, Cloud Databases (II)

    • Topics
      • Topics
        • Document DBs: MongoDB, DynamoDB
        • Key Value: Redis
        • Time Series DB: TBD
      • Reference material:
    10 29-Mar

    Big Data, Data Insight (I)

    • Topics
      • Data warehose, data lake
      • De-normalization
      • OLAP
    • Reference material:
    11 05-Apr

    Big Data, Insights (II)

    • Topics
      • MapReduce, Hadoop, Sparq, AWS Glue
      • Dashboard, analysis techniques
    • Reference material
    12 12-Apr

    Python Ecosystem, examples

    • Topics
      • Jupyter
      • Pandas
      • Plotly, Map Plot Lib
      • ScitKit
      • ... ...
    • Reference material
      • TBD
    13 19-Apr

    Overflow, Summary

    • Topics
    • Reference material
      • TBD
    14 26-Apr

    Overflow, Summary

    • Topics
    • Reference material
      • TBD