CS 7575: A Seminar On Relational Language Design (Spring 2026)

Topics and approximate agenda

This schedule will be updated regularly as the class progresses. Check back frequently. I will post my lecture slides by the end of the day following a lecture (thus the *next* day). Reason is that I often walk away from lecture with ideas on how to improve the slides, and that takes time. Presentation slides by the students will likely be only posted on Piazza.

PART 1: Query Language Foundations

Introduces and compares the core relational languages: SQL, Domain and Tuple Relational Calculus, Relational Algebra, Datalog (including recursion with stratified negation). We also study Relational Diagrams, the semantic concept of Relational Patterns, and the Generalized Tuple Relational Calculus together with its Abstract Language Higraphs (a concept generalizing Abstract Syntax Trees). This part is led by the instructor and establishes a conceptual framework for studying new languages.

PART 2: New Proposals and Ongoing Debates

We discuss recent proposals for alternative languages and data abstractions (including graph query languages). Each student presents one or more papers, followed by an in-class discussion and comparative analysis of the language or proposal.

PART 3: Beyond "traditional" Query Languages

We discuss extensions to the typical relational languages and language not traditionally considered "relational": Answer Set Programming, Disjunctive Logic programming, Integer Linear Programming, APL, J, Pandas, dplyr, SQL++. This part is again led by the instructor.

PART 4: Project presentations





Literature list

PART 1: Query Language Foundations

PART 2: New Proposals and Ongoing Debates

PART 3: Beyond "traditional" Query Languages

Research best practice