的黑人的生活问题这场运动,尤其是乔治·弗洛伊德(George Floyd)悲剧死亡后的抗议活动,让我更加意识到我需要更多地了解种族我6月份在Blog@CACM上写过).我一直在阅读支持这一运动和要求改变的声明,特别是那些针对计算机的声明(参见这里有几个链接).特别吸引我的是马里兰大学计算机科学学系关于提高多样性和包容性的建议的声明.他们呼吁:
在教育委员会内成立专责小组,全面检讨计算机科学课程,确保课程架构能让初学计算机知识较少的学生获得成功,并调整学系教学文化,以成长思维为主。
我对种族了解不够。我正在阅读,并试图了解更多。我所能做的就是用我所知道的去支持这些消息灵通人士的行动呼吁。我的研究明确地是关于如何构建计算机科学教育,“使开始时计算机背景较少的学生能够成功”,并解决教学文化问题,摆脱固定思维模式,转向“成长思维模式”。在过去的四周中,受马里兰大学声明的启发,我一直在分享一篇关于我们如何以不同的方式教授计算机的系列博文。这篇文章总结了该系列文章(并扩展了新的信息),并提供了指向原始(更详细)文章的链接。
疫情使这一变化更加紧迫。在线教学可能会在准备最少的情况下伤害我们的学生贴在这里).我建议数字承诺公司的精彩报告以及其他关于2020年春季课程上线后发生的事情的研究。CRA关于2020年春季CS教学现状的新报告表明,高质量教学方法的使用下降了报告在这里)——超过四分之一的被调查教师计划在今年秋天做完全相同的事情。
这些报告显示,所有学生都受到了影响,而准备最少的学生受到的影响最大。“数字承诺”报告显示,与非西班牙裔白人学生相比,西班牙裔和黑人学生的压力尤其大,他们面临更多的连接问题,更难以找到一个安静的工作场所。我们班的不平等现象已经存在。本学年的在线教学将使情况变得更糟。我们必须改变现在.
教授计算机以减少不平等需要一个改变到我们如何教学。我们不能以完全相同的方式教学,并期待改变.如果我们的目标是减少不平等,那么就必须做出改变,让特权最少、准备最少的学生获得最大的利益。你不可能平等地提高所有学生的水平,然后期望差距缩小.
总的来说,我们教授计算机科学是为了优待大多数学生。这里有一个很好的例子,说明我们是如何不公平地教授CS的(详见这里的帖子).计算机科学原理先修考试(CSP) (看到链接)在所有编程问题中使用伪代码。它不是可执行的,所以它不同于学生在他们的CSP课堂上学习的任何语言。在一项涉及900多名学生的研究中,Allison Elliott Tew比较了学生在入门课(在她的研究中是Java、MATLAB和Python)中学习的语言和用伪代码进行的同构测试之间的测试表现。
对于大多数学生来说,不得不从他们所学的语言转向伪代码可能不会太影响他们的考试成绩。但对于准备不足的学生来说,转向伪代码可能意味着及格和不及格的区别。在AP CSP考试中使用伪代码是一种税.每个人都必须克服一点困难来适应一门他们从未使用过的新语言。但这是累退税.它对准备最不充分的学生伤害最大。
以下是CS教师可以实施的三个具体建议,以减少他们自己班级的不平等现象。
我们经常做出选择,让我们的学生获得“卓越”。我们培养他们从事伟大的软件工程工作。在技术面试中被问到的问题明确地决定了有多少计算机系教授算法和理论。我们关心谁对“卓越”的定义?硅谷的创业价值观是唯一重要的吗?不是所有的学生都想去谷歌或亚马逊。那些在我们的课堂上不是大多数的学生,或者那些过去在我们的课堂上没有成功的学生,可能想要从计算机科学学位中得到不同的东西.“成为一个伟大的软件工程师”的目标并没有考虑到计算机教育的广泛的替代端点(参见在这里发布关于其他端点的信息).并不是所有的学生都想要这样的工作。我们的许多学生更感兴趣的是回馈他们的社区,或者利用计算机服务于硅谷以外的价值观(主要是白人和男性)贴在这里).
以下是四种基于证据的方法,它们已被成功地用于提高准备不足的学生的成功几率:
如果你的评分是基于“优秀”或代码质量,你可能会有一个“学徒”教学的观点.您想让学生成为伟大的软件开发人员。一个计算机背景较差的学生不太可能在这样的班级中获得高分。
如果你把课程成绩做成曲线,或者限制你给出的最高分数的数量,你就是在假定固定心态.如果你相信"天赋"或"能力"或"极客的基因在课程中,和(批判性的),教学并不能改变这一点,那么根据曲线来评分就有意义了。可以只有几个“a”位置,更多的“B”位置,以此类推。经验证据表明,情况恰恰相反好的教学可以战胜许多其他因素.相信一个成长心态导致更好的学习结果和更好的表现维基百科页面).比学生更重要的是,老师相信他们的教学能有所帮助。
我建议我们根据成功达成学习目标,哪一个最接近另一种选择“传输”教学视角.对理解的评估应该尽可能客观。成绩应代表学习目标的达成情况而不是其它。如果我们重视教学,并相信学生可以在计算机科学上做得更好,随着时间的推移,我们应该教得更好,学生应该学得更多。如果学生学得更多,他们就应该得到更高的分数。
我正在读评分为股权乔·费尔德曼(Joe Feldman)著他的网站在这里).他指出所有的其他影响成绩的因素与学习无关。其中一些课外因素——比如在截止日期前完成学业的能力,这是假定享有特权的全日制学生身份,没有外部压力——对于黑人、西班牙裔、穷人或第一代大学生来说不太可能。这些因素对生成高质量代码的影响甚至超过了对学习的影响。在大流行期间,这些压力将会更大。
有大量计算机背景的学生在以教学为重点的课程中可以轻松地获得“a”——他们可能已经知道他们需要的大部分内容。这很好。我写了一系列关于“无聊vs失败”的博客文章(这是该系列的第一篇文章,这是最后一个).问题是:哪一种更糟糕,是让特权最充足、准备最充分的学生感到厌烦并轻松得A,还是让特权更少、计算机背景最少的学生不及格(或气馁到他们放弃)?想想那些可能失败或辍学的学生,他们所在的体系确保了最准备充分的学生受到挑战和参与。每一个继续学习的学生都做了更多改变这样的现状让那些有特权的学生不会感到无聊。从长远来看,帮助那些计算机背景较差的学生取得成功,对社会产生的影响要远远大于让那些享有特权的学生获得娱乐.
“撤资警察”的呼声在黑人的生活问题抗议(大部分)不是为了摆脱警察。相反(这《纽约时报》文章建议,它们是关于改变焦点。我们应该少花点时间起诉罪犯,多花点时间支持社区健康和福利.
对于计算机科学教育,我们也应该这样做。让我们少去关注那些作弊和剽窃代码的学生。让我们更多地去增加学习机会,帮助那些没有计算机背景的学生取得成功。把你平时花在收集证据和向学术荣誉委员会提出申请上的时间花在帮助你那些特权最少、准备最少的学生取得成功上。
这就要求我们改变对编程作业的看法。首先,编程作业不应该是用来“弄明白”的时间,用来填补课堂上的空白。大多数学生并不能通过在编程时“发现”计算机科学知识来获得最好的学习效果链接在这里).相反,编程作业是关于实践因为他们之前看到的。编程是一个学习的好地方,因为它为我们的测试和假设提供反馈。
第二,编程作业并不是评估学习的好方法。能够编程并不表示理解。Jean Sala和Diana Franklin最近发表的ITiCSE 2020论文表明,使用给定的代码结构与理解该代码结构没有很好的相关性(参见纸在这里).还有一种情况是,学生可能理解这个概念,但不能在代码中使用它。多年来,我们已经知道如何创建测试来衡量编程知识。使用编程作业进行评估是低效的(比考试花费更多的时间),而且会给学生带来压力和认知负荷。我建议Kinnunen和Simon的作品介绍编程入门作业是如何挫伤学生信心的,尤其是对女性的影响。
当一个学生在编程作业中作弊时,他们经常被起诉为“非法合作”。现在比以往任何时候,我们希望学生合作。在编程过程中协作的价值是极好的证据——它有助于学习、激励和坚持CS。但是,当一切都是通过视频通话时,允许和非法合作之间的界限在哪里呢?我很担心学生不合作是因为他们害怕越过那条线.我曾与一些不愿合作的学生交谈过,因为他们担心不小心做了一些不被允许的事情。对于学生来说,在大流行中看到这条线将更加困难。
使用自动化工具莫斯这仍然是一个好主意,但与其用它来收集学术不端案件的证据,不如用它们来确定需要帮助的学生。如果学生感到匿名,或者他们感到作业的压力,不知道如何取得进展,他们通常会作弊。这两种情况在大流行中都更常见。学生在网络环境中会感到匿名(尤其是那些会感到孤独、孤立和隐形的人即使是在面对面的课堂上).当我们从面对面教学转向在线教学时,我们很可能会错过一些教学内容。我推荐一封来自RPI毕业生的信关于Chegg的使用
如果你发现抄袭,联系学生。告诉他们你的发现。问他们发生了什么。问问他们过得怎么样。他们在课堂上迷路了吗?借此机会解释一下什么是非法合作。利用这个机会来弄清楚你是如何教学的,以及学生的生活中发生了什么。
一些学生作弊是因为他们认为他们必须这样做。“如果我不作弊的话每个人都是这样我处于劣势。”这只有在学生成绩比较的情况下才成立。这就是为什么提案2是提案3的关键步骤停止预分配,弯曲,或配给等级。用分数来奖励学习,而不是“超越同龄人”。
大多数计算机科学课程将在明年全部或部分远程进行。让我们诚实和坦率我们可能会犯错。我们不要把时间花在写抄袭案件上了。让我们花时间和学生交谈,帮助他们学习,确保他们感到联系在一起。最贫困、最缺乏准备的学生将遭受最大的损失。
是时候改变我们的做法了。在我们为今年秋季建立在线课程的时候,是时候每一个可能的改变对这些学生有利。我们一直需要减少不平等。随着黑人的生活问题运动向我们展示了不平等的现实和代价,当我们把我们的学生更多的冒着上网的风险,我们必须马上行动。
马克Guzdial她是密歇根大学工程学院电气工程和计算机科学教授,以及信息学院的信息教授。
没有发现记录