首页
/ 数据科学初学者完整课程指南:10 周 20 课,从零到实战的系统学习路径

数据科学初学者完整课程指南:10 周 20 课,从零到实战的系统学习路径

2026-09-09 13:10:00作者:殷蕙予

课程概览:什么是「数据科学初学者」

「数据科学初学者」(Data Science for Beginners)是一套由微软 Azure 云技术推广团队精心打造的免费开源课程,采用 10 周、20 课的紧凑结构,覆盖数据科学从概念到实战的完整知识体系。课程的核心设计理念是「边构建边学习」(project-based pedagogy):每一课都以一个可运行的项目为载体,配以课前测验、课后测验、书面讲义、参考答案和作业,让新技能真正「扎根」。

这套课程的最大特点在于零门槛与高完成度并重

  • 面向零基础学习者,不需要事先掌握数学或编程;
  • 每一课都有课前测验(设置学习意图)与课后测验(强化记忆);
  • 课程灵活可选,可以完整学习 10 周,也可以只挑感兴趣的章节;
  • 项目难度由小到大渐进升级,到第 10 周时学员已能完成端到端的真实数据科学工作流。

课程由多位微软作者联合编写,包括 Jasmine Greenaway、Dmitry Soshnikov、Nitya Narasimhan、Jalen McGee、Jen Looper、Maud Levy、Tiffany Souterre 与 Christopher Harrison,并获得了微软学生大使社区的广泛审校与贡献。

数据科学初学者课程路线图总览

图:课程全貌路线图——从定义数据科学出发,历经数据处理、可视化、生命周期、云端部署,最终走向真实世界应用。

教学设计理念:两大教育原则

课程在构建之初确立了两条教育原则

  1. 项目驱动(Project-based):每个知识点都落在可动手构建的项目上。学员通过「理解 → 实现 → 调试 → 完善」的真实流程来掌握技能,而不是被动阅读理论。课程在 examples/README.md 中提供了从「Hello World」到「完整真实项目」的递进式示例,让初学者在进入正式课程前就能先跑通第一个数据科学程序。
  2. 高频测验(Frequent Quizzes):课前一次低压力测验,帮学员明确「我即将学什么」;课后第二次测验,则用于检验与巩固记忆。这种「课前设意图、课后验留存」的双测验机制是课程设计的核心支柱。

课程整体覆盖以下主题模块:数据科学伦理、数据准备、不同的数据处理方式、数据可视化、数据分析、真实世界的数据科学应用场景等。

每一课的标准结构

每个独立课时都遵循统一、可预期的结构(约 10 个组成部分):

  • 可选的速记图(Sketchnote):一图概览核心概念,适合视觉型学习者;
  • 可选的补充视频:配合书面内容的多媒体讲解;
  • 课前热身测验
  • 书面讲义:核心概念与原理讲解;
  • 对项目型课程,提供分步构建指南
  • 知识检测(Knowledge Checks):随堂小问题;
  • 挑战(Challenge):进阶练习任务;
  • 延伸阅读:深入学习的资料;
  • 作业(Assignment):课后实践;
  • 课后测验

整套课程的速记图(含大尺寸海报版)集中存放在 sketchnotes/ 目录,多语言翻译版本位于 translated_images/ 目录。

测验系统:quiz-app 详解

所有测验都封装在 Quiz-Appquiz-app/)目录中,共 40 个测验,每个测验 3 道题。测验从各课讲义内部链接进入,同时该应用支持本地运行部署到 Azure

quiz-app 是一个基于 Vue 2 的前端应用(见 quiz-app/package.json,核心依赖包括 vue、vue-router、vue-i18n),常用命令如下:

cd quiz-app
npm install      # 安装依赖
npm run serve    # 本地开发服务器,默认 http://localhost:8080
npm run build    # 生产构建
npm run lint     # 代码检查

测验编号从 0 到 39,每课对应一个课前测验和一个课后测验。若要将测验应用部署到 Azure Static Web App,只需 fork 仓库后按 Azure 门户指引创建静态 Web 应用,并将构建输出目录指向 dist,Azure 会自动生成 GitHub Actions 工作流完成持续构建与部署。

完整课程表:20 课的学习路线

课程被组织为 6 大模块:引言(Introduction)、数据处理(Working with Data)、数据可视化(Data Visualization)、数据科学生命周期(Lifecycle)、云端数据科学(Cloud Data)、真实世界案例(In the Wild)。下表完整列出 20 课的编号、主题、所属模块、学习目标、关联讲义与作者:

课号 主题 所属模块 学习目标 关联讲义 作者
01 定义数据科学 引言 学习数据科学背后的基本概念,及其与人工智能、机器学习和大数据的关系 讲义 Dmitry
02 数据科学伦理 引言 数据伦理概念、挑战与框架 讲义 Nitya
03 定义数据 引言 数据如何分类及其常见来源 讲义 Jasmine
04 统计与概率入门 引言 用概率与统计的数学技术理解数据 讲义 Dmitry
05 处理关系型数据 数据处理 关系型数据入门,以及用 SQL 探索分析关系型数据的基础 讲义 Christopher
06 处理 NoSQL 数据 数据处理 非关系型数据入门、其不同类型,以及探索分析文档数据库的基础 讲义 Jasmine
07 使用 Python 处理数据 数据处理 使用 Pandas 等库以 Python 探索数据的基础(建议具备 Python 基础) 讲义 Dmitry
08 数据准备 数据处理 清洗与转换数据的技术,应对缺失、不准确或不完整的数据 讲义 Jasmine
09 可视化数量 数据可视化 使用 Matplotlib 可视化鸟类数据 讲义 Jen
10 可视化数据分布 数据可视化 在时间区间内可视化观测值与趋势 讲义 Jen
11 可视化比例 数据可视化 可视化离散与分组的百分比 讲义 Jen
12 可视化关系 数据可视化 可视化数据集及其变量之间的关联与相关性 讲义 Jen
13 有意义的数据可视化 数据可视化 让可视化对有效解决问题和获取洞察更有价值的技术与指南 讲义 Jen
14 数据科学生命周期入门 生命周期 数据科学生命周期入门及其第一步:获取与提取数据 讲义 Jasmine
15 分析 生命周期 生命周期中的分析阶段,聚焦数据分析技术 讲义 Jasmine
16 沟通 生命周期 以决策者易于理解的方式呈现数据洞察 讲义 Jalen
17 云端数据科学 云端数据 介绍云端数据科学及其优势 讲义 Tiffany 与 Maud
18 云端数据科学 云端数据 使用低代码工具训练模型 讲义 Tiffany 与 Maud
19 云端数据科学 云端数据 使用 Azure Machine Learning Studio 部署模型 讲义 Tiffany 与 Maud
20 真实世界中的数据科学 真实世界 现实世界中数据科学驱动的项目 讲义 Nitya

面向初学者的示例代码:先跑起来,再深入

如果你是完全的数据科学新手,课程作者建议先进入 examples/ 目录完成 5 个循序渐进、注释详尽的示例脚本,再投入完整课程。每个示例都附带「预期输出」说明,帮助你验证运行结果:

  • Hello World01_hello_world_data_science.py):第一个数据科学程序,用列表与字典组织学生成绩数据,并计算最大值、最小值和平均值;
  • 加载数据02_loading_data.py):读取 CSV 文件、查看前几行、获取基本统计量与数据类型;
  • 简单分析03_simple_analysis.py):计算均值/中位数/众数、筛选与条件过滤数据;
  • 基础可视化04_basic_visualization.py):绘制柱状图、折线图、饼图并保存为图片;
  • 真实世界项目05_real_world_example.py):从加载、清洗到分析与可视化的完整工作流。

运行示例只需 Python 3.7+ 与三个核心库:

pip install pandas numpy matplotlib

快速开始:学生与教师路径

课程为不同身份的学习者提供了差异化路径。自学者可以 fork 整个仓库,从课前测验开始,依次完成讲义与活动;官方建议「先理解课程再动手写项目,而不是直接复制答案代码」——不过答案代码在每个项目型课程的 /solutions 目录中均可用(例如 1-Introduction/01-defining-data-science/solution/)。同时推荐组建学习小组,与朋友协作学习。

快速开始四步走

  1. 阅读 INSTALLATION.md 安装指南,完成环境配置;
  2. 阅读 USAGE.md 使用指南,了解课程常见工作流;
  3. 从第 1 课开始,按顺序逐课推进;
  4. 加入社区(Discord)获取支持。

教师可参考 for-teachers.md 中的课堂使用建议,包括使用 GitHub Classroom 将每课拆分为独立仓库、在线课堂中的测验与作业组织方式等;课程共包含 20 课、40 个测验、20 份作业,许多讲义同时提供 Python 与 R 两种语言版本,并可用 VS Code 中的 Jupyter 笔记本完成。

环境安装要点

本地开发环境的核心依赖如下(详见 INSTALLATION.md):

  • Git:用于克隆仓库;
  • Python 3.7+ 与 Jupyter:数据科学课程的核心运行环境;
  • 数据科学库
pip install jupyter pandas numpy matplotlib seaborn scikit-learn
  • Node.js 与 npm:用于运行测验应用(cd quiz-app && npm install && npm run serve,默认端口 8080);
  • Docsify CLI(可选):用于离线阅读文档,npm install -g docsify-cli

克隆技巧:由于仓库包含 50+ 种语言翻译,下载体积较大。若不需要翻译内容,可以使用稀疏检出(sparse checkout)大幅提升克隆速度:

# Bash / macOS / Linux
git clone --filter=blob:none --sparse https://github.com/microsoft/Data-Science-For-Beginners.git
cd Data-Science-For-Beginners
git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'
:: CMD (Windows)
git clone --filter=blob:none --sparse https://github.com/microsoft/Data-Science-For-Beginners.git
cd Data-Science-For-Beginners
git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"

这依然会为你提供完成课程所需的全部内容,只是下载更快。

推荐的 10 周学习节奏

根据 USAGE.md 的建议,教师与自学者可按如下节奏排课:

  • 第 1–2 周:引言模块(第 1–4 课:定义数据科学、伦理、定义数据、统计与概率);
  • 第 3–4 周:数据处理模块(第 5–8 课:关系型数据库、NoSQL、Python、数据准备);
  • 第 5–6 周:数据可视化模块(第 9–13 课);
  • 第 7–8 周:数据科学生命周期(第 14–16 课);
  • 第 9 周:云端数据科学(第 17–19 课);
  • 第 10 周:真实世界应用与最终项目(第 20 课)。

课程同时支持按主题定向学习(例如只学 3-Data-Visualization/ 模块的第 9–13 课)和项目驱动式学习(先学生命周期再动手做真实项目),两种模式都有现成工作流可循。

三种开箱即用的运行方式

1. GitHub Codespaces(初学者推荐)

无需本地配置,浏览器即得完整开发环境:点击仓库页面的 Code 下拉菜单 → 选择 Codespaces 标签 → 点击 Create codespace on main,等待 2–3 分钟初始化即可,所有依赖已预装。

2. VS Code Remote - Containers

本地安装 Docker 与 VS Code 的 Remote - Containers 扩展后,可把代码克隆到隔离的 Docker 卷中运行(推荐用于持久化容器数据);也可以打开本地已克隆的副本,按 F1 选择 Remote-Containers: Open Folder in Container... 命令,等待容器启动即可。

3. 离线访问(Docsify)

Fork 仓库并安装 Docsify 后,在仓库根目录执行:

docsify serve

文档站会运行在 http://localhost:3000。需要注意:Docsify 无法渲染 Jupyter 笔记本,需要运行笔记本时请单独在 VS Code 中使用 Python 内核打开。

多语言支持:50+ 语言自动翻译

课程通过 GitHub Action 实现自动化、持续更新的社区翻译(基于 Co-op Translator),目前支持 50 余种语言,包括阿拉伯语、孟加拉语、简体中文、繁体中文、法语、德语、日语、韩语、俄语、西班牙语等。阿拉伯语完整翻译即为本文所依据的 translations/ar/README.md,各语言翻译均保持与英文原版一致的结构,例如:

cd translations/fr   # 法语
cd translations/es   # 西班牙语
cd translations/zh-CN  # 简体中文

配套的翻译图片按语言存放于 translated_images/ 目录,如 translated_images/ar/translated_images/zh-CN/

生态:同系列的姊妹课程

微软「For Beginners」系列课程生态还包括:

  • LangChain 系列:LangChain、LangChain.js、LangChain4j for Beginners;
  • Azure / Edge / MCP / Agents 系列:AZD、Edge AI、MCP、AI Agents for Beginners;
  • 生成式 AI 系列:Generative AI for Beginners(含 .NET 与 Java 版本);
  • 核心学习系列:ML、AI、Cybersecurity、Web Dev、IoT、XR Development for Beginners;
  • Copilot 系列:Copilot for AI Paired Programming、Copilot for C#/.NET 等。

遇到问题怎么办

遇到问题时的求助路径:

  1. 查阅 TROUBLESHOOTING.md 故障排查指南中的常见问题解答;
  2. 搜索仓库已有 Issues;
  3. 加入 Discord 社区,参与持续进行的「Learn with AI」系列(例如学习如何在数据科学中使用 GitHub Copilot 的技巧);
  4. 在微软 Foundry 开发者论坛提交产品反馈或构建过程中遇到的错误。

总结

「数据科学初学者」不是一本让你「读」的教科书,而是一套让你「做」的项目工坊:20 堂课、40 个测验、20 个作业、5 个入门示例、6 大知识模块,配合测验应用、速记图、多语言翻译与三种免配置运行方式,构成了当前开源社区中最完整、对初学者最友好的数据科学学习路径之一。无论你是想自学入门、组织学习小组,还是在课堂上讲授数据科学,都可以从 README.md 总览出发,按 INSTALLATION.md 完成环境搭建,然后打开第 1 课,开始你的第一个数据科学项目。

热门项目推荐
相关项目推荐

项目优选

收起
ops-transformerops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
1.15 K
2.77 K
kernelkernel
deepin linux kernel
C
34
18
docsdocs
暂无描述
Markdown
900
5.83 K
ops-nnops-nn
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
929
1.85 K
pytorchpytorch
作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU,为开发者提供昇腾 AI 处理器的超强算力。
Python
860
1.36 K
jiuwenswarmjiuwenswarm
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
3.94 K
1.03 K
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.37 K
1.47 K
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
534
603
AscendNPU-IRAscendNPU-IR
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
548
398
leetcodeleetcode
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Markdown
77
23