微积分学

时间:2024-06-27 14:17:01

郦安治(Andrew Lih):美国南加州大学新闻与传播学院副教授,著有《维基百科革命》(The Wikipedia Revolution)。

微积分学

我并不是建议废除关于变化率、曲线下面积的研究,也不是要否定牛顿和莱布尼茨对微积分的贡献。但是,几十年来,微积分已经与要求严格的科学、技术、工程以及数学一样,变成了进入现代研究领域必须要学习的学科。大学里仍然将其作为一门纯数学的学科,要求本科学生学习1~3个学期,而微积分包含了复杂的数学概念,过分强调证明和定理,不仅难以理解,而且与实际应用脱节。

微积分对于那些有兴趣进入计算机科学领域(或其他一些重要领域)的人来说,已经变成一种令人苦恼的仪式。微积分与日常的编码工作、黑客以及创业者的关联都非常小,然而在当今急需数码人才的情况下,微积分已经变成了巨大的阻碍。

在编程和编码领域,这个问题显得尤为迫切。现在大学的计算机科学专业招生已经不像早期的互联网时代那样困难了,生源不足的情况已经不会再出现了,但如果我们最终能够摆脱“计算机科学是数学的延伸”这样的观点(这一观点其实可以追溯到发明计算机的时代,在那个时代,计算机是作为超级计算器而被制造出来的),这个队伍会更加壮大。

在很多课程体系中仍然设置了微积分,但其更多是作为一种仪式,而不是出于对微积分的特殊需要。微积分是一种解决问题的方法,它有助于我们理解更复杂的概念,但如果要一个学习编程的人必须通过微积分课程,微积分就变成了障碍,不仅不能帮助这些人,反而会适得其反。学不好数学就被淘汰是非常懒惰的课程体系设计思想。这种淘汰机制与这个人是否具有编程能力无关。

这让我们不禁质疑,怎样才能造就一名优秀的程序员呢?一名优秀的程序员应该能够将复杂的问题分解成一系列更小的、可解决的问题;对系统和结构能够进行程序上的思考;能够巧妙地操纵比特,并应用其做一些特别的事情。如果微积分对于达到这些要求没有帮助,那应该用什么来替代它呢?离散数学、组合数学、可计算性理论、图论还有很多比微积分更为重要的学科。这些学科才是现代大多数计算机科学领域中标准的、非常必要的学科,但现在要学习这些,都必须要先通过微积分的学习。

为了能够在高等教育之外更好地学习编程,人们组织了一些像聚会、“代码马拉松”活动(code-a-thons)、在线课程、视频教程等正规的学习方式,也会进行像朋辈互助学习这样的活动。放弃对微积分的要求可以使这些人更早地专注于计算机科学并进行更系统的学习。这并不意味着我们会把大学变成职业学校。我们仍然希望,我们培养的科学家和接受STEM教育的博士生应该了解并掌握微积分、线性代数和微分方程组等。但是,微积分作为培养数码精英和自主创新人才的严重阻碍已经存在太久了。

克莱姆森大学尝试将微积分移到更后期的课程中,不作为必要的课程,但会作为与其他STEM课程同步的一类课程。2004年的一份纵向研究显示,对课程进行重新配置,将数学的课程安排在后面的学期中,对于工程学的学习有重大的提升。要改变几十年来占主导地位的教育模式,我们需要更多的实验以及对课程设计进一步的思考。

既然有这么多人对编程感兴趣,我们的高等教育体系怎么会没有提供更好的服务呢?计算机科学被视为STEM学科中的主要学科,而不是被当成一个全新的与其他学科区分开来的学科,我们没有与时俱进。迟早我们会超越STEM的固定模式,而且会做得更好。