浅谈培养初中生计算思维的Python路径
来源:用户上传
作者:
随着科技的进步和信息技术的发展,大数据、人工智能(AR)和虚拟现实(VR)的理论和技术日益成熟,应用领域不断扩大,逐渐渗透到人类社会的各个领域,使用计算机解决问题并帮助我们更高效的工作、更舒适的生活成为现代社会人类必备的一项技能。国务院在2017年7月印发的《新一代人工智能发展规划》中明确指出“人工智能成为国际竞争的新焦点,应逐步开展全民智能教育项目,在中小学阶段设置人工智能相关课程、逐步推广编程教育。”教育部于2018年4月发布的《教育信息化2.0行动计划》也把提升教师和学生的信息素养作为重要目标。通过开展编程教育提升学生的计算思维、创新思维,已经上升到国家战略的层面。
一、国内外编程教育现状
目前,在美国、英国、日本等发达国家都已经将程序设计课程纳入到中小学的教学范围。美国前总统奥巴马斥巨资推动编程教育,并发起“编程一小时”运动,旨在让全美小学生开始学习编程,更早地开发计算思维。美国北乔治亚大学计算机科学系终身教授Bryson Payne博士在他的《Teach your kids to code》一书中指出:“计算机编程是每个孩子都应该学习的一项重要技能,理解如何编写代码,可以将计算机的能力控制在你的指尖。”
近几年,国内关于程序设计对学生计算思维、创新思维培养的研究也愈加丰富,大部分中学的信息技术课程中都有程序设计的教学模块。山东省最新出版的小学信息技术教材,在六年级课本中加入了Python语言相关内容,程序设计开始向小学高年级进军。人工智能和机器学习领域国际上最权威的学者之一吴恩达提出:“写代码就跟识字一样,将来人机交流越来越重要,人人都该学会编程,应用计算思维。”
二、计算思维概述
计算思维的概念是随着计算机科学发展到一定水平而变得清晰起来的,具有显著的时代特征,它区别于以数学为代表的逻辑思维和以物理为代表的实证思维,主要体现了一种抽象交互关系和形式化执行的思维模式。2006年,时任美国卡内基梅隆大學计算机系主任的周以真教授提出了计算思维(Computational Thinking)的概念,他把计算思维概括为:运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。计算思维以设计和构造为特征,本质是抽象和自动化。
简单地说,计算思维可以理解为利用计算机求解问题的思维方式。例如:计算1到100的自然数的和,如果运用逻辑思维的方式求解,可以利用等差数列求和公式求得结果。如果运用计算思维求解,则可以把问题抽象为1到100的自然数的累加,通过设计程序的循环结构和求和语句可以自动化地执行累加过程,很容易地就求得了结果。在程序设计的范畴,计算思维主要反映在理解问题的计算特性,并将计算特性抽象为计算问题,进而通过程序设计语言实现问题的自动求解等方面。
三、Python语言与初中生编程教育
大数据和人工智能时代的来临使程序设计和计算思维成为21世纪最具竞争力的技能之一。初中阶段对学生进行编程启蒙并通过程序设计教学训练学生的计算思维,既符合学生的身心发展规律,又符合时代的发展需求。提及程序设计就必然与目前应用越来越广泛的Python语言联系在一起。Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。
Python语法简洁清晰、通俗易懂、简单易学,有助于激发学生对计算机编程的兴趣,非常适合对初中生进行程序设计和计算思维的启蒙教育,在国外甚至有《Baby Python:Basic Code for Programming》这类的幼儿Python编程教程。为了提高学生的信息素养进而提高其未来社会竞争力,我们有必要在初中阶段通过Python程序设计课程对学生的计算思维进行培育,通过Python程序设计教学培养学生计算思维和创新思维的能力,以提高学生主动运用计算思维分析问题、解决问题的信息素养,为学生进一步接受更高层次的专业学习筑牢计算思维和创新思维的根基,从而为培养符合时代发展需要的复合型人工智能人才打下良好的基础。
四、实施策略初探
按照信息技术课程标准的要求和新课程改革的需要,充分利用初中信息技术课程中程序设计教学模块,在初中三个年级分别开展有针对性的Python程序设计教学,使学生掌握Python开发环境搭建,理解Python程序设计语法结构、数据类型,熟练使用运算符与表达式、内置函数和常用标准库,初步了解面向对象的程序设计、常用算法、大数据处理和简单的游戏开发等内容。根据不同年级的学生学情创设情景、预设问题,让学生用编程设计解决方案,并跟踪学生学习效果,通过课后反思、师生评价、对比分析验证Python程序设计对初中生计算思维培育的实际作用。具体实施过程中主要采取以下策略:
1.研究国内外有关程序设计启蒙和计算思维培育的相关理论和实践经验。收集整理国内外有关Python程序设计启蒙和学生计算思维培育的热点案例和成功经验。
2.研究《新一代人工智能发展规划》和《教育信息化2.0行动计划》中对学生智能教育、信息素养教育的要求,研究学生学情,制定合理的初中生计算思维培育目标。
3.根据初中信息技术课程标准分别对初中三个年级制定有针对性的Python编程教学目标,并参与Python程序设计集体备课,与信息技术学科教师共同开展Python编程教学设计。
4.持续跟踪Python程序设计课堂教学,根据教学效果和反馈进一步修改完善教学设计,调查学生的学习效果和认知程度,了解学生的学习进展,探索发现初中生计算思维的认知规律。
5.结合生活中的实际问题,预设情景,考查学生运用计算思维发现问题、分析问题、解决问题的能力,检验学生通过使用Python语言编程解决实际问题的能力,验证程序设计教学对其计算思维培育的效果。 五、Python程序设计教学实践
初中阶段的Python程序设计教学主要从学生喜闻乐见的生活中的实际问题着手,以任务为驱动,以成就激励为手段,逐步培养学生对编程的兴趣,感受程序设计的魅力和价值。以下截取一个教学片段来体现通过Python程序设计教学训练学生计算思维的方式和方法。文中代码片段均是Python语言,未考虑缩进、层级关系和程序完整性。
教师给出一个问题:请使用Python程序计算整数N到整数N+100之间(不含N+100)所有奇数的和,整数N由用户输入。
问题给出后,先请学生归纳并抽象问题的计算特性。学生归纳的计算特性主要有:获取用户输入的N值;判断N到N+100之间所有整数的奇偶性;将所有奇数累加;将累加值输出。然后请学生根据问题的计算特性抽象出计算问题,并進行编程求解。学生给出的程序设计思路为:设置和的初始值为零:s=0;遍历循环N到N+100的每一个值:for i in range(N,N+100);判断是否为奇数:if i%2==1;累加奇数的值:s+=i。显然,学生设计的程序可以准确的求得问题的解。此时,教师会询问学生程序有没有优化的可能?从计算特性上考虑是否每次循环都有判断奇偶性的必要?这时,有的学生会恍然大悟:只要判断出N到N+100之间的第一个奇数,后一个奇数与前一个奇数是加2的关系,这样就不用每次遍历都判断奇偶性了。于是,教师和学生一起将计算问题优化为:先判断N的奇偶性,如果N为偶数则将遍历的起始值设为N+1:if N%2==0:N+=1;遍历时将步长设为2,这样就保证每一个遍历的值都为奇数,然后将遍历的值累加即可求得问题的解:for i in range(N,N+100,2):s+=i。这次程序优化让学生们兴奋异常,大家都感受到了用双手指挥计算机进行完美求解的成就感和喜悦感。
这个问题的求解过程充分体现了计算思维的抽象和自动化本质,锻炼了学生运用计算思维分析问题、解决问题并优化问题解决方案的能力。
人工智能和大数据的广泛应用使我们的生活变得越来越便捷,效率越来越高,人机交流的能力也变得越来越重要,计算思维将成为可以预见的未来最深层次人机交流的基础思维能力。我们应该抓住初中阶段这一计算思维培育的黄金期,通过科学合理的程序设计教学,锻炼学生的计算思维能力,提升学生的信息素养,探索培养新时代“互联网+”环境下国家急需人才的新途径。
(责任编辑 徐德明)
转载注明来源:https://www.xzbu.com/1/view-14860422.htm