# Path to Full Stack Data Science

Start your journey toward mastering all aspects of the field of Data Science with this focused list of in-depth self-learning resources. Curated with the beginner in mind, these recommendations will help you learn efficiently, and can also offer existing professionals useful highlights for review or help filling in any gaps in skills.

**By Jawwad Shadman Siddique, Graduate Researcher at Texas Tech**.

**Full Stack Data Science **has become one of the hottest industries in the field of computer science. Starting from traditional mathematics to advance concepts like data engineering, this industry demands a breadth of knowledge and expertise. Its demand has seen an exponential rise in online resources, books, and tutorials. For beginners, it's overwhelming, to say the least. Most of the time, beginners start with either a python course, a machine learning course, or some basic mathematics course. But many times, a large number of them do not know where to start. And with so many resources to go to, many of them keep scraping through resources. Moving between Udemy, edX, Coursera, and YouTube, many hours are lost.

*Subject Matters involved with Data Science.*

**The goal of this article** is not to list out the required syllabus but rather list out some of the prominent online resources for each subject area in the end-to-end Data Science domain. It will help beginners start their data science journey without wasting their precious time. I have tried to put down the resources in as much order as possible. But it might vary to a great extent depending upon the individual’s expertise and requirements. The focus of this article is solely the listing out of some of the thorough and in-depth online courses and tutorials available out there for domains comprising full-stack data science. I have tried to keep the list as short as possible so that it helps the starters get started with their learning without much selection.

### Resources for the following areas

**Mathematics**— Linear Algebra, Calculus, Probability, Statistics, and Convex Optimization**Python Programming**— Fundamentals, OOP Concepts, Algorithms, Data Structures, and Data Science Applications**R Programming**— Fundamentals, Data Science, and Web Applications**Core DS Concepts**— Database Programming, Machine Learning, Deep Learning, Natural Language Processing, Computer Vision, Reinforcement Learning, Data Visualization, Model Deployment, and Big Data**C/C++ Programming**— Fundamentals, Problem Solving, OOP Concepts, Algorithms, and Data Structures**Computer Science Fundamentals**— Introduction, Algorithms, Data Structures, Discrete Mathematics, Operating System, Computer Architecture, Database Concepts, Git, and GitHub

## Mathematics

### Linear Algebra

- Instructor: Grant Sanderson / Channel: 3Blue1Brown

Course: Essence of Linear Algebra - Instructor: Prof. Gilbert Strang / MIT OpenCourseWare

Course: Linear Algebra / Youtube - Instructor: Kaare Brandt Petersen & Michael Syskind Pedersen

Book: Matrix Algebra

### Calculus

- Instructor: Grant Sanderson / Channel: 3Blue1Brown

Course: Essence of Calculus - Instructor: Prof. David Jerison / MIT OpenCourseWare

Course: Single Variable Calculus / YouTube - Instructor: Prof. Denis Auroux / MIT OpenCourseWare

Course: Multi-Variable Calculus / YouTube

### Probability & Statistics

- Instructor: Khan Academy

Course: Probability - Instructor: Khan Academy

Course: Statistics - Instructor: Joshua Starmer

Course: Statistics Fundamentals - Instructor: Prof. John Tsitsiklis / MIT OpenCourseWare

Course: Probabilistic Methods - Instructor: Allen B. Downey

Book: Think Stats

*Note: Use this book after completing the fundamentals of python and statistics*

### Convex Optimization (Advanced Concept)

- Instructor: Prof. Stephen Boyd / Stanford

Course: Introduction to Convex Optimization

## Python Programming

### Python Fundamentals

- Python For Everybody: Course/ Book / Web
- Learn Python The Hard Way: Book
- Think Python: Book
- Python Programming by Krish Naik: Course
- Complete Python Bootcamp: Course

### Algorithms & OOP with Python

- Problem Solving & OOP with Python: Course
- Grokking Algorithms: Book
- Automate the Boring Stuff with Python: Course
- (Advanced) Social Network Analysis for Startups: Book

### Data Science with Python

- Python Data Science Handbook: Book
- Python for Data Science: freecodecamp course
- Introduction to Computational Thinking & Data Science: Course
- Applied Data Science with Python: Course

## R Programming

- R for Data Science: Book
- Hands-on Machine Learning with R: Book
- Interactive Web Apps using R Shiny: Tutorial

## Database Programming

- Fundamentals of Database Systems: Book
- SQL vs NoSQL| MySQL vs MongoDB: Tutorial/ Tutorial
- Full Database Design Course: Tutorial
- SQL using MySQL: Course
- PostgreSQL: Course
- PostgreSQL for Everybody: Course
- SQLite with Python: Course
- Popular Database: Tutorial

## Data Visualization

- Power BI Full Course by Edureka: Course
- Power BI Full Course by Simplilearn: Course
- Tableau Full Course by Edureka: Course
- Tableau Full Course by Simplilearn: Course
- Tableau Crash Course by freecodecamp.org: Course

## Machine Learning

### Beginner Courses

- Instructor: Andrew Ng
- Instructor: Abu Yaser Mustafa
- Instructor: Krish Naik
- AI Introduction: ai/ Edureka
- Artificial Intelligence by MIT: Course

### Applied Machine Learning Course with Python

### Books for Hands-on Machine Learning

- Hands-on Machine Learning with Scikit-Learn, Keras & TensorFlow: Book
- The 100 Page ML Book: Book
- Learning from Data: Book

## Deep Learning

### Specialization Courses

- Instructor: Andrew Ng/ YouTube
- Instructor: Krish Naik
- Instructor: Yann Le’Cun
- Instructor: MIT

### Applied Deep Learning with Python & TensorFlow

- Deep Learning A-Z: Hands-On Artificial Neural Networks: Course
- TensorFlow Complete Course by freecodecamp.org: Course
- AI TensorFlow Developer Professional Certificate: Course
- TensorFlow Data & Deployment: Course

### Books for Hands-on Deep Learning

### Natural Language Processing

- NLP Specialization by deeplearning.ai: Course
- NLP with Deep Learning by Stanford: Course/ YouTube
- Complete NLP by Krish Naik: Course

### Computer Vision

- Convolutional Neural Networks for Visual Recognition: Course
- Complete CV by Krish Naik: Course
- Full OpenCV by freecodecamp.org: Course

### Reinforcement Learning

- Reinforcement Learning by DeepMind: Course
- Reinforcement Learning by Stanford: Course
- Reinforcement Learning by University of Alberta: Course

## Web Development

- Django Tutorial by Corey Schafer: Course
- Django for Everybody: Course
- Flask Tutorial by Corey Schafer: Course
- Web Development by Traversy Media: Web Link/ YouTube
- Full Stack Web Development Guide: Tutorial
- Web Design for Everybody: Course
- Web Applications for Everybody: Course

## Git & Github

- Crash course by freecodecamp.org: Course
- Crash course by Traversy Media: Course
- Full Course by Edureka: Course
- Git Tutorial for Beginners by Mosh: Course
- Git and Github tutorial by Amigoscode: Course

## AWS

- AWS Certifications: Tutorial
- AWS Tutorial for Beginners: Course
- AWS Basics for Beginners: Course
- AWS Certified Cloud Practitioner Training: Course
- AWS Certified Solutions Architect — Associate Training: Course
- AWS Certified Developer — Associate Training: Course
- AWS SysOps Administrator-Associate Training: Course

## Model Deployment

- Instructor: Krish Naik
- Instructor: Daniel Bourke
- Live End-to-End Model Deployment: Tutorial
- Model Deployment using Amazon Sagemaker: Tutorial
- Model Deployment using Azure: Tutorial

## Big Data

- Introduction to Big Data by CrashCourse: Tutorial
- Introduction to Big Data by Edureka: Tutorial
- Big Data Intro by Simplilearn: Tutorial
- Big Data & Hadoop by Edureka: Course
- Apache Spark by Edureka: Course

## C/C++ Programming for Problem Solving

### Tutorials & Courses

- Full C Tutorial by Mike: Course
- Full C++ Tutorial by Caleb Curry: Course
- Full C++ Tutorial by Suldina Nurak: Course
- C++ OOPS Concepts: Course
- Problem Solving & OOP using C++: Course
- Pointers in C++: Course
- STL using C++: Course
- Data Structure using C/C++: Course

### Books

- The C++ Programming Language by Bjarne Stroustrup: Book
- The C Programming Language by Dennis Ritchie: Book

## Algorithms & Data Structure

- Introduction to Algorithms by MIT: Course
- Design & Analysis of Algorithms by MIT: Course
- Advanced Algorithms by MIT: Course
- Competitive Programming Guide by GeeksforGeeks: Web Link
- Introduction to Algorithms by Thomas H. Cormen: Book

## Fundamentals of Computer Science

- Missing Semester of Computer Science: Course
- Computer System Architecture by CMU: Course
- Computer System Architecture by MIT: Course
- Operating System by Neso Academy: Course
- Operating System by UC Berkely: Course
- Basics of Software Engineering: Course

I tried to provide specific resources (courses/tutorials/books) that are in-depth, prominent on the web, and have proved to be quite beneficial to a large number of learners in the data science arena. I tried to be as specific as possible and listed those with which I have familiarity. It goes without saying that many great resources have also been left out. As such, this list should not be considered an expert guide by any means. Rather, it picks out some of the highlighted courses to make the learning journey easier for beginners. I will finish off by providing some of the topmost YouTube channels that have tons of learning materials and some pretty good guidance in regards to the subject matter.

## Top YouTube Channels for Data Science

- Krish Naik
- Sentdex
- 3Blue1Brown
- org
- StatQuest with Joshua Starmer
- Python Programmer
- Corey Schafer
- Tech with Tim
- Two Minute Papers
- Data School
- Caleb Curry
- Andreas Kretz
- Traversy Media
- Stanford Online
- Yannic Kilcher
- GeeksforGeeks
- Numberphile
- AI
- mycodeschool
- Art of Visualization

Original. Reposted with permission.

**Related:**