我在哈佛大学当了25年的教授计算在过去的三年里,我一直在麻省理工学院担任计算机科学与工程专业的教授工程在密歇根大学。我到密歇根后不久就意识到,我的同事们谈论工程教育的方式与我理解计算教育的方式是不同的。本学期我教授了一门“工程教育研究的理论与概念框架(EER)”的课程,这让我有机会深入研究工程教育。现在我可以更好地表达它们的区别了。这些差异可能并不存在于所有的CS系中,而且我们总是很难描述整个学科,如“工程教育”和“计算机教育”。我非常依赖文献资料关于计算机和工程教育。
工程学院培养工程师.如果你在工程学院,这可能是显而易见的。对许多工程教育工作者来说,工程学院是一所专业学校。医学院培养医生。法学院培养律师。工程学院培养工程师。这就是为什么工程专业的辅修学生相对较少,以及为什么工程学院往往不为非工程专业的学生开设课程。目标不是培养懂知识的毕业生某物关于工程;目标是培养专业的工程师。
佐治亚理工学院的计算机学院也致力于培养软件工程师,但这只是教育目标之一。计算机教育的目的是为学生提供他们所需要的计算机他们的的职业。乔治亚理工学院的每个本科生都选修了一门专门为满足专业需要而设计的编程课程。有些计算机学位与软件工程无关。计算学院拥有以人为中心的计算博士学位,为在计算环境中研究人类提供了研究人员。计算学院和文理学院联合提供计算媒体学士学位。
我的观点与计算机科学是否属于工程、科学或数学不同。相反,我认为计算机教育相交工程教育,但不一样工程教育。如果你认为编程是一种工程技能,那么我的观点是学习工程学并不总是为了成为一名工程师.有时,人们为了自己的目标和身份而学习编程,而不是成为一名专业工程师——这实际上是计算机教育中更大的一部分。
以下是计算机教育与工程教育的三个不同之处,这超出了我在乔治亚理工学院和密歇根大学的个人经历。
1.组织:领导计算机和工程教育的组织都有各自的任务陈述,这些任务陈述反映了这些组织(至少)领导的价值观。世界上领先的工程教育组织是美国工程教育协会(ASEE)。ASEE的使命是“促进创新,卓越,并获得工程专业各级教育的机会。”
让我们将其与ACM计算机科学教育SIG (SIGCSE),是最大的计算机科学专上教育工作者组织。SIGCSE的使命:旨在为教育工作者提供一个全球论坛,讨论与计算学习和教学有关的研究和实践,所有教育层次的计算程序、课程和课程的开发、实施和评估,以及广泛参与、教育技术、教学空间和与计算相关的教学和教学法的其他元素。
ASEE是关于工程专业.SIGCSE大约是计算机学计算机的学习与教学.工程教育关注的是工程专业,而计算教育则是让人们学习他们需要的计算。
2.k - 12教育:无论何时学者詹姆斯·霍利Jr。跟我说了国家科学院出版的事K-12工程教育标准.我以前没有读过。它值得一看,因为它实际上并不包含K-12工程教育的标准。相反,他们认为这不值得做。引用执行摘要结论一节的内容:
委员会的结论是,虽然从理论上讲可以为K-12工程教育制定标准,但要确保这些标准的有用性和有效执行是极其困难的。
相比之下,CS教育是一个巨大的运动在K-12。有一个K-12 CS教育的框架https://k12cs.org/),它正在全国各地的标准中实例化。Code.org报告说,美国50个州中有22个州有明确的政策,让所有高中生都能接受计算机科学教育这里宣传网站).的ECEP联盟与23个州和波多黎各合作,在公共政策中实施计算机教育。
为什么不同呢?我不确定,我怀疑可能有一篇或两篇论文的内容来回答这个问题。这是我的猜测。发现的两个问题标准报告称“目前没有足够的教师胜任工程教学”和“关于基于标准的教育改革对学生学习其他学科,如数学和科学的影响的证据是不确定的。”这听起来像是在应用标准工程专业来k - 12教育.如果教师不了解专业的工程实践,就不能指望他们教授工程。如果我们不能按照专业标准教授工程学,我们就不应该教K-12。
K-12计算机专业的目标比成为计算机专业人士更广泛。当Code.org谈到了受计算机影响的工作数量在美国,他们谈论的工作从数据分析师到计算科学家——不仅仅是专业的软件开发人员。不用成为专业的软件工程师,你也可以得到一份使用计算机的好工作。有计算机教育的可选端点.虽然似乎不可能教足够多的工程教师,但我们可以教科学教师足够多的计算,以教授计算科学(如Uri Wilensky写到这里)或者教数学老师足够的计算能力来通过制作电子游戏来教授代数(比如引导:代数).我们可以将计算分解成适合并服务于K-12教育的有用部分。
3.身份:教我的第一门EER课程让我明白了它的重要性工程的身份就是工程教育。EER的研究经常包括问学生:“你是工程师吗?”和“你认为别人认为你是工程师吗?”研究人员联系缺乏工程学的身份是麻烦的标志,学生可能会从工程学退学或者在这个领域不会成功。工程教育工作者的目的是培养和促进一种工程认同感。当我向我的一位EER同事讲述我对工程和计算机教育的见解时,她问道:“所以工程教育是关于发展身份认同,而计算机教育只是关于传播知识?”
计算机教育比这复杂得多。计算机教育工作者不能想当然一个职业身份,特别是在考虑非专业课程时。想想那些为未来的计算科学家或计算艺术家准备的课程——这些学生已经或正在发展一种工程学之外的身份。此外,有很多人想学习计算机,但不想成为专业工程师。计算机教育研究人员研究了计算机教育必须如何适应学生的身份。Betsy DiSalvo发现非裔美国青少年的身份不鼓励技术生产,这对她的计算机教育设计是一个挑战。布莱恩·多恩(Brian Dorn)研究的是那些想学编程却不愿上传统编程课程的平面设计师,因为他们与程序员的身份没有联系。凯蒂·坎宁安(Katie Cunningham)为没有在计算机科学课上取得成功的数据科学学生创建了一套课程因为他们的身份拒绝关注语法和语义本身。
计算机教育不仅仅是传播知识,但它在促进专业认同方面不如工程教育。计算机教育工作者不能承担单一的职业身份。我们要处理很多恒等式。
结论:工程教育的重点是培养专业工程师。这是一个重要的目标。世界需要更多伟大的工程师。计算机教育有时是为了培养更多的软件工程师,这很好,因为我们需要许多还有更多这样的事情。但计算机教育也要培养科学家、艺术家、最终用户程序员和了解他们所生活的技术世界的公民。计算机教育和工程教育之间有一个很大的交集,但交集之外的部分比交集内部的部分要大得多。
我要感谢利奥·波特、辛西娅·李、埃德里安娜·德克尔、布里安娜·莫里森、本·夏皮罗和塔玛拉·纳尔逊-弗洛姆,他们对这篇文章的早期草稿提出了意见。
马克Guzdial他是工程学院电气工程和计算机科学教授,也是密歇根大学信息学院的信息教授。
没有发现记录