首页
/ Data Science for Beginners 课程全解析:10 周 20 课从零掌握数据科学核心技能

Data Science for Beginners 课程全解析:10 周 20 课从零掌握数据科学核心技能

2026-09-09 21:31:06作者:殷蕙予

这是一份面向零基础学习者的数据科学课程速查与深度指南。Data Science for Beginners 是一套由 10 周、20 节课组成的数据科学学习计划,覆盖数据科学定义、数据伦理、数据准备、可视化、分析、云上数据科学等完整知识链路,其「项目导向 + 高频测验」的教学设计让学习者可以在动手构建中真正掌握技能。读完本文,你将了解课程的完整结构、每节课的组成要素、环境搭建方法、学习工作流、测验系统用法以及离线阅读方案,可以直接据此规划自己的学习路线或课堂排课。

课程概览:面向零基础的 10 周学习计划

Data Science for Beginners 由微软的 Azure Cloud Advocates 团队推出,是一套完整的 10 周、20 节课学习计划。每一节课都包含:

  • 课前与课后测验(pre-lesson / post-lesson quizzes);
  • 完成课程所需的书面指导(written instructions);
  • 解答(solution);
  • 作业(assignment)。

其核心教学理念是项目导向(project-based pedagogy)——学习者通过「边学边做」的方式掌握新技能,这是被验证为更容易让新技能「扎根」的学习方式。课程由多位作者共同编写,包括 Jasmine Greenaway、Dmitry Soshnikov、Nitya Narasimhan、Jalen McGee、Jen Looper、Maud Levy、Tiffany Souterre、Christopher Harrison 等,并有大量 Microsoft Student Ambassador 参与审校与内容贡献。

Data Science for Beginners 课程封面图(Sketchnote 风格速记图,概述课程主题)

教学理念:项目导向 + 高频测验

在构建这套课程时,设计者选择了两个教学原则:确保课程基于项目(project-based),并且包含频繁的测验(frequent quizzes)。到系列课程结束时,学生将掌握数据科学的基础原理,包括:

  • 伦理概念(ethical concepts);
  • 数据准备(data preparation);
  • 处理数据的不同方式(different ways of working with data);
  • 数据可视化(data visualization);
  • 数据分析(data analysis);
  • 数据科学的真实世界用例(real-world use cases)等。

此外,课堂前的低压测验为学生设定学习某个主题的意图,课堂后的第二次测验则确保进一步的知识留存。课程设计灵活有趣,可以整体学习也可以部分学习;项目从很小开始,到 10 周周期结束时逐步变得复杂。课程仓库中还提供了 行为准则贡献指南 等文档,欢迎建设性反馈。

六大模块与 20 节课全景

课程按主题分为六大模块(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 云中的数据科学 云数据 使用 Low Code 工具训练模型 课程 Tiffany 和 Maud
19 云中的数据科学 云数据 使用 Azure Machine Learning Studio 部署模型 课程 Tiffany 和 Maud
20 实际应用中的数据科学 实际应用 真实世界中的数据科学驱动项目 课程 Nitya

课程学习路径整体呈现「从理论到实操、从本地到云端」的递进:第 1–4 课建立数据科学概念与统计基础;第 5–8 课进入实际数据处理(SQL、NoSQL、Python、数据准备);第 9–13 课系统掌握 Matplotlib 等可视化工具;第 14–16 课梳理数据科学生命周期;第 17–19 课迁移到云端;第 20 课落地到真实项目。

Data Science for Beginners 课程路线图(Sketchnote,概括 10 周课程的主要学习路径)

每节课的标准结构

课程采用统一的课节结构以最大化学习效果,每节课通常包含:

  • 可选的 sketchnote(视觉速记图);
  • 可选的补充视频;
  • 课前热身测验;
  • 书面课程(核心概念与讲解);
  • 针对项目导向课程,提供如何构建项目的分步指南;
  • 知识检查(knowledge checks);
  • 挑战(challenge);
  • 补充阅读(supplemental reading);
  • 作业(assignment);
  • 课后测验。

测验系统:quiz-app

关于测验的一个关键细节:所有测验都存放在 quiz-app 文件夹中,共 40 个测验,每个测验 3 道题。它们从课程内链接引用,但测验应用可以本地运行,也可以部署到 Azure;具体说明见 quiz-app 目录。测验正在逐步本地化(localized)。

quiz-app/package.json 可以看到,测验应用基于 Vue 2(vue ^2.6.11)、vue-router、vue-i18n(国际化支持),开发服务器脚本为 vue-cli-service serve。本地启动方式:

cd quiz-app
npm install        # 首次安装依赖
npm run serve      # 启动开发服务器

之后在浏览器访问 http://localhost:8080 即可开始答题。也可以执行 npm run build 构建生产版本,或 npm run lint 做代码规范检查。

环境准备与快速上手

课程的完整安装说明见 安装指南,使用说明见 使用指南。这里给出两条主要起步路径。

方式一:GitHub Codespaces(推荐新手)

这是最省事的起步方式,直接在浏览器中获得完整开发环境:

  1. 打开仓库,点击 Code 下拉菜单;
  2. 选择 Codespaces 标签页;
  3. 点击 Create codespace on main
  4. 等待环境初始化(约 2–3 分钟)。

环境就绪后,所有依赖都已预装,可以直接开始学习。

方式二:本地开发

本地安装的核心步骤(详见 INSTALLATION.md):

  1. 安装 Git:用于克隆仓库与跟踪变更。Linux 下可用 sudo apt-get install git(Debian/Ubuntu)、sudo dnf install git(Fedora)、sudo pacman -S git(Arch)。
  2. 克隆仓库
    git clone <仓库地址>
    cd Data-Science-For-Beginners
    
  3. 安装 Python 与 Jupyter:课程要求 Python 3.7 或更高版本。安装后执行 python3 --version 验证。
  4. 创建虚拟环境(推荐隔离依赖):
    python -m venv venv
    source venv/bin/activate      # macOS/Linux
    venv\Scripts\activate          # Windows
    
  5. 安装数据科学依赖包
    pip install jupyter pandas numpy matplotlib seaborn scikit-learn
    
  6. 安装 Node.js 与 npm(仅测验应用需要):安装后验证 node --versionnpm --version,然后在 quiz-app 目录执行 npm install
  7. (可选)安装 Docsify:用于离线阅读文档,npm install -g docsify-cli

安装验证:激活虚拟环境后运行 jupyter notebook,浏览器会打开 Jupyter 界面,可以进入任意课程的 .ipynb 文件;测验应用启动后访问 http://localhost:8080;文档服务(docsify serve)启动后访问 http://localhost:3000

减少下载体积:Sparse Checkout

由于仓库包含 50+ 种语言的翻译,整体下载体积显著增大。如果只需要英文课程内容,可以用 sparse checkout 排除翻译目录:

Bash / macOS / Linux:

git clone --filter=blob:none --sparse <仓库地址>
cd Data-Science-For-Beginners
git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'

CMD(Windows):

git clone --filter=blob:none --sparse <仓库地址>
cd Data-Science-For-Beginners
git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"

这样你可以获得完成课程所需的全部内容,同时下载速度明显更快。

学习工作流:如何高效使用这套课程

使用指南 提供了几种常见工作流,核心模式是「测验 → 阅读 → 动手 → 作业 → 测验」:

# 1. 进入课程目录
cd 1-Introduction/01-defining-data-science

# 2. 阅读 README.md(浏览器或编辑器中打开)

# 3. 完成课前测验(点击 README 中的测验链接)

# 4. 打开 Jupyter notebook(如有)
jupyter notebook

# 5. 完成 notebook 中的练习
# 6. 完成作业
# 7. 完成课后测验

针对不同目标的四种工作流:

Jupyter Notebook 使用要点

  • 运行单元格:按 Shift + Enter 或点击 Run 按钮;菜单中可选择 Cell → Run All 一次运行全部单元格;
  • 重启内核:遇到问题时选择 Kernel → Restart;
  • 自动保存:Jupyter 会定期自动保存,也可手动按 Ctrl + S(macOS 为 Cmd + S)保存到 .ipynb 文件。

一个典型的数据探索代码模板(详见 USAGE.md):

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

# 加载数据集
df = pd.read_csv('data/sample.csv')

# 探索数据
df.head()
df.info()
df.describe()

# 创建可视化
plt.figure(figsize=(10, 6))
plt.plot(df['column_name'])
plt.title('Sample Visualization')
plt.xlabel('X-axis Label')
plt.ylabel('Y-axis Label')
plt.show()

初学者友好示例:五个可直接运行的入门脚本

如果你是数据科学完全新手,建议先从 examples 目录 的简单、注释详尽的示例开始,在进入完整课程之前先理解基础。五个示例按难度递进:

  • 🌟 Hello World01_hello_world_data_science.py)——第一个数据科学程序:创建简单数据集(学生名单与成绩列表),用 max()/min()/sum()/len() 计算基本统计量,找出最高分学生,最后把数据组织成字典。示例完整演示了「创建数据 → 分析 → 洞见 → 结构化组织」的基本流程;
  • 📂 加载数据02_loading_data.py)——使用 Pandas 读取 CSV 文件(示例数据为仓库内的 data/birds.csv),查看 DataFrame 基本信息、首尾行与摘要统计;
  • 📊 简单分析03_simple_analysis.py)——计算均值、中位数、众数,查找最大值/最小值,统计出现次数,并按条件筛选数据;
  • 📈 基础可视化04_basic_visualization.py)——绘制柱状图、折线图、饼图,并把可视化结果保存为图片;
  • 🔬 真实世界项目05_real_world_example.py)——完整工作流:加载真实数据 → 清洗准备 → 分析 → 有意义地可视化 → 得出结论。

运行这些示例只需 pip install pandas numpy matplotlib,每个文件都带详细注释,适合完全零基础的读者。

离线访问:用 Docsify 本地起文档站点

课程文档可以用 Docsify 在本地离线运行:

  1. Fork 本仓库;
  2. 在本地机器安装 Docsify;
  3. 在仓库根目录执行:
docsify serve

站点会在 localhost:3000 提供服务。仓库根目录的 docs/_sidebar.mdindex.html 即是 Docsify 的文档侧边栏与入口配置,可以据此了解文档站的组织方式。

注意:notebook 不会被 Docsify 渲染,因此需要运行 notebook 时,请在 VS Code 中以 Python 内核单独运行。

学生与教师使用建议

对学生

  • 独立学习者:Fork 整个仓库,从课前测验开始,自行完成练习。建议在理解课程的基础上自己创建项目,而不是直接复制解答代码;解答代码位于每个项目导向课程的 /solutions 文件夹中。也可以与朋友组建学习小组共同推进。
  • 快速开始四步:① 查阅安装指南配置环境 → ② 阅读使用指南了解如何与课程交互 → ③ 从第 1 课开始顺序学习 → ④ 遇到问题加入社区寻求支持。
  • 学习方法建议:保持规律练习(至少每周完成一课),定期复习前面的课程;为每节课建立学习笔记;学完课程后把技术应用到个人项目——例如用 pd.read_csv 加载自己的数据,依次套用数据清洗(第 8 课)、探索性分析(第 7 课)、可视化(第 9–13 课)与分析(第 15 课)的流程。

对教师

  • 详细的教学指导见 for-teachers.md,包括课堂设置、作业评分等建议。
  • USAGE.md 给出了一份 10 周排课建议
周次 内容 课程
第 1–2 周 引言 第 1–4 课
第 3–4 周 处理数据 第 5–8 课
第 5–6 周 数据可视化 第 9–13 课
第 7–8 周 数据科学生命周期 第 14–16 课
第 9 周 云端数据科学 第 17–19 课
第 10 周 真实世界应用与期末项目 第 20 课
  • 课堂环境可选用 GitHub Classroom 或 Codespaces,建立统一的沟通渠道;使用 docsify serve 让学生在校内局域网离线访问 localhost:3000 上的文档。

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

课程仓库通过 GitHub Action 自动维护 50+ 种语言的翻译,且始终与英文版保持同步更新,包括阿拉伯语、孟加拉语、简体/繁体中文、捷克语、丹麦语、法语、德语、日语、韩语、俄语、西班牙语等。每个翻译目录保持与英文版相同的结构,例如本文对应的捷克语版本位于 translations/cs,其下按模块维护了各课程的 README 与 notebook(如 translations/cs/1-Introduction),翻译图片位于 translated_images/cs。这意味着学习者可以完全用自己的母语完成全部课程。

故障排除与帮助

如果遇到问题,按以下顺序排查:

  1. 查阅 故障排除指南 中记录的常见问题解决方案;
  2. 搜索仓库已有 Issues;
  3. 加入社区寻求支持(Discord 等渠道,链接见 README.md 底部);
  4. 提交包含详细信息的新 Issue。

相关课程与延伸学习

该系列还有配套的其他初学者课程(详见 README.md 的 Other Curricula 一节),覆盖机器学习(ML for Beginners)、生成式 AI(Generative AI for Beginners)、LangChain、AI Agents、Web 开发、IoT、XR 开发、Copilot 系列等主题。完成本课程后,可以继续沿着这些方向深入。所有相关入口均以课程徽章链接的形式列在 README.md 中。

总结:Data Science for Beginners 的核心价值在于「结构化 + 项目化 + 高频反馈」:20 节课被清晰地组织进六大模块,每节课都有测验闭环、动手项目和可参考解答;无论你是自学、组队还是课堂教学,都可以按本文给出的路径快速上手,并借助多语言翻译、离线 Docsify 文档与本地可跑的测验应用,获得完整且低门槛的数据科学学习体验。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
33
18
docsdocs
暂无描述
Markdown
900
5.83 K
ops-transformerops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
1.14 K
2.76 K
pytorchpytorch
作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU,为开发者提供昇腾 AI 处理器的超强算力。
Python
860
1.35 K
ops-nnops-nn
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
927
1.85 K
jiuwenswarmjiuwenswarm
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
3.94 K
1.02 K
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
533
603
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.37 K
1.46 K
AscendNPU-IRAscendNPU-IR
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
548
396
cann-learning-hubcann-learning-hub
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
1.04 K
527