Data Science for Beginners 课程使用指南:20 课数据科学学习路径的完整实操手册
本文是基于开源课程仓库 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):
- 课前测验(Pre-lesson Quiz):检验已有知识,帮助定位起点;
- 视觉笔记(Sketchnote,可选):关键概念的图形化总结,全仓库的速记图集中存放在 sketchnotes/ 目录;
- 视频(可选):补充视频讲解内容;
- 书面课程(Written Lesson):核心概念与文字讲解,即各课程的 README 正文;
- Jupyter Notebook:动手编码练习,位于课程目录下的
notebook.ipynb; - 作业(Assignment):课程目录下
assignment.md给出的实战任务; - 课后测验(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-python、08-data-preparation、09-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.vue 与 quiz-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 周排课方案
课堂环境搭建
- 详细教学指引参见 for-teachers.md;
- 搭建共享环境(如 GitHub Classroom 或 Codespaces 式云端开发环境);
- 建立沟通渠道(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 一致;如遇翻译歧义,应以英文原版为准。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0634
MiniCPM5-2BMiniCPM5-2B 是一款面向端侧、本地部署和资源受限场景的 2B 稠密 Transformer,能够达到同尺寸开源模型 SOTA 水平。Markdown00
jforgamejforgame是一个一站式游戏服务器开发框架。包含游戏服务器开发所需要的各种组件,比如网关,socket服务端与客户端,自定义高效消息编解码,游戏热更新,游戏通用工具等等。包含游戏服,跨服,匹配服,后台管理系统等实现,同时提供大量业务案例以供学习。亦可用于其他socket应用,例如及时聊天等。Java01
fizz-gateway-nodeAn Aggregation API Gateway in Java . FizzGate 是一个基于 Java开发的微服务聚合网关,是拥有自主知识产权的应用网关国产化替代方案,能够实现热服务编排聚合、自动授权选择、线上服务脚本编码、在线测试、高性能路由、API审核管理、回调管理等目的,拥有强大的自定义插件系统可以自行扩展,并且提供友好的图形化配置界面,能够快速帮助企业进行API服务治理、减少中间层胶水代码以及降低编码投入、提高 API 服务的稳定性和安全性。Java00
certd开源SSL证书管理工具;全自动证书申请、更新、续期;通配符证书,泛域名证书申请;证书自动化部署到阿里云、腾讯云、主机、群晖、宝塔;https证书,pfx证书,der证书,TLS证书,nginx证书自动续签自动部署JavaScript00
Spark-X2.5-1.7BSpark-X2.5-1.7B 旨在让强大的 AI 更加实用、高效且易于获取。这些模型在广泛的日常任务中表现出色,涵盖对话、写作、翻译、推理、编程、工具调用和智能体工作流,并在同等规模的开源模型中取得领先结果。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00