March Madness Challenge – Compete, Learn, and Win – Register Now
Course overview
Algorithms are at the center of almost any programming job – particularly in the world of data engineering, where this is a recurring topic in job interviews. In this course, you’ll learn how to assess and model the time and space complexity of algorithms (i.e., how fast they’ll be, how much memory they’ll require), and you’ll learn how to trade memory for speed.
Best of all, you’ll learn by doing – you’ll practice and get feedback directly in the browser. At the end of the course, you’ll put together what you’ve learned in a guided project that tasks you with building indices for a CSV using dictionaries.
Key skills
- Analyzing the time complexity of an algorithm
- Analyzing the space complexity of an algorithm
- Designing algorithms that are optimized to your use-case
Course outline
Introduction to Algorithms [6 lessons]
Time Complexity of Algorithms 2h
Lesson Objectives- Measure the execution time of an algorithm
- Generate random inputs for an algorithm
- Model the execution time of an algorithm
Constant Time Complexity 2h
Lesson Objectives- Identify constant time operations
- Identify how computers manage memory
- Refine computing time complexity models
- Identify hidden function calls in Python.
- Identify how lists and strings are stored in memory
Logarithmic Time Complexity 1h
Lesson Objectives- Explain logarithms and logarithmic complexity
- Apply the binary search algorithm to find elements in sorted lists
Sorting Algorithms 1h
Lesson Objectives- Apply a sorting algorithm
- Identify the time complexity of sorting in Python
Space Complexity 2h
Lesson Objectives- Evaluate the space complexity of an algorithm
- Define the relation between time and space
Guided Project: Building Fast Queries on a CSV 2h
Lesson Objectives- Build indexes for a CSV using dictionaries
Projects in this course
Building Fast Queries on a CSV
For this project, we’ll step into the role of Python developers to build an inventory system for a laptop store. We’ll apply efficient data structures and algorithms to enable fast queries.
The Dataquest guarantee
Dataquest has helped thousands of people start new careers in data. If you put in the work and follow our path, you’ll master data skills and grow your career.
We believe so strongly in our paths that we offer a full satisfaction guarantee. If you complete a career path on Dataquest and aren’t satisfied with your outcome, we’ll give you a refund.
Master skills faster with Dataquest
Go from zero to job-ready
Learn exactly what you need to achieve your goal. Don’t waste time on unrelated lessons.
Build your project portfolio
Build confidence with our in-depth projects, and show off your data skills.
Challenge yourself with exercises
Work with real data from day one with interactive lessons and hands-on exercises.
Showcase your path certification
Share the evidence of your hard work with your network and potential employers.
Grow your career with
Dataquest.


