“Without Dataquest, I wouldn’t have learned as quickly, and maybe I would have overlooked different options to tackle the database migration. It helped me tremendously in getting a good overview of what knowledge I needed and what kind of functions and libraries were useful for setting up the database migration.”

#### Solange van der Kolff

Software Engineer @Livit Orthopedie

## 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

### 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

### Guided Project: 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 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.

Share the evidence of your hard work with your network and potential employers.

98%
of learners recommend
4.85
Dataquest rating
SwitchUp Best Bootcamps
\$30k
Average salary boost
for learners who complete a path

### Aaron Melton

“Dataquest starts at the most basic level, so a beginner can understand the concepts. I tried learning to code before, using Codecademy and Coursera. I struggled because I had no background in coding, and I was spending a lot of time Googling. Dataquest helped me actually learn.”

### Jessica Ko

#### Machine Learning Engineer at Twitter

“I liked the interactive environment on Dataquest. The material was clear and well organized. I spent more time practicing then watching videos and it made me want to keep learning.”

### Victoria E. Guzik

#### Associate Data Scientist at Callisto Media

“I really love learning on Dataquest. I looked into a couple of other options and I found that they were much too handhold-y and fill in the blank relative to Dataquest’s method. The projects on Dataquest were key to getting my job. I doubled my income!”

1

2

3

4