Home

Awesome

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:

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:

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:

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:

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: