今年在 Grace Hopper 会议上,我将主持一个关于为什么以及如何将开源融入计算机科学课程的小组讨论。 小组成员是四位计算机科学讲师——全部为女性——她们已经在课堂上使用了开源项目。
我要求这四位才华横溢的讲师向您介绍一下她们自己,教授开源对她们和她们的学生意味着什么,以及您将在 Grace Hopper 女性计算大会上听到什么,这是世界上最大的女性技术专家聚会。 今年的活动将于 10 月 19 日至 21 日在德克萨斯州休斯顿的乔治·R·布朗会议中心举行。
- Darci Burdge,拿骚社区学院
- Lynn Lambert,克里斯托弗纽波特大学
- Becka Morgan,西俄勒冈大学
- Nanette Veilleux,西蒙斯学院
您的小组讨论是关于将开源开发作为计算机科学课程的一部分。你们每一个人能告诉我为什么决定教授开源吗?
DB:入门级 CS 课程的学生实际上没有机会了解编程密集型课程之外的内容。 我的目标是让他们了解他们在“现实世界”中可能会遇到的情况。 我想让他们亲眼看到我们在实验室中使用的结对编程模型为什么重要。 我想让他们理解为什么清晰、简洁、写得好的文档很重要。 我相信,通过阅读他人编写的代码(即使他们并不完全理解),这有助于他们提高自己的编程技能。 我选择向学生介绍人道主义开源项目,以便他们更好地理解软件如何改善人类的状况以及为什么这很重要。 特别是女性,更能与这种帮助他人的主题联系起来。
LL:在课堂上使用开源有很多原因。 首先,我们的学生没有充分接触到大型代码库,没有阅读他们没有编写的代码,也没有看到协作开发系统。 这是一个让学生进入现有开发环境的绝佳机会。 我特别有兴趣在课堂上使用人道主义自由和开源软件 (HFOSS)。 像许多大学一样,我的大学有一个强大的服务组成部分,我认为将社区服务大学的重点融入到专业课程中,将加强两者的重要性。
NV:在西蒙斯,我们非常有兴趣吸引那些不是典型的 CS 学生的学生,而是女性和来自弱势少数族裔的学生。 这些学生通常不是由狭隘的自我认同驱动的,而是由他们在更大范围内的身份驱动的。 他们希望项目具有社会相关性,以便看到他们所做工作的价值。 HFOSS 项目,尤其是由于其人道主义方面,被认为具有吸引力。
BM:在为我的研究开设了一门关于如何参与 FOSS 的课程后,我决定继续向高年级学生教授这门课程是有价值的。 本课程的目标是让学生接触到大型的遗留代码库。 他们有机会学习阅读和贡献他人编写的代码,这是他们在工作中需要掌握的技能。 此外,他们还可以获得与年龄和技能水平各异、且不在同一地点的开发人员合作的真实世界经验。 这也是他们可以写在简历上的经验,可以使他们与其他应届大学毕业生区分开来。
你们每个人都参加过 教授开源软件体验 (POSSE) 研讨会,感兴趣的讲师可以在那里学习如何将开源融入到他们的课程中。 POSSE 是您第一次为开源项目做贡献吗? 如果不是,您是如何开始使用开源的?
DB:我对开源世界的介绍有点偶然。 我在一个与 FOSS 无关的研讨会上遇到了我目前的两位合作者。 在了解了一些他们在 HFOSS 领域的工作后,我立即被吸引住了。 如前所述,它在很多方面都吸引了我。 我实际上帮助策划了我的第一个 POSSE,当时我感觉自己像一条离水的鱼!
LL:这绝对是我第一次使用 FOSS 进行开发,尽管自从我在 20 世纪 80 年代读本科时就开始使用 Emacs 了,当时它还是一个新事物。
NV:我听说过 POSSE 并且无法参加第一轮,但我喜欢这个想法。 我从未为开源做过贡献——我自己的大部分编程都是为了我的研究小组。
BM:我从 2010 年开始尝试贡献,为我的研究做准备。 我一直在努力寻找持续贡献的方法。 POSSE 确实帮助我更好地应对了这种挣扎。 知道我们不必知道所有答案,并且其他人也在进入 FOSS 世界时遇到了困难,这令人感到欣慰。
我敢肯定,你们的一些学生在课堂上第一次接触到开源软件的概念。 您认为他们对开源的最大误解是什么?
DB:我的大多数学生对开源一无所知。 他们可能听说过,有些人知道他们使用开源软件,例如 Firefox,但仅此而已。 我认为如果我让他们定义什么是开源软件,大多数人会回答说它是免费的,就像免费啤酒一样。
LL:我认为他们很惊讶它是如此结构化的。 一位学生因为她的缩进与代码其余部分的标准不匹配,所以她的拉取请求未被接受。 学生们认为这很苛刻。 此外,我认为他们既惊讶于贡献的容易程度,也惊讶于贡献的困难程度。 很容易,因为社区很欢迎,而且很容易找到他们感兴趣的、用他们知道的语言编写的项目。 很困难,因为安装软件几乎总会遇到问题,而且很难在分布在多个文件中的 700,000 行代码中找到有错误的行,尤其是他们没有编写且不了解的代码。
NV:是的,免费的就像啤酒! 学生们没有意识到有社区集体编码。 他们还认为,任何会做贡献的人都会是一种奇怪的异类,一个除了编码之外无事可做的孤独程序员。
BM:越来越多的学生听说过 FOSS。 我不确定这是否是因为我们在西俄勒冈大学开设了一门关于 FOSS 的课程,或者只是因为它越来越广为人知。 最大的困惑通常围绕商业模式,因为 Darci 和 Nanette 提到的关于开源软件“免费”的误解,紧随其后的是关于人们实际上将如何参与的困惑。 对许多学生来说,这仍然是一个黑盒子。
你们四个人都让学生参与了开源项目,对吗? 您的学生正在从事哪些项目,为什么?
DB:我最有兴趣让我的学生通过学习 OpenMRS(一个开源的医疗记录系统)来了解开源软件开发。 首先,它是一个人道主义项目,因此这让我有机会区分 FOSS 和 HFOSS。 由于我有第二学期和第三学期的学生,我不期望他们做出贡献,所以他们主要进行观察。 OpenMRS 有一个完善的网站,该网站经常更新和维护良好。 他们了解社区、沟通工具,以及一点关于版本控制和开源贡献周期。 通过阅读 OpenMRS 代码库中的代码并对其进行反思,他们有时会学习新的概念,或者磨练他们对讲座中提出的概念的理解。 他们还在亲身了解为什么良好的文档很重要!
LL:我们主要与 Mifos(一个开源的小额信贷平台)合作,但也研究了 OpenMRS、Ushahidi 和 SahanaEden。 Mifos 社区项目主管 Ed Cable 花时间直接回答我们的问题,这很有帮助。
NV:我的学生从 Mifos 开始。 我们从那里开始,因为 Lynn Lambert 有一个学生解决了安装/构建过程。 我认为我的学生会对小额信贷感兴趣。 但是,我应该更多地考虑该应用程序。 小额信贷的好处存在争议,如果学生们坚定地支持该目标,他们会更感兴趣。
有趣的是,他们发现 Moodle(一个开源的学习管理系统)更有趣,因为他们都知道 Moodle,并且他们贡献的价值对他们来说似乎更加透明。
BM:过去几年,我们一直与 Mozilla 合作,因为它是一个非常吸引人的社区。此外,为入门级成员编写错误跟踪系统 (BugsAhoy) 的 Josh Matthews 自愿在线上为我的学生授课。Josh 讲解如何使用错误跟踪系统,并回答我的学生的所有问题。这种程度的指导非常有价值。
考虑到 opensource.com 的读者很有可能是开源社区的贡献者,您认为有哪些(您当然愿意分享的)可以帮助参与开源项目的学生更顺利地完成任务?社区可以做些什么来让事情变得更容易?
DB:教育教育者!大多数社区没有意识到,对于一位老师来说,重新成为学生,迷失在一个新的世界里,同时还要想办法如何在课堂上进行开源教学,让学生们感到舒适,同时还要涵盖所有必修课程,是多么的困难!
LL:即使在最支持的项目中,入门也可能很困难。这可能是由于各种操作系统、平台等等造成的,也许是不可避免的。而且,许多入门页面都非常简洁。不过,也许增加一些“点击此处了解 Grunt/Tomcat/Node.js...”之类的说明会有所帮助。
NV:我喜欢那种富有成效的迷失感。我认为,如果我们不让学生接触复杂的问题,尤其是不让那些更优秀的学生接触,我们就是在耽误他们。
BM:指导!有能够指导学生,并给他们安排任务的人是非常宝贵的。然而,这是一条细线。我曾遇到一位导师,他期望学生都是经验丰富的软件开发人员,当他们需要详细的解释和帮助时,他会显得很不耐烦。那些试图学习参与的人不需要被认为他们懂得不够多,或者认为他们给导师带来了麻烦。
我也同意教育教育者。弄清楚这一点真的很难,而且有能够不居高临下地进行教学的人是非常有价值的。作为教授,我们经常被期望了解计算机科学的深度和广度。
Grace Hopper 有什么特别之处?为什么您选择这个场地来举办您的小组讨论?
DB:这将是我第二次参加 Grace Hopper 大会,我永远不会忘记,置身于由(大部分是)女性的计算专业人士、教育工作者和学生组成的海洋中是多么令人鼓舞!这里充满了能量!
LL:对我来说,GHC 最棒的部分是不同组成部分的融合。我没有参加过任何其他像这样融合了行业、学生和教师的会议。我认为这使得它成为这种小组讨论的理想场所。
NV:是的,能量。Grace Hopper 的另一个特别之处是招聘人员。在这里,我的学生可以问“贵公司的文化氛围如何?”,而不会得到关于啤酒和乒乓球的含糊其辞,而是得到关于产假的信息。
BM:我也记得我第一次参加 Grace Hopper 大会时的那种能量。我清楚地记得当时在俄勒冈州波特兰市的会议中心,在 Sheryl Sandberg 发表讲话后,我站在楼梯底部,看着一波又一波的女性走下楼梯。我参加过很多以男性为主的会议,所以那一刻对我来说是非常震撼的。
Darci,您一直参与学生的课堂外的开源学习活动。请您谈谈这方面的情况。
我和一些对开源感兴趣的学生组成了一些小组,他们在我的 CS2 课程中产生了兴趣。我们在他们暑假期间每周见面,并探索各种人道主义开源项目。我还与我当地高中的一个 Girls Who Code 俱乐部合作。我花了一些时间谈论 HFOSS,并向女孩们介绍了 IRC。在一次练习中,看着她们以一种既熟悉又陌生的方式交谈,真的很有趣。最令人难以置信的时刻是,她们意识到她们正在与频道里但不在房间里的人交谈!
Lynn,您做过一些关于视频游戏的研究。我很想多了解一些。
美国宇航局的一位首席科学家让我们调查是什么激励孩子们学习,并建议使用视频游戏。我们为他们购买了大量的电脑和游戏,所以没有游戏机,并在一所小学里建了一个实验室,那是在学校还有电脑实验室的年代。一些软件是纯粹的娱乐(《少年女巫萨布丽娜》);一些是寓教于乐(《卡门·圣地亚哥在哪里》)。我们对学术科目的动机和兴趣进行了前后比较,然后跟踪了四年级学生选择的游戏(基本上是最接近的,更喜欢他们以前玩过的),他们玩了多少,以及他们对学术的兴趣是否增加。我们的主要发现是,学生们非常积极地玩任何电脑游戏,无论是否具有教育意义;而且,当学生接触到教育性的电脑游戏时,他们对学习学术科目的兴趣会显著提高。
Becka,我看到您对开源软件 (OSS) 中少数群体的代表性不足进行了研究,主要关注女性。这如何影响您现在的教学工作?OSS 和 POSSE 在其中扮演了什么角色?
作为一名教授,我的工作是由我的承诺驱动的,即让所有想要学习计算机科学的学生都能学习。然而,我特别关注少数群体,因为我自己在本科阶段的经历以及我对社会正义的承诺。当我学习计算机科学时,我年龄较大(我 42 岁才重返校园),但我仍然面临着许多女性在这个学科中都会遇到的自我效能感不足的问题。
我记得我当时觉得我不如男人聪明,所以我真的需要学习其他东西,即使成绩证明并非如此。幸运的是,我的一位老师,现在是我的同事,给了我一些关于女性在计算机科学项目中经历的文学作品阅读。知道我并不孤单,这对我帮助很大。我现在经常把这些故事告诉我的所有学生,让他们知道他们可以和我倾诉,因为我可以感同身受。
我还发现,将开源添加到我们的课程中,特别是关注 Mozilla 所做的好事,使我能够在学生的大三和大四时引入一种更加利他主义的关注点。对于许多学生来说,这通常是非常重要的事情(研究表明,这对于女学生来说尤其重要),即看到计算机科学被用于造福人类。
Nanette,我一直对语言学很着迷。什么是韵律?它与编程有什么关系?
我认为我们低估了人与人之间交流的奇妙之处。我听说过 Richard Stallman 和 Marvin Minsky 关于人类潜力的对话。其中一个观点是,任何人都可以学习编程。具体来说,Minsky 说:“我的意思是,他们学会了说话,不是吗?”
随着机器变得越来越普及和关键,不仅用于像计算这样的特定任务,也用于日常活动,人们希望能够以最自然和可用的方法:语音,与他们的机器交互。这意味着计算机必须理解不受限制的人类语音,包括他们的韵律(强调和语调)。这就需要对不受限制的语音进行计算建模,而不仅仅是学习命令。
通过加入我们的小组讨论,10 月 21 日上午 9:00,了解更多关于如何让学生参与到开源中的信息。
评论已关闭。