COMS 3630: Introduction to Database Management Systems

Course
Computer Science
Database
A foundational course on the design, implementation, and optimization of modern database systems.
Published

January 10, 2025

Database Management Systems

Course Description

COMS 3630 offers a comprehensive introduction to database systems, covering both theoretical foundations and practical implementation. Students explore various data models (relational, object-oriented, and semistructured), learn query languages such as SQL and NoSQL, and build full-stack applications that integrate modern database backends with web interfaces.

The course emphasizes database design, optimization, and application development, using tools like MySQL, MongoDB, and Neo4J.
Database Management Systems Overview

Figure: Conceptual overview of database management systems and their core components.

Topics Covered

  • Entity-Relationship (ER) Modeling
  • Relational Model & Relational Algebra
  • SQL Programming and Constraints
  • NoSQL Systems (MongoDB, Neo4J)
  • Schema Normalization & Data Dependencies
  • Database Storage & Indexing
  • Cost Estimation & Query Optimization
  • Transaction Management & Concurrency Control
  • Web Application Integration using SQL APIs & ORMs
  • Application Development using Host Languages (e.g., Python, Java)

My Role

Computer Science Graduate Teaching Assistant (Spring 2023)

As a Teaching Assistant for COMS 3630, I supported over 100 students in understanding key database concepts and building end-to-end data-driven applications. My responsibilities included:

  • Lab Instruction & Demonstrations: Led weekly sessions on topics like SQL programming, ER modeling, and NoSQL databases (MongoDB, Neo4J).
  • Project Mentorship: Guided students through semester-long projects, helping them design schemas, write efficient queries, and integrate databases with web applications.
  • Technical Support: Assisted students in implementing transactions, managing storage, and debugging issues related to query execution and performance.
  • Design Review & Grading: Evaluated assignments and database design submissions, providing constructive feedback aligned with best practices.
  • Office Hours: Offered one-on-one and group-based academic support on database internals, relational algebra, and query optimization strategies.

Learning Outcomes

By the end of the course, students are expected to:

  • Design and implement relational databases using ER modeling and normalization techniques.
  • Develop database-driven applications using SQL, APIs, and ORM frameworks.
  • Work with NoSQL systems including document-based (MongoDB) and graph-based (Neo4J) databases.
  • Understand internal DBMS operations, including query processing, transaction management, and storage optimization.