CS 7575: A Seminar On Relational Language Design (Spring 2026)
Research Project
During the latter part of the seminar, each student will work on a research project. The project focus should be
vaguely inspired by the topic of this seminar (relational languages and how humans and machines interact with
data,
today or in the future), yet is completely flexible and allows students to explore ideas related to their
existing
PhD research.
The project can be of theoretical or practical nature. Possible directions could be:
- Designing or reasoning about adding a new feature for an existing Query Language (QL).
- Combining ideas from multiple QLs or paradigms to define a new QL.
- Envisioning or prototyping a future interface for human-data (or human-query) interaction.
- Taking a language not usually considered a relational QL (say APL or J) and analyzing its pattern
expressiveness, and evaluating its suitability as QL for relational data.
- Taking a relational language (like Datalog, Relational Algebra, or a language discussed in PART 2 of the seminar
like Rel) and developing a translation to and from the Generalized Tuple
Relational Calculus (GTRC) studied in PART 1. I will provide code for the Abstract Language Representation of
GTRC,
and translations SQL ↔ GTRC to help you get started.
You don't need to solve the problem entirely to do well on the project; outlining a list of attempts, partial
progress, or a concrete action plan if you had more time can all lead to a strong project. A key guiding principle
is that your
choices or options should be well justified and show
a clear structure.
I recommend that you do your project alone, but you can work in a team of two in case there is an exceptionally
strong argument for a joint project, and you are ok with creating a joint project whose level of sophistication is
significantly higher than an individual project (please reach out to me first).
Project Steps and Preliminary Deadlines
Notice steps S1, S2, S3 are not graded and serve only for you to check in often with me and to get feedback and get
enough
help and guidance.
-
Step 1 (Mon, Feb 9): Project ideas:
Please submit a few tentative ideas you are considering for the project on Piazza.
I will create a dedicated project page on Piazza. Please post your project idea as a response to that post. It is
purposefully intended that everyone else can see the project ideas and my feedback (similar to the mini projects).
Later feedback (of the actual project proposal) will then be private via Canvas.
-
Step 2 (Mon, Mar 9): Project proposal:
Prepare a 1-2 page proposal that includes a preliminary title of the project, a short description of the problem
you propose to solve, a brief outline of how you will approach the problem, and how you will evaluate your
results. Please include a prominent figure or example that abstracts in a single figure (or minimal running
example) a motivating scenario solved or modeled in your project, or an abstract representation of the overall
approach of your project (as example, see figure 1 in either this SIGMOD record paper, or in this TODS paper). Do not forget to include a list of
references related to the topic.
Use the 1-column
ACM latex template on Overleaf for your report. It includes a number of useful packages. Use the latex
commands at the end of these instructions to hide unnecessary information from the ACM template and to include line
numbers.
Submit your proposal as PDF on Canvas.
I will read your write-up in Canvas and leave comments and clarifying questions referencing specific line numbers.
-
Step 3 (Mon Mar 30): Intermediate report:
Build upon your proposal and extend it to a 2-5 page document.
This version should include a more detailed description of the problem, more extensive related work, your
progress and the unexpected issues you have encountered so far, and a brief plan for how you plan to continue
your project.
In our updated write-up, please take into account to my earlier comments on your initial project proposal and how you choose to address or why you prefer to ignore them (you can use the "emphasize" macro from below).
This report is still not graded, yet the more information you give me earlier, the better I can help you at a time you
can still make amendments.
Again, submit your intermediate report on Canvas.
-
Step 4 (Mon, April 13 - Thu April 23): Project presentation (20%):
The project presentation counts towards 20% of your grade. Design your presentation for approximately 10-15 min,
yet add backup slides to be able to answer technical questions. The presentation is interactive, thus be prepared
to answer questions during the talk, which may extend the time needed. In case you use PowerPoint, you can
optionally share your PPTX presentation slides in Office 365 online with my Northeastern email until 2 days before
your presentation and I will have a quick pass and add suggestions to your slides. Please use the following naming
conventions for your slides: "cs7575-sp26-[YOUR NAME]-S4-[PROJECT TITLE].pptx".
Please come with your own laptop to present and make sure to test the setup *before* the day you present.
Please include page numbers in your presentation so that I can give slide-specific questions and suggestions.
Submit your final version of your slides (optionally addressing any feedback from the presentation) to Canvas by
the end of the day of your presentation.
-
Step 5 (Mon, April 13 - Thu April 23): Final report (30%):
The final report counts towards 30% of your grade and is due on the day of *your* final presentation. It should be
written like a typical research paper that we have read in class. There is no formal length requirement, but a
good target would be 8-12 pages in the single column ACM format. Don't use "filler" text and focus on clear and precise communication. Please instead include nice minimum examples and illustrating figures.
Please make sure to address any feedback from the presentation and earlier reports as much as possible.
Please use the "emphasize" macro to highlight responses to earlier comments on your project proposals and
presentation and summarize how you choose to address those or why you chose to go a different route (which may
well be completely legit).
Again, submit your final report on Canvas.
If you project includes code and/or Notebooks, you can link to your code online or share the repo.
Some LaTeX and Slide tips
-
If you are not familiar with LaTeX, see this old yet intuitive
LaTeX primer from 2003 or
Wikibooks.
-
Most students today prefer to use Overleaf for their papers.
For those like me to who prefer to work offline, you can easily synch an overleaf project with your computer via
Git.
Then MacTex helps you set up Latex on a Mac,
Miktex helps you set it up on Windows.
-
I recommend using PowerPoint for your presentations.
Office 365 is available free for you at Northeastern University
and allows near real-time collaboration. It also allows me as instructor to add annotations on a draft of your
presentation if you decide to share it with me.
To include formulas in your slides, you can use the native Powerpoint formula editor.
Alternatively LaTeXiT:
a handy equation editor on Mac that you can use to drag or "copy and paste" the equations into your slides.
Required Modifications to ACM template
Please start from the ACM
template "acmart"
and use the following latex commands on the top of your Latex file. It hides unnecessary information from the ACM
template and adds line numbers that I can refer to in my review (it also allows me to add colored comments
into your document as we read your intermediate or final report in case you shared the overleaf document with me).
Please make sure to include an abstract (otherwise the line numbers on the first page may not show up).
-
\documentclass[acmsmall, review=true, screen=true]{acmart}
% screen=true adds colored hyperlinks
\settopmatter{printccs=false, printacmref=false, printfolios=true}
% remove citation below abstract, "printfolios" adds page numbers
\renewcommand\footnotetextcopyrightpermission[1]{}
% removes footnote with conference information
% \acmArticle{111} % don't show black box
\fancyfoot{} % place right after "\begin{document}" to replace the footer
\thispagestyle{empty} % place right after "\maketitle"
\newcommand{\emphasize}[1]{{\color{blue}{#1}}} % macro that allows you to emphasize text (e.g. passages as response to my earlier questions)