Convert Figma logo to code with AI

microsoft logoData-Science-For-Beginners

10 Weeks, 20 Lessons, Data Science for All!

27,648
5,719
27,648
55

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:

  1. Visit the GitHub repository: https://github.com/microsoft/Data-Science-For-Beginners
  2. Clone or download the repository to your local machine
  3. Navigate to the README.md file in the root directory for an overview of the course structure
  4. Start with the first lesson in the 1-Introduction folder
  5. Follow the lessons sequentially, completing exercises and projects as you go
  6. 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 Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Data Science for Beginners - A Curriculum

Open in GitHub Codespaces

GitHub license GitHub contributors GitHub issues GitHub pull-requests PRs Welcome

GitHub watchers GitHub forks GitHub stars

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

 Sketchnote by (@sketchthedocs)
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:

https://aka.ms/genai-beginners

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

Promo video

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

 Sketchnote by (@sketchthedocs)
Data Science For Beginners: Roadmap - Sketchnote by @nitya
Lesson NumberTopicLesson GroupingLearning ObjectivesLinked LessonAuthor
01Defining Data ScienceIntroductionLearn the basic concepts behind data science and how it’s related to artificial intelligence, machine learning, and big data.lesson videoDmitry
02Data Science EthicsIntroductionData Ethics Concepts, Challenges & Frameworks.lessonNitya
03Defining DataIntroductionHow data is classified and its common sources.lessonJasmine
04Introduction to Statistics & ProbabilityIntroductionThe mathematical techniques of probability and statistics to understand data.lesson videoDmitry
05Working with Relational DataWorking With DataIntroduction to relational data and the basics of exploring and analyzing relational data with the Structured Query Language, also known as SQL (pronounced “see-quell”).lessonChristopher
06Working with NoSQL DataWorking With DataIntroduction to non-relational data, its various types and the basics of exploring and analyzing document databases.lessonJasmine
07Working with PythonWorking With DataBasics of using Python for data exploration with libraries such as Pandas. Foundational understanding of Python programming is recommended.lesson videoDmitry
08Data PreparationWorking With DataTopics on data techniques for cleaning and transforming the data to handle challenges of missing, inaccurate, or incomplete data.lessonJasmine
09Visualizing QuantitiesData VisualizationLearn how to use Matplotlib to visualize bird data 🦆lessonJen
10Visualizing Distributions of DataData VisualizationVisualizing observations and trends within an interval.lessonJen
11Visualizing ProportionsData VisualizationVisualizing discrete and grouped percentages.lessonJen
12Visualizing RelationshipsData VisualizationVisualizing connections and correlations between sets of data and their variables.lessonJen
13Meaningful VisualizationsData VisualizationTechniques and guidance for making your visualizations valuable for effective problem solving and insights.lessonJen
14Introduction to the Data Science lifecycleLifecycleIntroduction to the data science lifecycle and its first step of acquiring and extracting data.lessonJasmine
15AnalyzingLifecycleThis phase of the data science lifecycle focuses on techniques to analyze data.lessonJasmine
16CommunicationLifecycleThis 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.lessonJalen
17Data Science in the CloudCloud DataThis series of lessons introduces data science in the cloud and its benefits.lessonTiffany and Maud
18Data Science in the CloudCloud DataTraining models using Low Code tools.lessonTiffany and Maud
19Data Science in the CloudCloud DataDeploying models with Azure Machine Learning Studio.lessonTiffany and Maud
20Data Science in the WildIn the WildData science driven projects in the real world.lessonNitya

GitHub Codespaces

Follow these steps to open this sample in a Codespace:

  1. Click the Code drop-down menu and select the Open with Codespaces option.
  2. 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:

  1. 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: