COMS W4111.001-Introduction to Databases
Columbia University
Fall 2023

Collaboration and Academic Honesty | Project Policies | Project 1 Contest | CourseWorks and Ed Discussion Board | Announcements | Lecture Schedule and Readings | Project 1: Part 1, Part 2, Part 3 | Project 2 | Grading Statistics

Course Description: The course covers what a database system is, how to design databases effectively and in a principled manner, how to query databases, and how to develop applications using databases: entity-relationship modeling, logical design of relational databases, relational algebra, SQL, database application development, database security, and an overview of query optimization and transaction processing. The course offers both programming and non-programming paths for homework and projects, to accommodate students with different programming skills and backgrounds.

Prerequisites:

You need to get permission from the instructor if you do not have these prerequisites. This course is intended for both Computer Science majors as well as nonmajors.

Topics: The fundamentals of database design and application development using databases: entity-relationship modeling, logical design of relational databases, relational data definition and manipulation languages, SQL; object-relational databases; query processing; physical database tuning; transaction processing.

Textbook (optional): Avi Silberschatz, Henry F. Korth, S. Sudarshan: Database System Concepts, Seventh Edition, McGraw-Hill, 2019. ISBN: 9780078022159

Lectures: Tuesdays and Thursdays, 1:10-2:25 p.m. ET, at 301 Pupin

Grades:

Instructor: Prof. Luis Gravano (pronouns: he, him, his)

Instructional Assistants, Office Hours:

The full office hours schedule, including links for online office hours and locations for in-person office hours, are available in a Google Calendar. Please find the link to the Google Calendar in an Announcement on CourseWorks.