Joel 谈论计算机科学顶点项目

还没有读者喜欢这个。
An open card catalog

Opensource.com

很高兴看到 Joel Spolsky 权衡了关于 计算机科学教育不足之处 的问题。当 Joel on Software 说话时,人们会倾听。这当然是一篇很棒的文章——他的很多文章都很棒——但这是最重要的引言

“学生应该在哪里学习版本控制、缺陷跟踪、团队合作、排期、估算、调试、可用性测试和文档编写?他们在哪里学习编写超过 20 行的程序?”

所谓的答案:高级顶点项目。几乎每个 CS 课程都要求学生完成高级顶点项目。理论上,太棒了。实际上…… 没那么好。

在某种程度上,问题很简单:时间。学习成为一名真正的程序员需要深入沉浸在实际问题中,但这并不是本科教育的真正目的。本科教育是对许多主题的概览,一个同时修读五到六门不同课程的学生不可能每周花 40 个小时深入研究代码。这就是合作项目和实习如此重要的原因。

尽管如此,仍然必须问这个问题:如果顶点项目实际上没有提供它声称提供的真实世界经验,那么它有什么好处呢?

因为大多数顶点项目没有提供真实世界的经验。“四个孩子在一个学期兼职编写的软件项目”与“新员工将要投入的软件项目”之间的区别确实是天壤之别。真正的软件项目由数千行代码组成,并且始终有许多不同的手在接触这些代码的各个部分。学习在真实世界环境中生存的工具绝对至关重要——而大多数 CS 学生只是没有学习这些工具。

开源软件有可能成为这些学生的颠覆性力量。并且需要明确的是,重要的不是开源本身;而是开源使之成为可能的东西。开源允许学生看到真实世界规模的真实世界代码。

塞内卡学院的 Dave Humphrey 最好地说明了这一点:学生需要的真正技能是“高效迷失”的能力。开源项目提供了发展这项技能的机会。

这正是像 UCOSPHFOSS 以及 teachingopensource.org 这样的倡议很重要的原因。少数教授开始将他们的学生带入开源软件项目。我们开源世界有责任拥抱他们。对学生更好,对教授更好,当然对开源项目也更好。

标签
User profile image.
Greg DeKoenigsberg 是 Ansible 的社区副总裁,他在那里领导公司与更广泛的开源社区的关系。Greg 为 Ansible 带来了超过十年的开源产品和社区领导经验,其中大部分时间用于为开源领导者 Red Hat 构建和领导社区。

4 条评论

程序员大学教育的问题是 Pete McBreen 在他的著作 《软件工匠精神》 中呼吁软件工匠精神的原因之一。工匠精神,意味着通过为大师工作来学习这门手艺,似乎是教育程序员的更好模式。
<p>
这似乎引发了一场运动,请参阅 http://manifesto.softwarecraftsmanship.org

好东西!我喜欢这句话

“软件工匠应该在他们的作品上签名。这将使他们能够建立一个应用程序作品集,作为他们声誉的基础。这将使软件行业能够摆脱各种面试游戏,而是基于试镜模式进行招聘(第 144 页)。”

我认为,自由和开源软件世界是由声誉驱动的,这并非巧合。工匠精神和声誉是相辅相成的。一个很棒的建议——谢谢你。 :)

所有这些信息都非常引人入胜且基本合理。然而,美国毕业生面临的真正问题是全球竞争。CIO 和经理们并不关心学生积累的项目组合有多好,最重要的是你在印度获得的 5 比 1 的交易。在财务上,一个人可以用一名美国程序员的价格获得 5 名程序员,而且技能水平相当甚至更好。在 美国政府通过法律取消开源 H1 和 L1 签证计划,并开始对将公司业务外包到美国境外以获取奴隶劳工(也称为廉价劳动力、外包或离岸外包)的公司征税之前,美国 CS 编程毕业生的生活都是浪费金钱。

我希望合适的人会阅读这篇文章,我所说的合适的人是指那些有职位、有权力和有意愿为学生谋福利,并间接为我们所有人谋福利的人。更实际地说,我最近了解了有关 云计算 的一切,现在我决定更改我的业务平台,以便我可以从中获得最大的收益。这个项目也可能发生同样的事情。

Creative Commons License本作品根据知识共享署名-相同方式共享 3.0 未本地化许可协议获得许可。
© . All rights reserved.