Original Curriculum · 原创课程体系
Curriculum Design · 课程总体设计
编写者:Jaime Yan。本文件维护《现代 R 进阶》及其训练配套的教学设计。 课程围绕学习成果组织;posit::conf 工作坊、经典教材和官方文档按知识需求提供支撑, 来源目录不决定课程边界。当前主要读者是已有 R 基础的分析人员,以及临床研究和制药领域使用者。 独立训练见 training/,教材化扩充计划见 EDITORIAL-PLAN.md。
1. Design Philosophy · 设计理念
1.1 Three commitments · 三个承诺
- Backward design(逆向设计):每个模块先定「学员要能做成什么」(可评估的成果), 再定证据(练习/作品),最后才写讲义。绝不从”讲什么知识点”出发。
- Competency over tools(能力先于工具):分类的骨架是能力域与水平,不是软件名。 工具会过时(RStudio→Positron,LaTeX→Typst),能力域稳定。工具只是能力域的”实例”。
- AI as a thread, not a chapter(AI 是线不是章):AI 辅助实践贯穿每一级, 而不是孤立一章。这是 2026 年材料最核心的信号。
1.2 Taxonomy · 分类法(本课程的骨架)
双视图原则:课程同时保持两种组织方式,各司其职——
- 能力矩阵视图(MATRIX.md):5 能力域 × 3 水平(布鲁姆修订版思想), 用于检索、诊断与画像个性化路径;工具会过时,能力域稳定。
- 单元交付视图(UNIT-STRUCTURE.md):参照 STAT 541 Advanced R(Bodwin & Theobold, CC-BY-SA 4.0)的三单元弧线 (复杂分析 → 专业交付物 → 包开发)+ 我们扩展的第四单元(AI 与领域应用), 用于开班/成书的线性交付。
两视图通过 UNIT-STRUCTURE §4 交叉表互通;讲义写作语法统一采用其 9 类教学标注 体系(CALLOUTS.md)。
L1 奠基 Foundations L2 实践 Practitioner L3 工程师 Engineer
(记忆·理解·应用) (应用·分析) (评价·创造)
A 计算与工具 ▢ ▢ ▢
B 数据获取与加工 ▢ ▢ ▢
C 分析与推断 ▢ ▢ ▢
D 沟通与出版 ▢ ▢ ▢
E 交付与治理 ▢ ▢ ▢
─────────────────────────────────────────────────────────────────────
F AI 增强实践(横切线索,织入 A–E 每一格,不单设章节)
完整映射(每格放哪些上游材料、写哪些原创单元)见 MATRIX.md。
1.3 What is “ours” vs “adapted” · 原创与改编的边界
| 类型 | 判定 | 许可 |
|---|---|---|
| 原创课程设计(本文件、MATRIX、模块蓝图、练习、评分量规、画像) | 我们从头写的 | 项目自有,对外 CC-BY-SA 4.0 统一发布 |
| 改编内容(翻译、摘编、引用上游片段) | 内容实质来自上游 | 必须 CC-BY-SA 4.0 + 署名头(同 CONTRIBUTING 规则) |
| 上游镜像 | 逐字复制 | 上游协议,见 ATTRIBUTION.md |
写作纪律:原创讲义可以”参考上游的教学顺序与例子设计”,但文字必须自己写; 直接搬用句子/图 = 改编,需署名。每个模块的 SOURCES.md 声明两者边界。
2. Learner Personas · 学员画像(4 类)
| 画像 | 描述 | 入口评估 | 目标路径 | 关键痛点 |
|---|---|---|---|---|
| P1 小林 | 研究生,零编程,用过 SPSS/GraphPad | L0 → L1 | L1 全域 → L2 B/D | 术语恐惧、环境配置劝退 |
| P2 陈医生 | 临床医生,会一点 R 拼 dplyr,要出可复现报告+出版级图表 | 免 L1-A 前半 | L1 D → L2 B/D 直通 | 时间碎片化、统计报告合规 |
| P3 阿伟 | 生信/数据分析,R 熟练,要升级现代栈 + AI 工作流 | 免 L1 | L2 全域 → L3 A/E | 工作流陈旧、AI 工具不会用 |
| P4 老周 | 药企生物统计,SAS 背景,转向 R 且受 GxP 约束 | L1-A 快速通道 | L2 C/E → L3 E | 验证、可追溯、合规 |
画像驱动取舍:一个模块若对 4 类画像都没命中”痛点”,就砍掉。P2/P4 是我们的 差异化定位(医学/制药人群),也是市面课程空白。
3. Module Anatomy · 模块解剖(每课的固定骨架)
每个模块 = curriculum/modules/<层级>-<域><序号>-<slug>/ 目录,含:
DESIGN.md ← 设计文档(先写这个,评审通过才写讲义)
lesson/ ← 双语讲义(zh 为教学主语言,en 对照)
exercises/ ← 三档练习:copy · adapt · create(刻意练习梯度)
capstone.md ← 压轴小项目:真实任务 + 评分量规(rubric)
SOURCES.md ← 原创声明 + 上游材料映射表(协议合规)
DESIGN.md 必填字段(模板见 modules/TEMPLATE.md):
- Big idea & essential questions(大观念与核心问题:学完三年后还记得住的那句话)
- Objectives(可测目标,动词用布鲁姆层级:L1 用 describe/execute;L2 用 diagnose/design;L3 用 justify/architect)
- Prereq check(5 分钟自测,不合格给出回补模块链接)
- Concept ladder(概念阶梯:每个概念 = 解释 → 演示 → 练习 → 常见误区)
- Assessment evidence(练习 + capstone 如何证明目标达成)
- AI integration point(本模块哪里织入 F 线:如用 Assistant 解释报错)
- Time budget(按画像给 2–3 档时长)
Competency Matrix · 能力矩阵
Competency Matrix · 能力矩阵(课程骨架与素材映射)
本矩阵是课程的分类核心:5 个能力域 × 3 个水平,把 27 个上游仓库(三届 posit::conf 材料)全部归位,并标注每个格子要写的原创单元与压轴项目。 约定:一个仓库可跨格出现(工作坊本身是综合体);
※= 该格主力素材。
图例
L1 奠基(记忆·理解·应用)→L2 实践(应用·分析)→L3 工程师(评价·创造)- 原创单元命名:
<层级>-<域><序号>-<slug>,如L2-D2-pub-ready-reports (镜)= 已镜像于content/en/;(链)= 上游链接见 ARCHIVE-CATALOG.md
A · 计算与工具 Compute & Tooling
会配环境、会写代码、会自我排错、能治理生产环境
| L1 奠基 | L2 实践 | L3 工程师 | |
|---|---|---|---|
| 上游素材 | r-programming(+exercises)※(链) · positron※(镜) | modern-r-workflow※(镜) | r-in-production(链) · reproducible-environments(链) |
| 原创单元 | L1-A1-first-repo(R+Positron+第一个项目,已建示例) | L2-A1-modern-workflow(AI 反馈循环+AGENTS.md) | L3-A1-prod-environments(快照/锁/验证) |
| 压轴项目 | 端到端跑通并发布一个分析 | 为真实项目写 AGENTS.md 并量化 AI 提效 | 搭建可审计的团队 R 环境 |
B · 数据获取与加工 Data Engineering
能把脏数据变成可信分析表,小到 CSV 大到分布式
| L1 | L2 | L3 | |
|---|---|---|---|
| 上游素材 | r-programming 数据结构部分(链) | databases(DuckDB)※(链) · arrow(链) · modern-ds-python 的 Polars(镜) | arrow 高阶(链) · databricks(备查) |
| 原创单元 | L1-B1-import-clean(导入·清洗·整洁数据) | L2-B1-beyond-csv(SQL/Arrow/列存思维) | L3-B1-data-pipelines(大数据管线设计) |
| 压轴项目 | 清洗一份真实脏数据集 | DuckDB+Arrow 重写一条慢查询并基准测试 | 设计 PB 级取数管线的决策文档 |
C · 分析与推断 Analysis & Inference
从描述到预测到因果,知道每种结论的证据边界
| L1 | L2 | L3 | |
|---|---|---|---|
| 上游素材 | r-programming 统计部分(链) | tidymodels※(链) · scikit-learn(链) | causal※(链) |
| 原创单元 | L1-C1-eda-intuition(描述统计+图形直觉) | L2-C1-modeling-workflow(重抽样/调参/评估) | L3-C1-causal-inference(因果设计与敏感性分析) |
| 压轴项目 | 一份 EDA 报告 | 一份含模型比较的建模报告(Quarto 渲染) | 一份因果分析的评审式答辩 |
D · 沟通与出版 Communication & Publishing
图表、表格、文档——让别人看懂并信任你的结果
| L1 | L2 | L3 | |
|---|---|---|---|
| 上游素材 | quarto-intro(链) | practical-quarto(+exercises)※(镜) · quarto-brand(链) · ggplot2※(链) · great-tables(镜) | quarto-extend(+exercises)(链) |
| 原创单元 | L1-D1-first-quarto(第一个可复现报告) | L2-D2-pub-ready-reports(品牌/模板/Typst)· L2-D1-ggplot2-mastery | L3-D1-quarto-extensions(Lua/过滤器开发) |
| 压轴项目 | R Markdown→Quarto 迁移一份旧报告 | 出版级「brand+partials+Typst」三件套 | 写一个团队可复用的 Quarto 扩展 |
E · 交付与治理 Delivery & Governance
把分析变成应用与服务,并对其质量负责(含受监管场景)
| L1 | L2 | L3 | |
|---|---|---|---|
| 上游素材 | shiny-r※(链) · shiny-py(MIT)(链) | level-up-shiny(链) · llms 的 shinychat/querychat(镜) | vetiver(链) · pharmaverse※(镜) · r-pharma-regulated(镜) |
| 原创单元 | L1-E1-first-shiny(第一个交互应用) | L2-E1-shiny-in-anger(模块化/golem/性能) | L3-E2-clinical-reporting(SDTM→ADaM→TFL)· L3-E1-mlops(vetiver 上线) |
| 压轴项目 | 一个部署上线的迷你应用 | 重构一个失控的 Shiny 应用 | 跑通带验证痕迹的临床报告链路 |
F · AI 增强实践(横切线索,织入而非单列)
| 织入点 | 所用素材 | 说明 |
|---|---|---|
| L1 各模块「报错自救」 | positron AI Client(镜) | 第一次报错就教「问 AI 前先读报错」 |
| L1-A/L2-A 反馈循环 | modern-r-workflow 模块 03–07(镜) | AGENTS.md、skills、人机协作规范 |
| L2-D 讲义协作 | practical-quarto 模块 01(镜) | Air 格式化 + LLM 辅助写作 |
| L2-F 独立短课程 | llms 全仓(镜):ellmer/chatlas、structured output、agents、skills、RAG、MCP | 差异化主打;练习梯度直接沿用 _exercises 重编 |
| L3-E 受监管 AI | r-pharma-regulated AI 节(镜) | AI 在 GxP 下的边界 |
画像 → 矩阵路径
P1 小林 : L1-A1→L1-B1→L1-D1→L1-C1→L2-B1→L2-D2
P2 陈医生 : (免修 L1 前半)L1-D1→L1-C1→L2-D1→L2-D2 ← 报告与出版直达
P3 阿伟 : L2-A1→L2-F→L2-E1→L3-A1 ← 现代栈+AI 主线
P4 老周 : L1-A1 快速通道→L2-C1→L2-E1→L3-E2 ← 合规临床主线
空缺审计(诚实声明)
以下格子上游没有现成素材,必须 100% 原创或外部补充: - L1-B1(真实脏数据清洗——需自建数据集) - L2-C1 的医学统计桥接(tidymodels 无临床示例——我们的差异化机会) - L3-B1(生态里缺系统化大数据课程)