← 返回栏目

Software Carpentry:Shell、Git 与 Python/R 入门工作坊和自学材料导航

2014 年 8 月里约一场 Software Carpentry 工作坊现场。

2014 年 8 月 18 日的一场 Software Carpentry 工作坊现场(Wikimedia Commons 照片系列名 OSRio),讲师为 Raniere Silva 与 Alex Viana。摄影:Anneclinio;来源:Wikimedia Commons;许可:CC BY-SA 4.0。

Software Carpentry 是 The Carpentries 旗下的课程项目,面向几乎没有编程经验的科研人员,用三门核心课教科研计算基本功:Unix Shell、Git 版本控制,以及 Python 或 R。课程网站公开,材料以 CC BY 4.0 许可发布,可以自学;工作坊由各地机构主办,学员是否付费、是否对外开放、名额是否还有,都要看每场工作坊自己的页面。

开课方、费用与报名状态

开课方是 The Carpentries。Software Carpentry 与 Data Carpentry、Library Carpentry 并列,是它的三个课程项目之一;官方对 Software Carpentry 的定位是面向正在学习开发软件、或想掌握软件开发良好实践的人,内容不限学科。每场工作坊由大学、研究机构等主办方发起,至少由一名经过培训认证的讲师授课。组织方式分两种:“中心组织”由 Carpentries 的工作坊团队招募讲师、搭建报名;“自组织”由主办方自己负责报名、招募讲师和准备工作。

上课形式是讲师现场写代码、学员在自己的电脑上跟着敲(官方称 participatory live coding),助教一对一帮忙处理安装和报错。线下、线上都有:中心组织工作坊的标准时长是两个整天,线上可改成三天各 5 小时或四天各 4 小时。官方强烈建议实时参加而不是看录像,使用 Carpentries 的 Zoom 房间上课不提供录像。

费用要分开看。对学员:官方 FAQ 明确允许主办方向学员收报名费,并举例约 20 美元的象征性费用可以减少报名后缺席,因此某场工作坊是否免费、收多少,待逐场核对。对主办机构:自组织工作坊不向 Carpentries 付费;中心组织工作坊按定价页(2026 年 10 月 17 日查询),高收入经济体的非营利、学术和政府机构每场两天 3,200 美元,合作伙伴 2,400 美元,中高、中低和低收入经济体分别减免 25%、50%、75%;讲师差旅食宿另由主办方承担,FAQ 建议按约 3,000 美元估算。自学材料是公开网页,本文查询时无需登录即可访问。

语言方面,官方课程页列出 6 门英文核心课,另有 3 门西班牙语核心课(Unix Shell、Git、R 可复现科学分析);官方页面未列出中文版本,待核对。授课语言由各场工作坊决定,例如 2026 年 10 月 17 日的近期工作坊列表中,伦敦大学学院(University College London)11 月 11–12 日有一场西班牙语 Software Carpentry(Shell、Git、Python)。

报名没有统一入口。同一天的近期工作坊列表里还有亚琛工业大学(RWTH Aachen University,10 月 19–21 日,Python)、麻省理工学院(10 月 21–23 日,R)、迈阿密大学(10 月 27–30 日,Python)、哥廷根大学(11 月 2–3 日,Python)和波恩大学(12 月 7–10 日,R)等场次。列表只说明有这些工作坊,不代表对外开放或仍有名额:FAQ 写明主办方可以只对本机构人员开放。是否公开、费用、报名方式和截止时间,都需要点进各场页面核对,有疑问可联系页面“General Information”部分列出的联系人。

核心课程与学习收获

英文核心课共 6 门:The Unix Shell、Version control with Git、Programming with Python、Plotting and Programming in Python、Programming with R、R for Reproducible Scientific Analysis。一场工作坊通常讲 Shell、Git 和一门编程语言,具体选哪门 Python 或 R 课各场不同,近期列表里既有讲 Programming with Python 的,也有讲 Plotting and Programming in Python 的。另有 Make 自动化、MATLAB 编程、数据库与 SQL 三门补充课,不属于核心课程,需要联系官方了解。

2014 年 8 月 18 日里约 Software Carpentry 工作坊上午场次。

同一场工作坊的另一张现场照片,摄于 2014 年,只用来示意工作坊的上课场景;现行课程内容以官方课程页为准。摄影:Anneclinio;来源:Wikimedia Commons;许可:CC BY-SA 4.0。

  • Unix Shell:起点要求只是知道“文件”和“文件夹/目录”是什么。课程讲文件系统和命令行基础,目标是用几行命令自动化重复操作、把小任务串成工作流;官方也指出 Shell 是高性能计算等进阶工作的基础。Windows 用户按课程建议安装 Git for Windows,使用其中的 Git Bash。
  • Git 版本控制:在 Shell 里使用 Git,课程建议先有一些 Shell 经验,但不强制。学完能记录每次修改的人、时间和内容,回到旧版本,并在多人改同一项目时得到冲突提示;课程强调论文、小型数据集这类会变化的文件同样适用。第 7、8 集需要 GitHub 账号,GitHub 自 2023 年起要求所有账号开启多因素认证。
  • Python:Plotting and Programming in Python 面向几乎没有编程经验的人,以绘图为主线,以 JupyterLab 为参考环境;课前需装好 Python 3 并下载 gapminder 练习数据。
  • R:R for Reproducible Scientific Analysis 以 gapminder 数据为例,教模块化代码、任务自动化等科学计算的良好实践,需要安装 R 和 RStudio。课程明确说明只教 R 语言基础、不教统计分析,内容也多于一天能讲完的量。

学完能掌握的是入门级基本功:用命令行批量处理文件,用 Git 管理代码和稿件的版本并同步到 GitHub,用 Python 或 R 写出可复用的脚本来读数据、画图。它不教统计方法,想系统学统计需要另找课程。

适用人群与入门路径

这套课程适合几乎没有编程经验、想让自己的数据处理和代码更可复现的研究生和科研人员,官方写明工作坊不需要任何先前经验。如果主要需求是数据整理、清洗和可视化,官方建议同时看看 Data Carpentry;在图书馆和信息岗位工作的,可以看 Library Carpentry。从课程定位看,已能熟练写脚本、主要缺统计方法的人收获可能有限。

自学

  1. 按 Shell → Git → Python 或 R 的顺序学,Git 课默认你已经用过 Shell。
  2. 打开每门课的“Summary and Setup”页,按说明下载练习数据、安装软件(Windows 先装 Git for Windows)。
  3. 跟着课程网页逐集敲代码。教学材料按 CC BY 4.0 发布、示例代码按 MIT 许可发布,注明出处后可以复制和改编,用于自己的教学。

参加工作坊

  1. 打开 The Carpentries 的近期工作坊列表,找标注 Software Carpentry 的场次。
  2. 进入该场工作坊页面,核对是否对外开放、费用、报名方式和时间;不清楚就联系页面列出的联系人。
  3. 报名后按页面说明装好软件,有课前安装辅导可以参加;远程上课掉队时,可回到工作坊网站自行复习材料。

机构想办一场

FAQ 建议中心组织工作坊至少提前两到三个月申请,少于两个月不保证能安排讲师;非合作伙伴机构还要先完成工作坊协议签署。

参考文献

  1. The Carpentries. Software Carpentry Lessons. 发布日期未标注,2026-10-17 访问。

  2. The Carpentries. Workshops. 发布日期未标注,2026-10-17 访问。

  3. The Carpentries. Upcoming workshops. 动态页面,2026-10-17 访问。

  4. The Carpentries. Workshops FAQ. 发布日期未标注,2026-10-17 访问。

  5. The Carpentries. Pricing. 发布日期未标注,2026-10-17 访问。

  6. Software Carpentry. The Unix Shell: Summary and Setup. 2026-10-17 访问。

  7. Software Carpentry. Version Control with Git: Summary and Setup. 2026-10-17 访问。

  8. Software Carpentry. Plotting and Programming in Python: Summary and Setup. 2026-10-17 访问。

  9. Software Carpentry. R for Reproducible Scientific Analysis: Summary and Setup. 2026-10-17 访问。

  10. The Carpentries. The Unix Shell: Licenses. 页面更新于 2025-01-25,2026-10-17 访问。

  11. 学术之门 · 学者的智能时代生活指南

  12. 信息由 Scholay 学术一站式平台 整理并发表,如有侵权请反馈下架。

  13. 信息同步发表于恩特学术,智能时代的学者社区