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.
![]() |
---|
Data Science For Beginners - Sketchnote by @nitya |
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 this app, for 40 total quizzes of three questions each. They are linked from within the lessons, but the quiz app can be run locally; 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 |
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.
A PDF of all of the lessons can be found here
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: