首页
/ Data Science for Beginners 课程使用指南:20 课数据科学学习路径的完整实操手册

Data Science for Beginners 课程使用指南:20 课数据科学学习路径的完整实操手册

2026-09-09 19:09:23作者:吴年前Myrtle

本文是基于开源课程仓库 Data-Science-For-Beginners 官方使用指南(USAGE.md)整理而成的实战手册,面向自学开发者、教师与学习小组,系统讲解课程结构、Jupyter Notebook 操作、测验应用启动、四大学习工作流、10 周授课排期以及离线部署方案。读完本文,你将掌握这套"10 周、20 课"数据科学课程从环境搭建到逐课推进、再到本地离线使用的完整方法,并能直接套用文中命令与模板开始学习或开课。

课程的灵活使用方式

课程设计为高度灵活的开放教育资源,官方使用指南明确列出四种典型使用场景,可单独或组合采用:

  • 自定进度学习(Self-paced learning):按自己的节奏独立完成全部课程,适合在职开发者与在校学生;
  • 课堂授课(Classroom instruction):作为带引导的结构化课程,配合 10 周排期表进行系统教学;
  • 学习小组(Study groups):与同伴协作学习,互相讲解、互相评审作业与项目;
  • 工作坊形式(Workshop format):面向短期集中学习,挑选特定章节(如数据可视化部分)做高强度实战训练。

无论采用哪种方式,课程仓库根目录下的 README.md 都提供了 20 课的整体路线图与模块划分,for-teachers.md 则为教学场景提供了更细致的引导说明。

单课结构与标准学习工作流

每节课的七段式结构

为最大化学习收益,仓库中的每节课都遵循一致的结构(可参照任意课程的 README 验证,例如 01-defining-data-science/README.md):

  1. 课前测验(Pre-lesson Quiz):检验已有知识,帮助定位起点;
  2. 视觉笔记(Sketchnote,可选):关键概念的图形化总结,全仓库的速记图集中存放在 sketchnotes/ 目录;
  3. 视频(可选):补充视频讲解内容;
  4. 书面课程(Written Lesson):核心概念与文字讲解,即各课程的 README 正文;
  5. Jupyter Notebook:动手编码练习,位于课程目录下的 notebook.ipynb
  6. 作业(Assignment):课程目录下 assignment.md 给出的实战任务;
  7. 课后测验(Post-lesson Quiz):巩固理解、检验学习效果。

一节课程的完整命令行工作流

官方指南给出了逐节推进的标准命令序列:

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

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

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

# 4. 打开 Jupyter Notebook(如果该课提供了 notebook)
jupyter notebook

# 5. 完成 notebook 中的练习

# 6. 完成 assignment.md 中的作业

# 7. 完成课后测验

课程目录中统一存放了 README(讲解)、assignment.md(作业)与 notebook.ipynb(练习),其中若干课程还提供 solution/ 参考实现(如 04-stats-and-probability/solution/09-visualization-quantities/solution/),可供完成后对照。

Jupyter Notebook 实操指南

启动 Jupyter

在完成 INSTALLATION.md 的环境配置后,按以下方式启动:

# 激活虚拟环境
source venv/bin/activate   # macOS/Linux
# 或 Windows:
venv\Scripts\activate

# 在仓库根目录启动 Jupyter
jupyter notebook

单元格执行与内核操作

  • 执行单个单元格:按 Shift + Enter,或点击工具栏 "Run" 按钮;
  • 全部执行:菜单栏选择 "Cell" → "Run All";
  • 重启内核:遇到问题(如内存占用、变量状态异常)时选择 "Kernel" → "Restart"。

结合仓库真实数据集的数据探索示例

官方指南以 data/sample.csv 为例演示加载流程;在真实仓库中,可直接使用根目录 data/ 下已内置的数据集,例如鸟类观测数据 birds.csv、蘑菇数据集 mushrooms.csv、出租车数据 taxi.csv、糖尿病数据 diabetes.tsv 等,它们分别被 07-python08-data-preparation09-visualization-quantities 等课程引用。示例代码如下:

# 导入所需库
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

# 加载数据集(例如课程内置的鸟类数据)
df = pd.read_csv('data/birds.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()

保存进度

Jupyter 会周期性自动保存;也可手动按 Ctrl + S(macOS 为 Cmd + S)保存。所有进度都持久化在对应课程的 .ipynb 文件中,重启后仍可继续。

使用测验应用(quiz-app)

本地启动

测验应用是位于仓库 quiz-app/ 下的 Vue.js 项目。查看 quiz-app/package.json 可知,npm run serve 实际调用 vue-cli-service serve 启动开发服务器:

# 进入测验应用目录
cd quiz-app

# 启动开发服务器
npm run serve

# 浏览器访问
# http://localhost:8080

若 8080 端口被占用,开发服务器会自动切换其他端口,并会在终端输出实际地址。

测验机制与编号规则

  • 课前测验链接位于每节课 README 顶部,课后测验位于底部;
  • 每个测验包含 3 个问题,设计目的是强化学习而非全面考核;
  • 测验按 0-39 编号,共 40 个测验;每节课通常包含一个课前与一个课后测验,测验 URL 中携带编号,例如 https://ff-quizzes.netlify.app/en/ds/quiz/0

从源码侧可以验证这一规则:quiz-app/src/assets/translations/en/group-1.json 中 id 为 0 的测验标题是 "Defining Data Science - Pre Quiz"(课前),id 为 1 的是 "Defining Data Science: Post-Quiz"(课后),每个测验恰好包含 3 个带 answerOptions 的选择题;翻译文件按 group 拆分并经 quiz-app/src/assets/translations/en/index.js 汇总,支持英语、法语、西班牙语等多语言(对应 quiz-app/src/assets/translations/ 下的子目录)。测验前端组件与路由分别位于 quiz-app/src/components/Quiz.vuequiz-app/src/router/index.js,本地部署的 SPA 回退规则定义在 quiz-app/public/routes.json

四大常见学习工作流

工作流一:完整初学者路径

按顺序通学全部 20 课,适合零基础入门:

# 1. 按 INSTALLATION.md 完成环境配置

# 2. 从第 1 课开始
cd 1-Introduction/01-defining-data-science

# 3. 每节课依次:课前测验 → 阅读课程 → 完成 notebook → 完成作业 → 课后测验

# 4. 按 01 → 20 顺序推进全部课程

工作流二:主题定向学习

按模块聚焦某一领域,例如数据可视化(第 9-13 课):

# 进入数据可视化模块
cd 3-Data-Visualization

# 依次学习:
# - Lesson 9: 数量可视化(Visualizing Quantities)
# - Lesson 10: 分布可视化(Visualizing Distributions)
# - Lesson 11: 比例可视化(Visualizing Proportions)
# - Lesson 12: 关系可视化(Visualizing Relationships)
# - Lesson 13: 有意义的数据可视化(Meaningful Visualizations)

其他可选的模块入口包括:1-Introduction(第 1-4 课,数据科学定义与概率统计基础)、2-Working-With-Data(第 5-8 课,关系/非关系数据库、Python 与数据准备)、4-Data-Science-Lifecycle(第 14-16 课,数据科学生命周期)、5-Data-Science-In-Cloud(第 17-19 课,云端数据科学)。

工作流三:项目驱动学习

以完整项目为主线串联知识:

# 1. 先学习数据科学生命周期(第 14-16 课)
cd 4-Data-Science-Lifecycle

# 2. 再研读第 20 课的真实世界案例
cd ../6-Data-Science-In-Wild/20-Real-World-Examples

# 3. 将所学概念迁移到自己的项目

第 20 课 20-Real-World-Examples 展示了数据科学在人文学科、可持续发展、科研与现实世界中的多种应用形态,是项目式学习的理想范本。

工作流四:云端数据科学

聚焦云计算环境下的数据科学实践(第 17-19 课):

# 学习云端数据科学(第 17-19 课)
cd 5-Data-Science-In-Cloud

# 17: 云端数据科学导论
# 18: 低代码机器学习工具
# 19: Azure Machine Learning Studio

其中第 19 课还提供了云端 notebook 参考实现 19-Azure/solution/,可直接对照练习。

自学者技巧

保持条理

建立个人学习日志,逐课沉淀笔记:

# 创建学习日志目录
mkdir my-learning-journal

# 为每节课建立笔记文件
echo "# Lesson 1 Notes" > my-learning-journal/lesson-01-notes.md

规律练习

  • 每天或每周预留固定学习时间;
  • 每周至少完成一节课;
  • 定期回顾前面的课程,避免遗忘。

把知识用到自己的项目

学完课程后,用个人数据集做综合练习,把各课技术串联起来:

import pandas as pd

# 加载自己的数据
my_data = pd.read_csv('my-project/data.csv')

# 应用学到的技术:
# - 数据清洗(第 8 课 Data Preparation)
# - 探索性数据分析(第 7 课 Python)
# - 数据可视化(第 9-13 课)
# - 数据分析(第 15 课 Analyzing)

教师技巧与 10 周排课方案

课堂环境搭建

  1. 详细教学指引参见 for-teachers.md
  2. 搭建共享环境(如 GitHub Classroom 或 Codespaces 式云端开发环境);
  3. 建立沟通渠道(Discord、Slack 或 Teams)。

建议的 10 周课表

官方指南给出了直接可用的排期方案,与仓库六大模块一一对应:

周次 内容 课程
第 1-2 周 数据科学导论 第 1-4 课
第 3-4 周 处理数据 第 5-8 课
第 5-6 周 数据可视化 第 9-13 课
第 7-8 周 数据科学生命周期 第 14-16 课
第 9 周 云端数据科学 第 17-19 课
第 10 周 真实世界应用与结业项目 第 20 课

模块边界可通过 docs/_sidebar.md 中的侧边栏导航直接对应:Introduction、Working With Data、Data Visualization、Data Science Lifecycle、Data Science in the Cloud、Data Science in the Wild。

用 Docsify 实现课堂离线访问

# 在仓库根目录本地托管文档(供课堂使用)
docsify serve

# 学生访问 http://localhost:3000
# 完成初始配置后无需联网

仓库根目录的 index.html 是 Docsify 的入口配置:它通过 window.$docsify 设置了 name: 'Data Science for Beginners'relativePath: true(启用相对路径解析,保证多语言目录下的链接正确),并加载 docsify-themeable 主题;docs/_sidebar.md 定义了左侧导航,将全部 20 课组织为六大模块。

作业评分与自定义作业模板

评分建议:检查学生 notebook 中练习的完成度;参考测验得分判断理解程度;用数据科学生命周期原则评估结业项目。

自定义作业模板(官方指南提供,可直接套用):

"""
Assignment: [Topic]

Objective: [Learning goal]

Dataset: [Provide or have students find one]

Tasks:
1. Load and explore the dataset
2. Clean and prepare the data
3. Create at least 3 visualizations
4. Perform analysis
5. Communicate findings

Deliverables:
- Jupyter notebook with code and explanations
- Written summary of findings
"""

离线环境工作

下载资源

# 克隆完整仓库(包含全部课程与数据)
git clone https://gitcode.com/GitHub_Trending/da/Data-Science-For-Beginners

# 数据集大多已内置在仓库的 data/ 目录中,可提前准备好

本地运行文档与测验

# 用 Docsify 本地托管文档
docsify serve        # 访问 http://localhost:3000

# 本地运行测验应用
cd quiz-app
npm run serve        # 访问 http://localhost:8080

多语言翻译内容

课程翻译覆盖 40 余种语言,统一存放在 translations/ 目录,每种语言与英文原版保持完全一致的目录结构:

# 访问翻译课程
cd translations/fr   # 法语
cd translations/es   # 西班牙语
cd translations/de   # 德语
# ... 以及更多语言(ar、bn、zh-CN、ja、ko 等)

此外,translated_images/ 目录还按语言存放了翻译后的课程配图与速记图,供多语言学习者使用。

排障与进一步帮助

  • 常见问题优先查阅仓库根目录的 TROUBLESHOOTING.md
  • 环境搭建细节见 INSTALLATION.md,其中包含 Git 安装、Python/Jupyter 安装、虚拟环境创建、pip install jupyter pandas numpy matplotlib seaborn scikit-learn 依赖安装、Node.js/npm 与 Docsify 安装、以及验证安装是否成功的完整步骤;
  • 想参与贡献或报告问题时,阅读 CONTRIBUTING.md
  • 需要更系统的教学组织方法时,参考 for-teachers.md

使用须知:本仓库的孟加拉语等翻译版使用说明(如 translations/bn/USAGE.md)由 AI 翻译服务生成,内容与英文原版 USAGE.md 一致;如遇翻译歧义,应以英文原版为准。

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

项目优选

收起
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