课程 · 资源记录
Computational Methods of Scientific Programming
面向物理科学实践介绍程序设计、算法验证、数值分析、可视化、高性能工作流、版本控制、文档和可复现发布。
为什么重要
用于核对 P11 的程序验证、并行性能测量、环境记录、结果传播和可复现计算实验要求。
阅读前提
教材中的引用位置
- C00 · 第 1 章 程序、类型、控制流与函数
支持的主张:MIT 12.010 的科学编程内容在本章用于说明类型与控制流如何服务数值可靠性:物理量和数组形状要在入口处检查,循环终止条件应对应收敛或数据边界,异常路径必须保留足够上下文以定位失败样本。这些要求把基础语法提升为可验证程序合同,尤其避免单位不一致或非法值在后续计算中静默传播。
- C00 · 第 2 章 集合数据、文件与错误处理
支持的主张:MIT OpenCourseWare 6.0001 覆盖 Python 集合、异常和文件处理;12.010 提供科学程序的数据、验证与可复算工作流背景。示例使用稳定的基础语义和标准结构,不依赖特定小版本的冷门语法,也不把渐近复杂度冒充具体性能测量。
- C00 · 第 3 章 数组、向量化与数值精度
支持的主张:MIT OpenCourseWare 6.0001 提供 Python 程序与集合语义基础,12.010 连接数组数值计算、验证和科学工作流。本章示例采用常见 NumPy 型数组语义;使用其他库时应核对其索引、副本、类型提升和执行设备规则。
- C00 · 第 4 章 数据可视化与计算实验
支持的主张:MIT OpenCourseWare 12.010 覆盖科学编程、验证、可视化、版本控制和可复现工作流,可用于核对本章计算实验与产物组织。图形只负责诚实表达已有证据,不能补足缺失对照、错误单位或不足采样。
- C00 · 第 5 章 测试、版本控制与环境管理
支持的主张:MIT OpenCourseWare 6.0001 用于核对基础测试与异常处理,12.010 用于核对科学程序验证、版本记录和可复现环境。本文不依赖特定代码托管或自动化平台。
- C00 · 第 6 章 编程与科学计算综合项目
支持的主张:MIT OpenCourseWare 6.0001 用于核对函数、集合、文件和异常的基础实现边界,12.010 用于核对数值拟合、图表、实验记录和可复现交付。示例数据仅用于验证数据流,不能据此推断某地的标准重力值。
- C02 · 第 1 章 数据质量、清理与模式验证
支持的主张:MIT 12.010 在本章用于支撑可重复的数据质量处理方法:把单位换算、缺失值判定和异常标记写成显式函数,以断言检查范围与模式,并保存清理前后的诊断量。这样可以区分原始观测、质量标记和派生值,避免手工覆盖数据后无法判断某个估计结果究竟依赖哪条清理规则。
- C02 · 第 2 章 数据变换、血缘与版本
支持的主张:MIT 12.010 在本章支撑用程序表达并验证数据变换:每一步应具有明确输入、输出和参数,重复执行不得悄然改变结果,关键中间量还需通过断言或数值基准检查。这个方法使血缘图中的边对应真实可运行的变换,而不是事后补写的流程描述,并为版本迁移后的结果比对提供依据。
- C02 · 第 3 章 对照、随机化与功效分析
支持的主张:NIST/SEMATECH 手册用于核对随机化、区组、重复和对照在实验设计中的统计作用,以及这些设计如何进入方差和效应比较;MIT 12.010 的科学编程材料用于核对随机种子、参数记录、数据处理与可复算脚本的工程接口。随机化提供的是分配机制,固定种子提供的是计算复现,两者在本章中被分别检验。
- C02 · 第 4 章 指标、统计比较与多重检验
支持的主张:NIST/SEMATECH 手册用于核对均值、离散程度、置信区间、残差诊断和多组比较所需的统计条件;MIT 12.010 的材料用于核对从原始数据变换到指标表和图形的可复现计算流程。本章据此把“指标定义是否适合问题”和“实现是否按同一口径计算”分成两项检查。
- C02 · 第 5 章 实验追踪、环境封装与制品
支持的主张:MIT 12.010 的可复现计算实践支撑本章对运行封装的具体要求:代码版本、输入数据、参数、软件环境和输出应形成可核对的一次运行记录,验证脚本还要能在独立环境中重算关键结果。由此,制品包的身份不只是一串文件名,而是能够重建“何种条件产生何项结论”的证据链。
- C02 · 第 6 章 数据处理与实验设计综合复习
支持的主张:MIT 12.010 的科学编程材料在本章支撑“统计结论必须连同可复算过程交付”:分析代码应把原始数据、确定性变换、参数和输出分开保存,并用数值检查和可视化诊断验证中间结果。该工作流为综合案例中的数据版本、运行清单与结果制品提供了可执行的组织方法,而不只保留最终指标。
- M10 · 第 1 章 浮点数、条件数与误差传播
支持的主张:MIT 12.010 的科学编程材料用于核对浮点计算在数组运算、数值实验、误差可视化和可复现脚本中的实际传播方式;MIT 数值分析课程用于核对舍入模型、条件数与稳定性定义。本章据此把问题条件、算法稳定性和具体实现误差分成三层,不用一次机器结果代替误差界。
- P11 · 第 1 章 离散化、误差预算与模型验证
支持的主张:MIT OpenCourseWare 12.010《Computational Methods of Scientific Programming》支撑本章把离散化验证落实为可执行实验:同一物理量要在成组网格或时间步上自动重算,保存误差范数、收敛斜率与输入配置,并用回归测试防止代码修改破坏已知阶数。该课程在此支持的是验证流程和程序证据链;与实验观测的一致性仍需单独的 validation 数据,不能由网格收敛代替。
- P11 · 第 5 章 并行计算、可复现性与性能测量
支持的主张:MIT OpenCourseWare 12.010《Computational Methods of Scientific Programming》支撑本章的程序组织与复现实验约定:并行任务应从稳定的逻辑任务标识派生随机子流,输入、依赖和编译环境需随结果归档,性能测量还要固定问题规模并区分通信、计算与 I/O。该来源具体支持进程数变化后的数值或统计一致性检查,而不保证不同归约顺序会得到逐位相同的浮点结果。
- P11 · 第 6 章 计算物理综合项目与复习
支持的主张:MIT OpenCourseWare 12.010《Computational Methods of Scientific Programming》支撑本章综合项目的可复现计算要求:将参数、随机种子、离散网格与软件版本写入运行记录,把模型求解、诊断统计和结果绘图拆成可重跑步骤,并用小规模已知解测试关键程序。该来源在本章具体支持“计算结果必须连同生成过程交付”的方法,而不把一次成功运行当作算法或物理模型已经验证。