Top Related Projects
12 weeks, 26 lessons, 52 quizzes, classic Machine Learning for all
Python Data Science Handbook: full text in Jupyter Notebooks
⛔️ DEPRECATED – See https://github.com/ageron/handson-ml3 instead.
TensorFlow Tutorial and Examples for Beginners (support TF v1 & v2)
Data science Python notebooks: Deep learning (TensorFlow, Theano, Caffe, Keras), scikit-learn, Kaggle, big data (Spark, Hadoop MapReduce, HDFS), matplotlib, pandas, NumPy, SciPy, Python essentials, AWS, and various command lines.
Quick Overview
Data Science For Beginners is a comprehensive curriculum developed by Microsoft to introduce beginners to the field of data science. It consists of 10 weeks of lessons covering various aspects of data science, including data analysis, visualization, machine learning, and ethics. The course is designed to be accessible to learners with no prior experience in data science.
Pros
- Free and open-source curriculum with high-quality content from industry experts
- Covers a wide range of data science topics, providing a well-rounded introduction to the field
- Includes hands-on projects and exercises to reinforce learning
- Available in multiple languages, making it accessible to a global audience
Cons
- May be overwhelming for absolute beginners due to the breadth of topics covered
- Some lessons may require additional resources or tools not provided in the repository
- Limited depth in some advanced topics, as it's designed for beginners
- Lack of formal certification or accreditation upon completion
Getting Started
To get started with the Data Science For Beginners curriculum:
- Visit the GitHub repository: https://github.com/microsoft/Data-Science-For-Beginners
- Clone or download the repository to your local machine
- Navigate to the
README.md
file in the root directory for an overview of the course structure - Start with the first lesson in the
1-Introduction
folder - Follow the lessons sequentially, completing exercises and projects as you go
- Join the discussion on GitHub Issues or contribute to the project if you find areas for improvement
Note: This is not a code library, so there are no code examples or quick start instructions provided.
Competitor Comparisons
12 weeks, 26 lessons, 52 quizzes, classic Machine Learning for all
Pros of ML-For-Beginners
- More focused on practical machine learning techniques and algorithms
- Includes hands-on projects with popular ML frameworks like scikit-learn and TensorFlow
- Covers a wider range of ML topics, including deep learning and neural networks
Cons of ML-For-Beginners
- Less emphasis on data preprocessing and exploratory data analysis
- May be more challenging for absolute beginners without prior programming experience
- Fewer lessons on statistical concepts and probability theory
Code Comparison
ML-For-Beginners:
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
model = LogisticRegression()
model.fit(X_train, y_train)
Data-Science-For-Beginners:
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv('data.csv')
df.describe()
plt.scatter(df['x'], df['y'])
plt.show()
The code snippets highlight the different focus areas of the two repositories. ML-For-Beginners emphasizes machine learning model implementation, while Data-Science-For-Beginners concentrates more on data exploration and visualization techniques.
Python Data Science Handbook: full text in Jupyter Notebooks
Pros of PythonDataScienceHandbook
- Comprehensive coverage of Python data science libraries (NumPy, Pandas, Matplotlib, Scikit-Learn)
- In-depth explanations with practical examples and visualizations
- Available as a free online resource and Jupyter notebooks
Cons of PythonDataScienceHandbook
- Focuses primarily on Python libraries rather than broader data science concepts
- Less structured curriculum compared to Data-Science-For-Beginners
- May be overwhelming for absolute beginners due to its depth
Code Comparison
PythonDataScienceHandbook:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
x = np.linspace(0, 10, 100)
plt.plot(x, np.sin(x))
plt.show()
Data-Science-For-Beginners:
import pandas as pd
df = pd.read_csv('data.csv')
print(df.head())
print(df.describe())
The PythonDataScienceHandbook example demonstrates more advanced visualization, while Data-Science-For-Beginners focuses on basic data manipulation and exploration.
⛔️ DEPRECATED – See https://github.com/ageron/handson-ml3 instead.
Pros of handson-ml
- More comprehensive coverage of machine learning topics
- Includes practical examples and Jupyter notebooks for hands-on learning
- Regularly updated with new content and improvements
Cons of handson-ml
- Steeper learning curve for beginners
- Less focus on foundational data science concepts
- Requires more prior knowledge in programming and mathematics
Code Comparison
handson-ml:
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.svm import SVC
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
Data-Science-For-Beginners:
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv('data.csv')
plt.scatter(data['x'], data['y'])
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
The handson-ml repository provides more advanced machine learning code examples, focusing on model implementation and preprocessing. In contrast, Data-Science-For-Beginners offers simpler code snippets that introduce basic data manipulation and visualization concepts, making it more accessible for newcomers to the field.
TensorFlow Tutorial and Examples for Beginners (support TF v1 & v2)
Pros of TensorFlow-Examples
- Focuses specifically on TensorFlow, providing in-depth examples for this popular machine learning library
- Includes a wide range of examples from basic to advanced, covering various neural network architectures
- Regularly updated to incorporate new TensorFlow features and best practices
Cons of TensorFlow-Examples
- Limited to TensorFlow, not covering broader data science concepts or other libraries
- May be overwhelming for absolute beginners without prior programming or machine learning knowledge
- Lacks structured curriculum or learning path compared to Data-Science-For-Beginners
Code Comparison
TensorFlow-Examples (Neural Network example):
import tensorflow as tf
model = tf.keras.Sequential([
tf.keras.layers.Dense(64, activation='relu', input_shape=(784,)),
tf.keras.layers.Dense(10, activation='softmax')
])
Data-Science-For-Beginners (Python basics example):
# Define a list of fruits
fruits = ["apple", "banana", "cherry"]
# Print each fruit using a for loop
for fruit in fruits:
print(fruit)
The TensorFlow-Examples code demonstrates a more advanced, specific implementation, while Data-Science-For-Beginners focuses on fundamental programming concepts.
Data science Python notebooks: Deep learning (TensorFlow, Theano, Caffe, Keras), scikit-learn, Kaggle, big data (Spark, Hadoop MapReduce, HDFS), matplotlib, pandas, NumPy, SciPy, Python essentials, AWS, and various command lines.
Pros of data-science-ipython-notebooks
- Extensive collection of Jupyter notebooks covering various data science topics
- Practical examples and code snippets for immediate application
- Includes advanced topics like deep learning and big data
Cons of data-science-ipython-notebooks
- Less structured curriculum compared to Data-Science-For-Beginners
- May be overwhelming for absolute beginners due to its breadth
- Not as frequently updated as Data-Science-For-Beginners
Code Comparison
data-science-ipython-notebooks:
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
Data-Science-For-Beginners:
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
Both repositories use popular data science libraries, but data-science-ipython-notebooks tends to include more advanced techniques and a wider variety of libraries across its notebooks. Data-Science-For-Beginners focuses on foundational concepts and libraries, making it more suitable for beginners.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
Data Science for Beginners - A Curriculum
Azure Cloud Advocates at Microsoft are pleased to offer a 10-week, 20-lesson curriculum all about Data Science. Each lesson includes pre-lesson and post-lesson quizzes, written instructions to complete the lesson, a solution, and an assignment. Our project-based pedagogy allows you to learn while building, a proven way for new skills to 'stick'.
Hearty thanks to our authors: Jasmine Greenaway, Dmitry Soshnikov, Nitya Narasimhan, Jalen McGee, Jen Looper, Maud Levy, Tiffany Souterre, Christopher Harrison.
ð Special thanks ð to our Microsoft Student Ambassador authors, reviewers and content contributors, notably Aaryan Arora, Aditya Garg, Alondra Sanchez, Ankita Singh, Anupam Mishra, Arpita Das, ChhailBihari Dubey, Dibri Nsofor, Dishita Bhasin, Majd Safi, Max Blum, Miguel Correa, Mohamma Iftekher (Iftu) Ebne Jalal, Nawrin Tabassum, Raymond Wangsa Putra, Rohit Yadav, Samridhi Sharma, Sanya Sinha, Sheena Narula, Tauqeer Ahmad, Yogendrasingh Pawar , Vidushi Gupta, Jasleen Sondhi
Data Science For Beginners - Sketchnote by @nitya |
Announcement - New Curriculum on Generative AI was just released!
We just released a 12 lesson curriculum on generative AI. Come learn things like:
- prompting and prompt engineering
- text and image app generation
- search apps
As usual, there's a lesson, assignments to complete, knowledge checks and challenges.
Check it out:
Are you a student?
Get started with the following resources:
- Student Hub page In this page, you will find beginner resources, Student packs and even ways to get a free cert voucher. This is one page you want to bookmark and check from time to time as we switch out content at least monthly.
- Microsoft Learn Student Ambassadors Join a global community of student ambassadors, this could be your way into Microsoft.
Getting Started
Teachers: we have included some suggestions on how to use this curriculum. We'd love your feedback in our discussion forum!
Students: to use this curriculum on your own, fork the entire repo and complete the exercises on your own, starting with a pre-lecture quiz. Then read the lecture and complete the rest of the activities. Try to create the projects by comprehending the lessons rather than copying the solution code; however, that code is available in the /solutions folders in each project-oriented lesson. Another idea would be to form a study group with friends and go through the content together. For further study, we recommend Microsoft Learn.
Meet the Team
Gif by Mohit Jaisal
ð¥ Click the image above for a video about the project the folks who created it!
Pedagogy
We have chosen two pedagogical tenets while building this curriculum: ensuring that it is project-based and that it includes frequent quizzes. By the end of this series, students will have learned basic principles of data science, including ethical concepts, data preparation, different ways of working with data, data visualization, data analysis, real-world use cases of data science, and more.
In addition, a low-stakes quiz before a class sets the intention of the student towards learning a topic, while a second quiz after class ensures further retention. This curriculum was designed to be flexible and fun and can be taken in whole or in part. The projects start small and become increasingly complex by the end of the 10 week cycle.
Find our Code of Conduct, Contributing, Translation guidelines. We welcome your constructive feedback!
Each lesson includes:
- Optional sketchnote
- Optional supplemental video
- Pre-lesson warmup quiz
- Written lesson
- For project-based lessons, step-by-step guides on how to build the project
- Knowledge checks
- A challenge
- Supplemental reading
- Assignment
- Post-lesson quiz
A note about quizzes: All quizzes are contained in the Quiz-App folder, for 40 total quizzes of three questions each. They are linked from within the lessons, but the quiz app can be run locally or deployed to Azure; follow the instruction in the
quiz-app
folder. They are gradually being localized.
Lessons
Data Science For Beginners: Roadmap - Sketchnote by @nitya |
Lesson Number | Topic | Lesson Grouping | Learning Objectives | Linked Lesson | Author |
---|---|---|---|---|---|
01 | Defining Data Science | Introduction | Learn the basic concepts behind data science and how itâs related to artificial intelligence, machine learning, and big data. | lesson video | Dmitry |
02 | Data Science Ethics | Introduction | Data Ethics Concepts, Challenges & Frameworks. | lesson | Nitya |
03 | Defining Data | Introduction | How data is classified and its common sources. | lesson | Jasmine |
04 | Introduction to Statistics & Probability | Introduction | The mathematical techniques of probability and statistics to understand data. | lesson video | Dmitry |
05 | Working with Relational Data | Working With Data | Introduction to relational data and the basics of exploring and analyzing relational data with the Structured Query Language, also known as SQL (pronounced âsee-quellâ). | lesson | Christopher |
06 | Working with NoSQL Data | Working With Data | Introduction to non-relational data, its various types and the basics of exploring and analyzing document databases. | lesson | Jasmine |
07 | Working with Python | Working With Data | Basics of using Python for data exploration with libraries such as Pandas. Foundational understanding of Python programming is recommended. | lesson video | Dmitry |
08 | Data Preparation | Working With Data | Topics on data techniques for cleaning and transforming the data to handle challenges of missing, inaccurate, or incomplete data. | lesson | Jasmine |
09 | Visualizing Quantities | Data Visualization | Learn how to use Matplotlib to visualize bird data ð¦ | lesson | Jen |
10 | Visualizing Distributions of Data | Data Visualization | Visualizing observations and trends within an interval. | lesson | Jen |
11 | Visualizing Proportions | Data Visualization | Visualizing discrete and grouped percentages. | lesson | Jen |
12 | Visualizing Relationships | Data Visualization | Visualizing connections and correlations between sets of data and their variables. | lesson | Jen |
13 | Meaningful Visualizations | Data Visualization | Techniques and guidance for making your visualizations valuable for effective problem solving and insights. | lesson | Jen |
14 | Introduction to the Data Science lifecycle | Lifecycle | Introduction to the data science lifecycle and its first step of acquiring and extracting data. | lesson | Jasmine |
15 | Analyzing | Lifecycle | This phase of the data science lifecycle focuses on techniques to analyze data. | lesson | Jasmine |
16 | Communication | Lifecycle | This phase of the data science lifecycle focuses on presenting the insights from the data in a way that makes it easier for decision makers to understand. | lesson | Jalen |
17 | Data Science in the Cloud | Cloud Data | This series of lessons introduces data science in the cloud and its benefits. | lesson | Tiffany and Maud |
18 | Data Science in the Cloud | Cloud Data | Training models using Low Code tools. | lesson | Tiffany and Maud |
19 | Data Science in the Cloud | Cloud Data | Deploying models with Azure Machine Learning Studio. | lesson | Tiffany and Maud |
20 | Data Science in the Wild | In the Wild | Data science driven projects in the real world. | lesson | Nitya |
GitHub Codespaces
Follow these steps to open this sample in a Codespace:
- Click the Code drop-down menu and select the Open with Codespaces option.
- Select + New codespace at the bottom on the pane. For more info, check out the GitHub documentation.
VSCode Remote - Containers
Follow these steps to open this repo in a container using your local machine and VSCode using the VS Code Remote - Containers extension:
- If this is your first time using a development container, please ensure your system meets the pre-reqs (i.e. have Docker installed) in the getting started documentation.
To use this repository, you can either open the repository in an isolated Docker volume:
Note: Under the hood, this will use the Remote-Containers: Clone Repository in Container Volume... command to clone the source code in a Docker volume instead of the local filesystem. Volumes are the preferred mechanism for persisting container data.
Or open a locally cloned or downloaded version of the repository:
- Clone this repository to your local filesystem.
- Press F1 and select the Remote-Containers: Open Folder in Container... command.
- Select the cloned copy of this folder, wait for the container to start, and try things out.
Offline access
You can run this documentation offline by using Docsify. Fork this repo, install Docsify on your local machine, then in the root folder of this repo, type docsify serve
. The website will be served on port 3000 on your localhost: localhost:3000
.
Note, notebooks will not be rendered via Docsify, so when you need to run a notebook, do that separately in VS Code running a Python kernel.
Help Wanted!
If you would like to translate all or part of the curriculum, please follow our Translations guide.
Other Curricula
Our team produces other curricula! Check out:
Top Related Projects
12 weeks, 26 lessons, 52 quizzes, classic Machine Learning for all
Python Data Science Handbook: full text in Jupyter Notebooks
⛔️ DEPRECATED – See https://github.com/ageron/handson-ml3 instead.
TensorFlow Tutorial and Examples for Beginners (support TF v1 & v2)
Data science Python notebooks: Deep learning (TensorFlow, Theano, Caffe, Keras), scikit-learn, Kaggle, big data (Spark, Hadoop MapReduce, HDFS), matplotlib, pandas, NumPy, SciPy, Python essentials, AWS, and various command lines.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot