Principles and techniques for making intelligent use of the massive amounts of data generated in commerce, industry, science, and society. Topics include basic concepts in databases (SQL, relational algebra), indexing and hashing, query processing and optimization, transactions (concurrency control and recovery), parallel and distributed data processing, and selected advanced topics (e.g., Datalog, database theory, data cleaning and integration, stream processing, vector databases). Recommended prerequisites: Computer Science 201; Computer Science 210 or 250 or an introductory database course; or equivalent of the preceding courses or consent of instructor.