您好, 访客   登录/注册

如何有效开展编程与计算思维教育:教师教育的视角

来源:用户上传      作者:Aman Yadav 钱逸舟

  2018年初,教育部正式公布了《普通高中信息技术课程标准(2017年版)》,其中将计算思维列入核心素养。
  教育部在《2019年教育信息化和网络安全工作要点》中提出,要在中小学阶段逐步推广编程教育,培养学生计算思维。
  到底何为计算思维?
  我们的教师教育是否应该有新的侧重点?
  教师应该具备怎样的能力才能有效开展计算思维教学?
  ……
  本期对话嘉賓亚达夫教授和钱逸舟博士针对上述一系列问题展开对话。
  什么是计算思维?
  钱逸舟:亚达夫教授,您好!在中国,编程与计算思维教育已经成为一个新的教育热点,计算思维也成为我们的一项核心素养。但是,我们对什么是计算思维似乎还是很模糊,或者说有很多不同的观点。作为美国计算机教育课标组专家、计算思维与编程教育研究的著名学者,您认为什么是计算思维?是否可以给出一个比较清晰的定义?
  亚达夫:钱逸舟博士,您好!您说得很对,关于计算思维,不同的学者给出了不同的定义。但总体而言,大家对计算思维有一些共识。我认为定义计算思维可以从以下几点来把握:把复杂问题拆解为简单可操作的子问题;使用一系列清晰的步骤来解决问题;将解决方案迁移到类似问题中;使用计算机来自动化问题解决过程。简单来说,我认为计算思维包括问题拆解、算法、抽象和自动化等几个方面的能力。当然,这是我个人的理解,其他学者可能会有不同的定义。例如,Jeannette Wing可能会认为模式识别、逻辑思维等能力也是计算思维的组成部分;美国国家研究委员会(National Research Council)给出的定义更加复杂,包括了算法复杂度估算、程序调试、并行计算等计算机科学领域的重要能力。
  钱逸舟:看来计算思维的确是一个涵盖面较广、不容易清晰定义的概念。在这种情况下,我们应该如何去评价学生的计算思维能力呢?
  亚达夫:这是一个很好的问题。我觉得,虽然计算思维的定义各有不同,但是可以认为是大同小异,其核心组成部分是类似的,如问题拆解、算法、抽象和自动化。当我们去评价计算思维时,仍然需要从定义出发,根据你研究的计算思维的定义来设计相关的评价方法和工具。评价学生的计算思维,我认为可以从两个角度来思考:首先,我们可以从计算机科学和编程的角度来考量。Jeannette Wing最初提出计算思维这一概念时就强调,计算思维是用计算机科学的概念和方法来解决问题。这就包括了变量、循环、递归、程序调试和优化等常见的编程概念和方法。因此,我们可以让学生用编程的方法来解决问题,通过他们的编程表现来评价他们的计算思维。其次,我们也可以从计算(computation)的角度来对学生进行评价。计算思维是一种问题解决的思维,这种问题解决方式强调让学生成为计算思考者(computational thinker),编程不是必需的,学生可以用计算的方法思考各种问题,例如,如何在数据中发现规律和提取模式。因此,设计相关的非编程的题目也可以来评价学生的计算思维。
  关于计算思维培养,美国有哪些教育改革措施?
  钱逸舟:在中国,计算思维已经成为学生的核心素养,从国家政策到学校的教育改革都在强调这方面的内容。在美国,这方面相关的教育改革措施有哪些?
  亚达夫:和中国类似,我们在课程标准中也加入了计算思维的内容,例如,在《下一代科学标准》(Next Generation Science Standards,NGSS)中,计算思维是其重要的组成部分。大学委员会(College Board)也推出了一门全新的AP(Advanced Placement)课程(注:大学先修课程),主要就是培养学生的计算思维。谷歌公司也在推动计算思维和编程教育的发展,也推出了自己的相关课程。
  钱逸舟:如此看来,计算思维必将成为学生的一项重要能力,这应该是一个世界性的趋势。当我们谈论计算思维的时候,我们常常也会说到编程。您刚才也提到新的AP课程以及谷歌公司的相关课程,早些年您还和PLTW(Project Lead The Way)合作过计算机类课程研发,里面都涉及了编程的内容。那么,是不是说计算思维的培养需要以编程作为一个基础,或者说围绕编程教育展开?
  亚达夫:您说得很对,当我们谈论计算思维教育时,似乎就是在谈论编程教育,甚至很多时候大家认为这两个是一回事。但是,计算思维的培养是可以脱离编程展开的,如不插电的计算机课程(CS Unplugged),就像我刚才所说的,从计算和问题解决的角度来说,计算思维可以脱离编程。然而,编程仍然是培养计算思维的一个重要工具,学生使用计算机编程来解决问题、搜集和分析数据、进行科学探究和思想表达,这些都是计算思维的重要组成部分。同时,我也必须强调,编程并不等于计算思维,编程是培养计算思维的工具而不是目的。
  钱逸舟:我非常认同您的这个观点!但是,根据我的经验和观察,现在有许多课程仅仅是关注编程知识的传授,而不是培养学生用编程解决问题的能力,或者说计算思维。您是否有类似的感受?
  亚达夫:在美国也肯定有类似的情况。我认为这里的原因有很多,但是一个重要的原因就是教师自己不了解计算思维。我所从事的研究和实践领域可以称为计算机科学教育(computer science education)或者计算教育(computing education),我的很多研究是关于计算机教师教育的。在美国,计算机科学教育发展的一大瓶颈就是缺乏优质的计算机教师。因为教师教育学院通常没有计算机科学教师这一专业,所以现在中小学相关课程的教师多数是来自其他学科的教师,如数学、科学,甚至是英语,他们自己对计算机科学的学科知识也不是非常熟悉,虽然我们为他们提供了很多在职培训,但他们的学科知识仍然是有限的。在这种情况下,他们完成编程知识的讲授已经倾尽全力,对于用编程来解决问题或者说培养学生的计算思维,对多数人来说更是一种挑战。我最近的一项研究发现,许多教师对计算思维有错误的认识,甚至不少教师直接把计算思维等同于“做数学”(do mathematics)。
转载注明来源:https://www.xzbu.com/9/view-15180640.htm