acm-header
登录

ACM通信

BLOG@CACM

计算机科学在精英高等教育中的作用:看到专家的盲点


马克Guzdial教授

图片来源:密歇根大学

2020年奥运会(因疫情推迟至2021年)最近在东京落下帷幕。奥运会是关于精英体育的竞争。东京奥运会上的运动员们已经超越了我们所认为的人类能力的极限。他们试图跳得更远更高,跑得更快游得更快,并改变了我们对人类极限的理解。

对一些教师来说,这就是高等教育的意义所在。我最近参加了一个教师研讨会,我们讨论了如何提高计算机科学专业的入学率,特别是为了支持多种形式的多样性。我的一位同事反驳道。他支持提高入学机会和增加多样性,但他希望我们也要认识到我们有责任为准备最好的学生提供一个精英教育。有些学生来到我们的校园,有着浓厚的学习背景,有着巨大的兴趣和自我效能感,他们希望在现有的社会体系中取得成功。他们来找我们是为了让他们做好准备,去做计算机科学中从未有人做过的事情,去发明和创新,去改变世界。

高等教育可以成为机会的引擎。上大学可以带来比父母更大的社会流动性。但更多的情况是,高等教育使不平等延续高等教育编年史关于此主题的系列文章).我们没有开发每个人的天赋和能力,而是只关注那些已经做好充分准备的人,这让那些已经有特权的人特权。

你如何看待你的教师工作?让我们用一个运动和健康的类比。你是一名教练,督促顶级运动员尽其所能地取得成就吗?或者你是一名公共卫生工作者,确保每个人的环境都是安全的,目标是每个人都有一个健康的生活?

就目前而言,假设我们正在推广教练模式,我们希望帮助我们的顶级运动员参加奥运会。我们的目标是让我们的计算机学生在计算方面取得高成就,成为精英之一。我们可以教授学生软件工程、研究和创业方面的技能,我们可以实施评估,过滤掉那些不具备成为顶级竞争对手所需条件的学生。这已经是顶级学府计算机科学教育的普遍模式。但它忽略了计算机科学的一个巨大潜在影响。

精英STEM教育也需要计算机。每年诺贝尔奖揭晓的时候,我都听说一些获奖者利用计算技术取得了突破性进展。我们可以预见,未来所有有竞争力获得诺贝尔奖的研究都将需要计算。计算不仅仅在金字塔的顶端是有用的。所有精英科学家、工程师和数学家都需要在他们的领域内熟练利用计算。

但随之而来的关键问题是:谁最适合教授精英科学家、工程师和数学家关于计算的知识?应该是领域专家还是计算机科学家?我的答案是“是的,…”。

关于学习科学最好的书之一是人们如何学习:大脑、思想、经验和学校这本书可以从国家科学院出版社免费获得(见链接在这里).第二章是关于专家与新手有何不同(见链接在这里).就在这一章的第一页上,它说:“尽管专家对他们的学科了如指掌,但这并不保证他们能够教授别人。”

在高等教育中,教与学面临的一个巨大挑战是教师经常有一个专家盲点。基础知识,基本的“如何运作”的知识是如此的根深蒂固,如此的默契,以至于老师们甚至都看不到它去教它。教师们通常甚至不知道他们需要教什么,因为这对他们来说是“显而易见的”。

在教授基础概念时,专家盲点是最显著的问题。如果你几十年来每天都在使用计算,你就看不到它了。你想想你能想到的用它,但你实际上忘记什么是你不知道的,什么是你很难学会的。高级课程(经过了“如何工作”阶段)是关于如何成为一个计算科学家、工程师或数学家。这些课程应该由领域专家教授——那些最了解计算科学、工程和数学的实践、技能和知识的人。但不是基础课程。

这里有一个思想实验:看看这五个字母:苹果”。你知道很久以前,第一个字母对你来说是两条斜线和一条水平线,但现在你是不能只看到字母。你会自动读到这个词苹果”。教别人阅读需要我们去做研究人们如何学习阅读。我们不能只是反思它——我们的学习经验现在对我们是盲目的。教别人计算机需要我们研究人们如何学习(并与之斗争)计算。

基础课程应该由一个专注于看到专家的盲点。一个对科学、工程和数学有很高背景和热情的学生仍然需要计算。那些老师应该研究什么人了解计算。这就是一门好的计算机科学基础课程应该讲的内容。这些基础课程也应该是有关.他们应该与学生想要用计算机做什么相结合——我们称之为更符合实际的计算机教育。

计算机教育研究在找出那些学习计算机但真正对STEM其他学科感兴趣的人的需求方面正在形成良好的记录。

  • 被引用最多的计算思维论文之一是“定义数学和科学课堂的计算思维作者采访了数学家和科学家,了解他们在计算机方面做了什么,然后利用研究文献来确定学生需要学习什么。
  • 另一个例子是SIGCSE-Members列表上最近的一个线程,关于变量应该被描述为“框”还是“标签”。关于这两种方法的使用都有丰富的文献资料。这不是科学家、数学家或工程师可能知道或关心的文献。可能大多数计算机科学家也不知道。但这正是你想要的知识教师的计算献给未来的精英科学家,工程师和数学家。
  • 关于如何与领域教师合作开发计算机课程的文献越来越多,例如,针对初高中学生的数学课程纸在这里),小学学生用分数(见纸在这里),以及本科生的生物学(见纸在这里).

我认为有两种方法可以帮助STEM学习者获得所需的计算技能和知识:

  • 选项1:CS做它。我们信任数学家来教授基础数学,因为他们是最擅长的人如何教数学时,关注学生通常会犯的错误,以及如何有效地帮助学生度过这些早期阶段。物理、化学、生物等也一样。计算机科学应该是教给每个人他们需要的计算教育的地方——只要我们以一种相关的和情境化的方式来做。我们不应该教每个人同样的课程。这就是我们在密歇根大学(University of Michigan)为文科和理科专业定义计算机教育的工作小组所了解到的链接在这里).但是一些计算机科学系的重点是培养精英工程师,所以第一个选项可能并不总是可用。
  • 选择2:发明一些新东西。另一种选择是建立一个计算科学社区,专注于发现专家的盲点。密歇根州立大学创建了一个计算数学、科学与工程学系工程学院和自然科学学院联合。他们负责向每个人教授计算建模。CMSE有专门从事物理和计算教育研究的学者。它们是为提供基础知识而设计的混合体。

随着计算机科学本科入学人数在许多机构呈指数增长曲线,很难看出还有谁需要计算机教育。但我们应该。未来不是只有在计算机科学。计算机科学是建筑的关键许多期货。

马克Guzdial他是工程学院电气工程和计算机科学教授,也是密歇根大学信息学院的信息教授。


评论


丹尼斯·汉密尔顿

谢谢你马克。有趣的是,我带着自己的初心去学习Udemy课程,该课程是为那些对使用简单而出色的基础开发电脑游戏感兴趣的人设计的。我注意到隐性知识和复杂性(以简单的名义)在课程的每个部分都是可见的。太多不相连的点。

在那里,我无意中发现了自己的隐性知识,盲目地假设安装git,也理解了使用VS Code编辑文件的依赖。看到在线的问答和Discord讨论是很有启启性的,在那里一些初学者勇敢地透露他们的挣扎和误解。还有一些人发布了令人费解的“专家”回复,但未能起到有用的指导作用,还暴露了工具宗教。

这让我怀疑,让精英们来上课是不是一种懒惰的表现,同时也是对那些对人们如何学习缺乏准备和兴趣的人的才华的肯定。


马克Guzdial

你好丹尼斯,

我欣赏你的洞察力,并分享你的惊奇。正确的!
——马克。


显示所有2评论

登录为完全访问
»忘记密码? »创建ACM Web帐号
Baidu
map