关于真正教授计算机科学的残酷性(EWD 1036)

主要观点:计算机代表着根本性的新奇事物,应对这种新奇需要独特方法,传统以渐进变化应对新奇的方式在面对根本性新奇时会失效。自动计算机带来两个根本性新奇,一是其强大计算能力导致需构建深概念层次,二是它是首个大规模数字设备,其程序与熟悉的模拟设备截然不同。软件工程等领域因无法面对这种新奇而存在诸多问题,计算科学应关注机械化与人类符号操作的相互作用,而教育方面存在诸多问题,应改变语言和教学方式以更好地教授计算科学。

关键信息

  • 应对根本性新奇需以空白思维,拒绝用熟悉事物关联,像学习新外语。
  • 自动计算机的两个新奇:计算能力致需深概念层次,是首个大规模数字设备,程序与模拟设备迥异。
  • 软件工程领域因无法面对新奇而存在诸多问题,如软件测试、维护等概念的误解。
  • 计算科学应关注机械化与人类符号操作的相互作用,提出“FMI”。
  • 教育方面存在诸多问题,如语言使用不当、教学方式不合理等,应改变以更好地教授计算科学。

重要细节

  • 卡尔·弗里德里希·高斯压制非欧几何发现,说明人们常抑制或忽视根本性新奇。
  • 多数数学界人士认为数学活动不会有根本变化,如赫伯特·罗宾斯认为数学能力不会有飞跃。
  • 教育实践常避免让学生注意到学习新事物,如算术教学的方式。
  • 自动计算机的计算能力比从比特到几百兆字节的变化大得多,程序员需构建深概念层次。
  • 程序作为机制与熟悉的模拟设备不同,最小扰动可能导致最严重后果。
  • 软件工程领域的诸多现象如“软件工程”名称的流行、以代码行数衡量程序员生产力等都反映了无法面对新奇。
  • 人工智能的流行是因为人们用其模拟熟悉事物以减轻对计算机的恐惧。
  • 计算科学应超越数学和逻辑,实现莱布尼茨关于符号计算替代人类推理的梦想。
  • 教育政策受多种因素影响,大学在教授计算科学方面存在问题,如语言使用不当、教学方式幼稚等。
  • 用简单的棋盘和多米诺骨牌的例子说明用集合定义处理问题比逐个处理元素更高效。
  • 提出在入门编程课程中以不同方式教授谓词演算和编程,强调证明程序符合功能规范的重要性。
阅读 10
0 条评论