acm-header
登录

ACM通信

BLOG@CACM

计算机科学与数据科学教育中的过程-对象二元性


Technion的Orit Hazzan和Koby Mike

你会如何向一个不是计算机科学家的朋友描述归约法?你会如何向一个不是数据科学家的朋友描述KNN算法?

正如我们将看到的,即使是这样简单的练习也可以教会我们很多关于学习者对这些概念和许多其他计算机科学和数据科学概念的概念和理解,并可以指导我们设计与这些概念相关的教材和学习过程。

这一切都始于大约30年前,当时数学教育运动发展了主要区分数学概念的过程概念和对象概念的理论(Dubinsky, 1991;杜宾斯基和麦克唐纳,2002;Sfard, 1991)。十年后,这些理论被应用到计算机科学教育中(Hazzan, 2003b, 2003a;哈赞和哈达尔,2005年;Sakhnini & Hazzan, 2008)。如今,随着数据科学教育学的迅速发展,我们建议在数据科学教育中实施这些理论(Mike & Hazzan, 2022)。在这篇博客中,我们将阐述这一发展,并讨论我们每个人如何在课堂上使用这些理论。

灵感:过程-对象二重性理论

根据过程-对象对偶理论,抽象数学概念在人的头脑中既可以表示为过程,也可以表示为对象(Sfard, 1991)。作为一个过程,数学概念被认为是从输入生成输出的算法或计算。在更高的抽象层次上,作为一个对象,同样的数学概念被认为是一个固定的结构。

在大多数数学概念的学习过程中,学习者要经历三个阶段。首先,这个概念被认为是一个过程。然后,这个过程在心理上被包装(封装),一个对象表示被创建并作为一个单一的紧凑实体捕捉在学习者的头脑中。把一个数学概念想象成一个对象,一个自成一体的实体,可以使学习者在分析其性质的基础上,从不同的角度考察它,而不深入研究它的细节,分析它与其他数学概念的关系,并对它应用运算。由于对象概念所允许的各种各样的活动,一个概念的对象概念反映了比其作为一个过程的理解更深刻的理解。在第三步,也是最后一步,在概念被打包并成为一个对象之后,学习者可以将它作为一个更复合概念的组成部分使用。

释义:函数的概念在数学、计算机科学和数据科学中都有体现过程-对象二元性的视角

数学教育研究界广泛讨论了关于函数概念的对象-过程二元性(见Dubinsky & Harel, 1992)。作为一个过程,函数可以在人脑中表示为计算函数输出值y所需的步骤对于给定的输入值x.另一方面,作为一个对象,函数的概念可以被认为是一组有序的对{(x)y)}。尽管学生们经常把函数的概念想象成一个过程,但它仍然使他们能够解决大量与函数有关的问题。

在数学教育背景下关于函数概念的过程-对象二元性的广泛讨论的基础上,我们通过过程-对象二元性的镜头考察了计算机科学教育背景下的函数概念和数据科学教育背景下的函数概念。

在计算机科学中,约简实际上是函数,因此可以合理地假设一些学生将它们视为过程。就像在数学教育中一样,约简的过程概念足以成功地解决某种类型的可计算性理论问题(Hazzan, 2003b)。例如,根据Hazzan的说法,当解决某种可计算问题时,学生们更喜欢定义约简,而不是使用(Rice)定理,尽管在涉及的细节方面更简单,但需要一个人把许多概念想象成对象。此外,有时可以通过自动过程来定义还原,而不需要理解其微妙的细节。例如,暂停问题在定义约简中的主导地位使人们能够通过模仿已知的可重复步骤几乎自动地构造暂停问题的约简,甚至不需要分析约简源(即原始问题)的属性。这样的行为反映了还原的过程概念。

在数据科学中,我们通过参考机器学习算法的概念,从过程-对象对偶理论的角度来研究函数的概念,可以将其描述为“一些输入值集到输出值的数学函数映射”(Goodfellow et al., 2016, p. 5)。具体而言,我们使用KNN算法来说明如何将过程-对象对偶理论应用于分析学生对机器学习算法概念的理解。下面是几个学生对本博客的第二个问题给出的说明性答案:你会如何向一个不是数据科学家的朋友描述KNN算法?(Mike & Hazzan, 2022):

  • 然而,是一种根据其他示例对特定数据或图像进行分类的特殊方法。
  • 告诉我谁是你的邻居,我就告诉你你是谁。
  • 根据某物与其他已知物体的接近程度将其分类。
  • 如果有两个不同的组,你必须选择加入哪个组,你会怎么选择?预期答案:像我这样的人是这么认为的。
  • 根据与示例最相似的示例对示例进行分类的能力。
  • KNN是一种机器学习算法。
  • 你总是表现得像你的邻居。

我们邀请读者根据KNN算法所反映的概念对这些描述进行排序,无论是作为一个对象还是一个过程。感兴趣的读者可以选择其他数据科学概念,并以两种方式描述它们:一种反映过程概念,另一种反映对象概念。

对数据科学教育的启示

除了作为识别学习者对数据科学概念的概念的一种方式外,过程-对象对偶性对教学和学习过程的设计有几个教育意义。

例如,为了支持机器学习算法的学习过程,首先是作为过程,然后是作为对象,我们建议按照以下顺序为学生提供一系列练习:可视化练习,以视觉方式呈现,可以基于视觉表示的分析来解决;需要手动跟踪机器学习算法的动手活动,对于这些活动,一个过程概念就足够了;并且,在为对象概念做准备时,需要识别算法的每个属性以便在编程语言中正确实现的编程任务。

这篇文章说明了使用数学教育中的一个理论来分析学生对数据科学概念的理解。从更广泛的角度来看,我们建议,由于数据科学是基于数学、统计学、计算机科学和应用领域的,所以在设计数据科学教育学时,我们也应该依赖和使用在构成数据科学的所有学科的教育领域中获得的知识。

参考

杜宾斯基(1991)。高等数学思维中的反思性抽象。在高级数学思维(页95 - 123)。多德雷赫特。

杜宾斯基,E.和哈雷尔,G.(1992)。函数的概念。《认识论与教育学》美国:美国数学协会(MMA)

杜宾斯基,E.和麦克唐纳,m.a.(2002)。建构主义学习理论在本科数学教育研究中的应用。在D. Holton, M. Artigue, U. Kirchgräber, J. Hillel, M. Niss, & A. Schoenfeld(编辑),大学数学的教与学(卷7,页275-282)。Kluwer学术出版社。https://doi.org/10.1007/0-306-47231-7_25

Goodfellow, I., Bengio, Y., Courville, A., and Bengio, Y.(2016)。深度学习(卷一).麻省理工学院剑桥出版社。

哈赞,O. (2003a)。学生在学习数学和计算机科学时如何减少抽象。计算机科学教育13(2), 95 - 122。

哈赞,O. (2003b)。在学习可计算性理论时减少抽象。计算机在数学与科学教学中的应用22(2), 95 - 117。

哈赞,O.和哈达尔,I.(2005)。学习图论时减少抽象。计算机在数学与科学教学中的应用24(3), 255 - 272。

迈克,K.和哈赞,O.(2022)。非专业的机器学习:白盒方法。统计教育研究杂志21(2)第十条。

Sakhnini, V.和Hazzan, O.(2008)。减少高中计算机科学教育中的抽象:抽象数据类型的定义、实现和使用案例。计算机教育资源期刊(JERIC)8(2) 1-13。

Sfard, A.(1991)。关于数学概念的双重性:对过程和对象作为同一枚硬币的不同方面的思考。数学教育研究22(1) 1-36。https://doi.org/10.1007/BF00302715

Orit Hazzan他是以色列理工学院科学与技术教育系的教授。她的研究主要集中在计算机科学、软件工程和数据科学教育。有关其他详细信息,请参见https://orithazzan.net.technion.ac.il/迈克·库柏他是以色列理工学院科学与技术教育系的博士研究生,导师是Orit Hazzan教授。他目前是巴伊兰大学的博士后。


没有找到条目

登录全面存取
忘记密码? »创建ACM Web帐户
Baidu
map