## Path overview

In this path, you’ll learn how to master mandatory data scientist technical skills, including object-oriented and functional programming with Python, libraries like scikit-learn, Matplotlib, NumPy, and pandas. You’ll also master web scraping and SQL queries, deep learning and machine learning, and predictive analysis. To help you stand out from other candidates, we included concepts such as the UNIX command line, Git, and GitHub to develop efficient collaboration.

Best of all, you’ll learn by doing — you’ll write code and get feedback directly in the browser. You’ll apply your skills to several guided projects involving realistic business scenarios to build your portfolio and prepare for your next interview.

## Key skills

- Programming with Python to perform complex statistical analysis of large datasets
- Performing SQL queries and web-scraping to explore and extract data from databases and websites
- Building insightful data visualizations to tell stories
- Automating machine learning algorithms and build predictive modeling processes

## Path outline

###
**Part 1: ** Python Introduction [4 courses]

### Introduction to Python Programming 3h

Objectives- Write computer programs using Python
- Save values using variables
- Process numerical data and text data
- Create lists using Python

### Basic Operators and Data Structures in Python 5h

Objectives- Use for loops to repeat processes and conduct data analysis
- Implement if, else, and elif statements in programming logic
- Employ logical and comparison operators in Python
- Develop and update Python dictionaries for data manipulation
- Construct frequency tables using dictionaries for data analytics

### Python Functions and Jupyter Notebook 5h

Objectives- Write Python functions
- Debug functions
- Define function arguments
- Write functions that return multiple variables
- Employ Jupyter notebook
- Build a portfolio project

### Intermediate Python for Data Science 8h

Objectives- Clean and analyze text data
- Define object-oriented programming in Python
- Process dates and times

###
**Part 2: ** Data Analysis and Visualization [3 courses]

### Introduction to Pandas and NumPy for Data Analysis 13h

Objectives- Improve your workflow using vectorized operations
- Select data by value using Boolean indexing
- Analyze data using pandas and NumPy

### Introduction to Data Visualization in Python 8h

Objectives- Visualize time series data with line plots
- Define correlations and visualize them with scatter plots
- Visualize frequency distributions with bar plots and histograms
- Improve your exploratory data visualization workflow using pandas
- Visualize multiple variables using Seaborn's relational plots

### Telling Stories Using Data Visualization and Information Design 5h

Objectives- Create graphs using information design principles
- Create narrative data visualizations using Matplotlib
- Create visual patterns using Gestalt principles
- Control attention using pre-attentive attributes
- Employ Matplotlib's built-in styles

###
**Part 3: ** Data Cleaning [3 courses]

### Data Cleaning and Analysis in Python 11h

Objectives- Employ data aggregation techniques
- Combine datasets
- Transform and reshape data
- Clean strings and resolve missing data

### Advanced Data Cleaning in Python 9h

Objectives- Clean and manipulate text data using regular expressions
- Employ lambda functions and list comprehension with pandas
- Resolve missing data

### Data Cleaning Project Walkthrough 7h

Objectives- Complete a data cleaning project from start to finish
- Improve your data cleaning skills

###
**Part 4: ** The Command Line [2 courses]

### Command Line for Data Science 4h

Objectives- Employ the command line for data science
- Define important command line concepts
- Modify the behavior of commands with options
- Navigate the filesystem
- Employ glob patterns and wildcards
- Manage users and permissions

### Text Processing for Data Science 4h

Objectives- Read and explore documentation
- Inspect files
- Perform basic text processing
- Define different kinds of output
- Redirect and pipe output
- Employ streams and file descriptors

###
**Part 5: ** Working with Data Sources Using SQL [6 courses]

### Introduction to SQL and Databases 5h

Objectives- Define the structure of SQL
- Create basic queries to extract data from tables in a database
- Define databases
- Identify different versions of SQL
- Write good SQL code

### Summarizing Data in SQL 3h

Objectives- Employ SQL to compute statistics
- Provide statistics by group
- Filter results over groups

### Combining Tables in SQL Course 3h

Objectives- Combine tables using inner joins
- Employ different types of joins
- Employ other SQL clauses with joins
- Join on complex conditions
- Employ set operators like UNION and EXCEPT

### Querying Databases with SQL and Python 2h

Objectives- Connect to a SQLite database using Python
- Query a SQLite database using Python
- Convert data from a SQLite database to a Pandas dataframe

### SQL Subqueries 6h

Objectives- Nest a query inside another query
- Employ different types of subqueries
- Employ common table expressions
- Scale your project with complex queries

### Window Functions in SQL 5h

Objectives- Set up a frame for window functions
- Compute running aggregations with aggregate window functions
- Explore rank window functions
- Apply distribution window functions
- Use offset window functions

###
**Part 6: ** APIs and Web Scraping in Python [2 courses]

### Introduction to APIs and Web Scraping in Python 4h

Objectives- Query external data sources using an API
- Scrape data from the web

### Data Analysis for Business in Python 6h

Objectives- Resolve fuzzy language
- Identify the business context of data science
- Communicate with a non-technical audience
- Define metrics

###
**Part 7: ** Probability and Statistics [5 courses]

### Introduction to Statistics in Python 9h

Objectives- Sample data using simple random sampling, stratified sampling, and cluster sampling
- Measure variables in statistics
- Create frequency distribution tables

### Intermediate Statistics in Python 8h

Objectives- Summarize a distribution using the mean, the weighted mean, the median, or the mode
- Measure the variability of a distribution using the variance and the standard deviation
- Compare values using z-scores

### Introduction to Probability in Python 4h

Objectives- Estimate theoretical and empirical probabilities
- Employ the fundamental rules of probability
- Employ combinations and permutations

### Introduction to Conditional Probability in Python 6h

Objectives- Assign probabilities based on conditions
- Assign probabilities based on event independence
- Assign probabilities based on prior knowledge
- Create spam filters using multinomial Naive Bayes

### Hypothesis Testing in Python 4h

Objectives- Perform a permutation test
- Perform significance testing to understand an outcome's importance
- Define regular and multi-category chi-squared tests

###
**Part 8: ** Machine Learning In Python [9 courses]

### Introduction to Supervised Machine Learning in Python 8h

Objectives- Establish a machine learning workflow
- Implement the K-Nearest Neighbors algorithm for a classification task from scratch using Pandas
- Implement the K-Nearest Neighbors algorithm using scikit-learn
- Evaluate a machine learning model
- Find optimal hyperparameter values using grid search

### Introduction to Unsupervised Machine Learning in Python 5h

Objectives- Identify applications of unsupervised machine learning
- Implement a basic k-means algorithm
- Evaluate and optimize the performance of a k-means model
- Visualize the model
- Build a k-means model using scikit-learn

### Calculus For Machine Learning 2h

Objectives- Define mathematical functions using calculus
- Employ intermediate machine learning techniques

### Linear Algebra For Machine Learning 3h

Objectives- Define linear systems using linear algebra
- Employ intermediate machine learning techniques

### Linear Regression Modeling in Python 4h

Objectives- Describe a linear regression model
- Construct a linear regression model and evaluate it based on the data
- Interpret the results of a linear regression model
- Use a linear regression model for inference and prediction

### Gradient Descent Modeling in Python 3h

Objectives- Code a basic Gradient Descent algorithm
- Recognize the limitations of basic Gradient Descent
- Contrast the basic Batch and Stochastic Gradient Descent uses
- Visualize Stochastic Gradient Descent using Matplotlib
- Apply Stochastic Gradient Descent in Python using Scikit Learn

### Logistic Regression Modeling in Python 3h

Objectives- Describe a logistic regression model
- Construct a logistic regression model and evaluate it based on the data
- Interpret the results of a logistic regression model
- Use a logistic regression model for inference and prediction

### Decision Tree and Random Forest Modeling in Python 6h

Objectives- Create, customize, and visualize decision trees
- Use and interpret decision trees on new data
- Calculate optimal decision paths
- Optimize trees by altering their parameters
- Apply the random forest prediction technique

### Optimizing Machine Learning Models in Python 4h

Objectives- Distinguish between different optimization techniques
- Identify the best optimization approach for your project
- Apply optimization methods to improve your model
- Employ machine learning tools on various optimization methods

###
**Part 9: ** Deep Learning in Python [1 course]

### Introduction to Deep Learning in TensorFlow 12h

Objectives- Explain the major concepts and terminology used in deep learning
- Perform data preprocessing and exploratory analysis to prepare data for modeling
- Build and evaluate deep learning regression models using TensorFlow’s Sequential and Functional APIs in Keras
- Build a deep neural network to predict listing gains of IPOs on the Indian market

###
**Part 10: ** Advanced Topics in Data Science [3 courses]

### Intermediate Command Line for Data Science 3h

Objectives- Employ Jupyter console
- Process data from the command line

### Introduction to Git and Version Control 4h

Objectives- Organize your code using version control
- Employ Git and GitHub to collaborate with others
- Resolve conflicts in version control

### Analyzing Large Datasets in Spark and Map-Reduce 3h

Objectives- Identify the map-reduce framework for breaking down tasks
- Employ Spark to process raw files
- Process structured datasets using Spark SQL and Spark DataFrames

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

Impress employers by completing a capstone project and certifying it with an expert review.

## Projects in this path

### Project: Learn and Install Jupyter Notebook

Learn the basics of Jupyter Notebook

### Guided Project: Profitable App Profiles for the App Store and Google Play Markets

Learn to combine the skills you learned in this course to perform practical data analysis.

### Guided Project: Exploring Hacker News Posts

Practice using loops, cleaning strings, and working with dates in Python.

### Guided Project: Exploring eBay Car Sales Data

Practice data cleaning and data exploration using pandas

### Guided Project: Finding Heavy Traffic Indicators on I-94

Learn to analyze data using exploratory data visualization.