开源在教育领域如何培养新的开发者

自学成才的开发者和 Gibbon 新任维护者解释了为什么开源对于培养下一代程序员至关重要。
228 位读者喜欢这篇文章。
Learning to program

WOCinTech Chat。由 Opensource.com 修改。CC BY-SA 4.0

和许多程序员一样,我的职业生涯始于用代码解决问题。 当我还是一名年轻的程序员时,我满足于编写任何我能想象到的东西——主要是游戏——并且全部自己完成。 我不需要帮助;我只是需要少睡一点觉。 这是一个常见的误区,我很庆幸在两个重要认识的帮助下摆脱了这个误区

首先,对我们日常生活影响最大的软件不是由一位才华横溢的独立开发者制作的。 在大规模上,它是由数百或数千名开发人员组成的全球团队制作的。 在较小规模上,它仍然是由一群敬业的专业人士制作的,他们通常远程工作。 远超于生产代码的价值在于沟通想法、协作、分享反馈和做出集体决策的价值。

其次,可持续的代码不是在真空中编写的。 这不仅仅是时间或规模的问题;而是思维的多样性。 软件设计是关于理解问题及其影响的人,并着手寻找解决方案。 没有人能从每个角度看待问题。 作为一名开发人员,学习与其他开发人员建立联系、同情用户,并将项目视为社区而不是代码库是无价的。

开源与教育:天然的合作伙伴

教育不是零和游戏。 在世界范围内,教育界的成员共同努力分享想法、建立专业学习网络并创建新的学习模式。

这种合作是开源软件和教育之间产生惊人协同作用的地方。 这已经在全球学校使用的许多开源项目中显而易见; 在教室里,运行博客、共享资源、托管服务器和增强协作。

在学校工作激发了我倡导教育领域开源的热情。 我在澳门国际学校担任 Web 开发人员和数字媒体专家的职位已成为我所谓的驻校开发人员。 与教育工作者一起工作让我有机会了解他们的需求和工作流程,然后回去编写代码来帮助解决这些问题。 这种模式有很多优势:不仅仅是为假设的“用户”编程,而是了解每天使用软件的人,观察他们使用软件,了解他们的痛点,并旨在构建满足他们需求的东西。

我相信这是一个我们可以发展和分享的模式。 教育工作者和开发人员共同努力有能力创建他们所需的高质量、开放、经济实惠的软件,这些软件建立在对他们最重要的价值观之上。 这些工具可以提供给那些买不起商业系统但又想教育下一代的人。

并非每所学校都有能力贡献代码或聘请开发人员,但是在一个更大的社区中,人们共同努力,非凡的事情正在发生。

学校对软件的需求

有很多优秀的教育工作者正在反思学校使用的学习模式。 他们正在寻找方法来赋予学生自主权、激发他们的好奇心、将他们的学习与现实世界联系起来,并培养有助于他们驾驭快速变化的世界的思维模式。

学校使用的软件需要能够以相同的速度适应和变化。 没有人能确定未来的教育会是什么样子,但对于教育的发展方向有一些很棒的想法。 为了不断前进,教育工作者需要能够在学习发生的同一水平上进行实验; 在课堂上尝试、失败并迭代不同的方法。

我认为开源学习工具可以在这方面发挥非常强大的作用。 学校里可能会出现很多具有挑战性的项目。 我的职位最初是网页设计工作,但很快发展为开发员工门户网站、数字标牌、学校博客和自动化新闻通讯。 对于每个新项目,开源都是一个自然的起点:它价格实惠,让我能够更快地入门,并且我能够使每个系统适应我学校不断变化的需求。

其中一个项目是将我们学校的学生信息系统以及 10 年的数据迁移到一个名为 Gibbon 的开源平台。 该系统做了很多我学校需要的事情,这非常棒。 尽管如此,我们仍然需要调整一些东西,还需要添加其他东西,包括导入大量数据的工具。 由于它是一个开源学校平台,我能够深入研究并进行这些更改,然后将其分享回社区。

这就是开源开始从我使用的东西转变为我贡献的东西的转折点。 我过去做过很多独立开发工作,因此有机会合作开发新功能并贡献错误修复真的让我着迷。

随着我在 Gibbon 上的工作从小的修复发展到整个功能,我也开始合作提出重构和现代化代码库的想法。 这对我来说是一个开源的启示,在过去的几年里,我越来越积极地参与到我们不断壮大的社区中,最近我开始担任该项目的维护者。

培养新一代开发者

作为一名软件开发人员,我完全是自学成才,如果这些工具被锁定且无法访问,我所知道的很多东西都不可能实现。 信息时代的学习是关于获得激发和激励我们想法的途径。

探索、破坏、修复和修改我使用过的源代码的能力很大程度上是我学习动力的驱动力。 像许多程序员一样,早期我会窥视代码库并在这里和那里更改一些变量,看看会发生什么。 然后我开始将意大利面条式代码串在一起,看看我可以用它构建什么。 一点一点地,我会想“它在做什么?”和“为什么这个有效,而那个无效?” 最终,我杂乱无章的代码丛林变成了精心架构的代码库; 所有这些都是通过玩其他开发人员编写的源代码并寻求理解软件正在完成的更宏大的概念来学习的。

除了开源为整个学校提供的可能性之外,它还可以为个别学生提供一个探索构成我们日常生活一部分的技术的绝佳机会。 拥抱开源心态的学校这样做不仅是为了削减成本或创建新的学习工具,也是为了让他们的学生拥有同样的自由,成为不断发展的教育和技术领域的一部分。

通过这种程度的访问,学生手中的开源从一件软件转变为潜在学习体验的来源,甚至可能成为希望深入研究计算机科学概念的学生的起点。 这是一种学生可以发现他们内在动力的强大方式:当他们可以将自己的学习视为一条解开和理解周围世界复杂性的道路时。

更多灵感

接下来阅读
标签
User profile image.
Sandra 是一位 Web 开发人员,热衷于开源学习技术,并在澳门国际学校与教育工作者并肩工作,他们既启发了她,又给了她许多具有挑战性的功能请求。

1 条评论

非常鼓舞人心的故事,Sandra。 您在 Gibbon 上的工作令人惊叹,我很高兴看到该项目继续发展壮大。

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