You'll learn how to:

Start this course today

Build hands-on data skills with interactive exercises and projects.

Sign up

About this course

Algorithms are at the center of almost any programming job. And particularly in the world of data engineering, using efficient algorithms is important enough that it’s a common topic to be quizzed about in job interviews.

In this data engineering course, you’ll learn more about how to assess and model the time complexity of algorithms — i.e., how fast they’ll be. Then, you’ll dig into some work modeling their space complexity — how much memory they’ll require — and learn about how memory can often be traded for speed.

At the end of the course, you’ll be asked to put together what you’ve learned in a guided project that tasks you with building indexes for a CSV using dictionaries.

By the end of the course, you’ll know how to:

  • Analyze the time complexity of an algorithm.
  • Analyze the space complexity of an algorithm.
  • Design algorithms that are optimized to your use-case.

Lessons in this course

Loading lessons....

Thousands of learners have changed their careers with Dataquest


Learners who recommend
Dataquest for career advancement

4.9 stars

Dataquest rating on
G2Crowd and SwitchUp


Average salary boost
for learners who complete a path

Join a community of 1M+ data learners on Dataquest


Sign up for a free account

Get access to hundreds of free lessons.


Choose a course or path

Start anywhere, from beginner topics to advanced concepts.


Learn with hands-on exercises

Learn with real data and build your experience.

Apply your skills

Create projects, build your portfolio, and build your career.

Sign up today