Overview

Who are we?

Hello, I’m Azza Abouzied. I’m an associate professor of Computer Science and a database systems researcher. Our instructor for this course is Anh Mai, currently a databases systems PhD candidate and was in your shoes a few years ago taking this very class.

Why study database systems?

Here is a short video on why you should take a database systems course.

Here are some links to short talks that may inspire you to use what you eventually learn from this course to solve some of society’s problems or to build some really cool tech:

  • Misinformation & what to do about it: Can we rethink how we design our data infrastructure to better protect against the spread of misinformation or fake news? Listen to this TED talk on how technology and humans interact in the complex societal problem of fake news.
  • The queryable planet: Suppose you have a database of satellite images taken periodically of the whole earth. Now think of adding on that database the power to visually query this database: e.g. how many planes are on Abu Dhabi’s airport tarmac? Are there more or less planes than last years? How many commercial fishing boats are in the pacific ocean? Listen to the TED talk.

What will you learn in this course?

This course is on the design and implementation of disk-oriented database management systems. This is not a course on how to use a database to build applications or how to administer a database. Both NYU Courant and Tandon offer courses on Database and Web Applications.

While we primarily look at Database system internals, the first few lectures will introduce the relational model and SQL. So you will learn how to use a database but in a much shorter time frame than application courses.

In the following short video I introduce the topics and overall structure of the course.

How this course works?

This course is flipped. The online book will have roughly 12 chapters or modules spread out over the 14 weeks of the semester. Each module covers a specific topic. Some of the material will be discussed with short, 10 minute or less videos. Other material will be covered through the reading materials.

Required reading materials will be listed in each module as follows:

COWS Chapter 1

Optional reading materials will be listed as follows:

Redbook Chapter 1

We will refer to the course textbook as “COWS” because of the random cows on the cover page. You can refer to this book as “Dates and Coffee.” The redbook is a collection of foundational papers in the field organized into thematic chapters. Each chapter starts with a commentary on the papers in the chapters. Sometimes I will assign a paper from the redbook or just the commentary for reading.

You should try and read the optional materials but I understand that things can get hectic and you may not have the time to go over them. These optional readings, however, will definitely enrich your understanding of the subject or introduce different perspectives on the topic.

Each module will have an assessment that needs to be completed at the end of the week. You can take the assessment any time during the week and it is not timed. You can submit the assessment as many times as you want before the deadline. Links to the assessments will be listed as follows:

Complete the intake survey on Gradescope.

The links will take you to Gradescope. If you are not enrolled in the course in Gradescope, you can use this code to self-enroll: PG84BN. Please go ahead and complete this initial, zero-credit, intake-survey assessment. It will help me better understand your background, your familiarity with database systems, and your readiness for the programming-intensive nature of this course.

Assessments are to help you stack on track with the material and you should use them as a learning guide: Am I able to answer these questions without issue? If not, what do I need to read more, dig deeper into, talk to my peers about or the instructors (i.e. me and Anh) about? Complete them by the deadline. They are a mix of short and multiple-choice questions that assess how well you understood the material for each week. The assessments are low stakes and you will not be receiving extensive feedback on but if we realize a pattern of students falling short in some questions, we will go over them in class through a patch-the-gap session.

In addition to assessments, there are labs and problem sets. We will let you know when we release those and their due dates.

Further course details can be found in the course syllabus.

There will also be a midterm and a final exam. While I’m not a fan of timed assessments. As AI shortcuts makes it really hard to discern learning from just effective use of AI, these will serve as a more accurate measure of your learning. The good news is that if you keep up with the weekly assessments, complete you readings and keep your own notes, ask questions and actively participate in class discussions, you will do fine. Sometimes you may not do well but don’t fret, take the hit and do better the next time: our goal is to make you lifelong database systems enthusiasts and learners.

Acknowledgements

I am grateful to my past and current students of this course for providing invaluable feedback that has helped me improve the content and delivery of this course.