培训大学生贡献 Linux 内核

还没有读者喜欢这个。
Imdergrads and open source contributors without writing any code

Opensource.com

继我最近关于为重新平衡 Linux 内核社区人口结构而制定的倡议的文章之后,我想分享一套具体的培训活动,以帮助初学者,特别是大学生,参与到内核中来。

这些活动是由 Red Hat 的一个充满热情的团队创建的,包括 Matthew Whitehead 和 Priti Kumar,并在伦斯勒理工学院校园内展开,伦斯勒理工学院伦斯勒开源中心 (RCOS) 和 纽约州立大学奥尔巴尼分校

开发这些活动的目的是为了揭开贡献 Linux 内核过程的神秘面纱。我们专注于以下过程:

  • 获取源代码
  • 创建 Git 分支
  • 准备补丁
  • 将其提交给适当的维护者

这里的核心思想是:参与内核社区很容易。关键是从简单的补丁开始。

 我们特意专注于非常简单(几乎微不足道)的补丁,以便学生可以将所有注意力都集中在熟悉社区流程上。我们用于这些培训课程的材料:培训课程:Linux 内核培训课程 - 第一部分 (使用 Reveal.js 创建,请参阅 此处的教程源幻灯片 在 GitHub 上)。

此材料涵盖

注意: 在准备活动材料时,我们发现这本书很有用:Linux 内核概要 作者:Greg Kroah-Hartman。完整 PDF 可免费下载。此外,源代码在 Git 中

同样,此练习中使用的补丁非常简单

它们涉及替换语句

printk(...)

printk(KERN_DEBUG....)

linux training

然后,我们能够专注于提交补丁的过程,而无需担心内核本身的软件架构。有成千上万个这样的简单补丁,等待志愿者来处理。正如 Linus Torvalds 所说

...这些微不足道的补丁是最重要的补丁之一——正是因为它们是每个新开发人员的“入门”补丁。

我们使用 Amazon EC2 中的 Ubuntu 13 VM(在 Amazon 提供给纽约州立大学奥尔巴尼分校的学术资助下)与学生一起完成了练习。VM 中的设置非常基本;我们安装了几个开发包。

我们使用这些材料举办了三场培训课程

  • 在伦斯勒理工学院的开源课程中,与 16 名学生(由计算机科学和电气工程专业的学生组成)一起
  • 在纽约州立大学奥尔巴尼分校,与 33 名来自信息科学专业的学生(由本科生和研究生组成)一起
  • 在伦斯勒开源中心 (RCOS),由计算机科学和电气工程专业的学生组成

这三场课程在两天内完成,因此我们受益于根据从之前的课程中学习到的内容进行更改的机会。最后一步是改进这些培训材料,甚至开发新的材料,以便其他内核爱好者可以将它们用作课堂、活动或聚会的培训活动。目标是让它们既易于访问又有趣。

linux training

所有完成活动的学生都获得了“Linux Kernel Padawan”徽章,该徽章使用 Mozilla Open Badges 平台设计。它们可以显示在他们的 Mozilla Backpack 页面、LinkedIn 等网站以及他们的简历中。

我们计划在春季在纽约州立大学奥尔巴尼分校的操作系统课程中重复这些培训课程,并在纽约州立大学奥尔巴尼分校第四届开源节期间作为黑客马拉松。

如果您有兴趣帮助我们改进这些培训材料,请发布问题,进行 拉取请求,或写入 GitHub 存储库wiki 页面。如果您想运行或主持培训课程并希望协调,请在此处给我发送电子邮件

User profile image.
Luis Ibáñez 在芝加哥的 Google Inc 担任高级软件工程师。

2 条评论

这是一次非常有趣的课程,我希望很快能找到一些我可以为内核贡献的东西。我希望看到更多这样的课程,并思考我们如何为我参与的其他一些开源社区做类似的事情。考虑与学生互动的新方法,甚至将这些课程整合到学生可以真正动手实践并获得学分的课程中,这一点非常重要。

Luis,

感谢您的分享。的确,我不禁将这些有形的例子与高等教育中经常过度炒作的趋势进行比较。
<ul>
<li><b>点对点学习(连接主义、建构主义)教学法:</b> 这些课程不仅促进了课程内部的点对点互动,而且还促进了与支持开源项目的更广泛的实践社区的互动。学生不仅学习了创建/贡献代码的机制,还学习了在实践社区中工作的参与和协作技能。随着开源工具和开发在整个技术行业(以及其他行业)的持续增长,这些技能将(是)非常宝贵的。</li>
<li><b>在线学习:</b> 虽然许多人最常将“学习管理系统”视为在线教育的平台,但使用 GitHub、错误报告/问题跟踪系统、论坛,甚至电子邮件列表等真实世界的工具,提供了非常类似于学生在职业生涯中会发现的基础设施(即使他们最终不在 IT 行业)。</li>
<li><b>混合课程:</b> 许多课程正在采用混合方法,教学和学习发生在课程之外。我想不出比学生必须与 Linux 内核社区之外的那些人进行互动更好的例子了,他们在学生的工作和工作习惯上提供反馈、建议等。</li>
<li><b>翻转课堂:</b> 这种模式,学生在课外“观看讲座”,在课堂上完成“作业”,允许教师和其他学生一起工作——参考讲座期间获得的基础知识——通过个性化和“及时”教学来理解这些知识的应用。同样,这些课程听起来就像提供了这种体验。</li>
<li><b>基于问题的学习:</b> 嗯,我几乎不需要对此进行解释。听起来该课程正在提供实际问题,并要求学生调查和解决这些问题。
</ul>
通常,上述实践被宣传为“颠覆”,但在方法上缺乏真实性,在实践中缺乏纪律。您所描述的突出了机构和教职员工选择投资于此类模型时的可能性。现实情况是,我们需要更多的创造力、动力和权威,让教职员工开发像这样的项目,而不仅仅是摇滚明星在教育技术会议上的演讲。

再次感谢您的分享,
Patrick

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 3.0 Unported License 获得许可。
© . All rights reserved.