Python教学:编程如何培养学生计算思维

2017-10-31 23:58倪俊杰
中国信息技术教育 2017年19期
关键词:课程标准学科语言

倪俊杰

从去年开始,身边的很多教师都在议论同样的话题:“信息技术教材要改革了,据说是大变样。”“高中信息技术可能要换一门新的语言了。”“以后的信息技术课该怎么上呢?”……作为信息技术学科教师,我也在积极关注学科发展的动向,有了一些所思所想,供各位读者参考。

高中信息技术课程开展情况

为了摸清信息技术课程开展情况,教育部组织专家成立了专项调研组,访谈了8个省84所学校的175名高中信息技术教师,并对283名教师进行了问卷调查。调研组还访谈了信息技术教研员以及对部分高三学生进行了问卷调查,反馈结果显示,当今信息技术课程存在两个方面的问题:一是教材内容的问题,二是课程实施的问题。对此,笔者有几点看法:①信息技术课程内容既要符合当前社会发展的实际情况,又要和小学、初中的内容合理衔接,选修教材设置要能满足部分学生个性化学习的需要;②信息技术课堂的追求要从工具化操作应用上升到学科素养的高度,“去工具化”迫在眉睫;③信息技术学科地位与其作用不相称,会考(学考)、高考将会逐渐步入正轨;④信息技术教师要正视学科发展前景,积极关注新一轮教材改革。

从目前各省公布的新高考方案来看,浙江是唯一执行“七选三”方案的省份。从某种角度而言,浙江的技术学科(信息技术+通用技术)被摆在一个特别“尴尬”的位置,全国都在看浙江的动向。那么,当前的技术课程能否适应高考的要求,今后技术课程的出路又在哪里?

什么是计算思维

2014年11月,教育部启动了高中所有学科课程标准修订工作。依据“中国学生发展核心素养”等方面的要求,课标组界定了信息技术学科的核心素养要素:信息意识、计算思维、数字化学习与创新和信息社会责任。又按照信息技术课程特征和知识技能的逻辑体系明确了高中信息技术课程的大概念:数据、算法、信息系统和信息社会。围绕信息技术学科的核心素养和学科大概念,新课标选择了兼顾实践性与理论性的课程内容,以突破目前教学中课程内容多为工具软件操作的局限,将高中信息技术课程分为必修模块和选修模块。其中,必修模块分为“数据与计算”“信息系统与社会”两个子模块,而“数据与计算”模块中的内容强调了简单算法的学习,让学生掌握一种程序设计语言的基本知识,使用程序设计语言实现简单算法,将计算思维的形式化、模型化、自动化特征渗透至内容标准中。在这里,特别突出了计算思维的重要性。那么,什么是计算思维?高中信息技术课程中该如何通过编程教学体现计算思维呢?

计算思维是由美国麻省理工学院西蒙·帕佩特教授最早提出的,后来由美国卡内基梅隆大学周以真教授进行系统阐述和推广。计算思维的含义是:运用计算机科学的基础概念进行问题求解、系统设计、人类行为理解等的一系列思维活动。计算思维应该是每个人具有的基本技能,而不仅仅属于计算机科学家。计算思维是一种思维方式,被认为是近十年来产生的最具基础性、长期性的学术思想,已经成为当今重点科学研究的内容。计算思维主要表现为“形式化、模型化、自动化和系统化”四个方面,包含三个层次的内容,即计算思维意识、计算思维方法和计算思维能力。从意识到方法再到能力的过程不是一蹴而就的,这是一个循序渐进的过程,需要有针对性地对课堂教学加以培养。

那么,对于刚刚接触编程语言的高中学生而言,应该如何培养他们的计算思维呢?什么样的编程语言能够“担此重任”?

为什么选择Python

1989年圣诞节期间,Guido vanRossum(吉多·范罗苏姆)为了打发圣诞节的无趣,决心开发一个新的脚本解释程序。Python是纯粹的自由软件,语法简洁清晰,极易上手,具有丰富和强大的库,常被昵称为“胶水语言”,能够把其他语言很轻松地联结在一起。

Python的程序可以怎么写?来看这样一个问题:输入圆的半径,输出圆的面积。用Python语言可以这样写:

>>> pi=3.1415

>>> r=eval(input("请输入半径:"))

请输入半径:6

>>> print(pi*r**2)

113.09400000000001

从上面程序可以看出,Python的语言确实非常简单,通俗易懂,可以作为学生的入门语言。除此之外,Python语言还在数据分析、数据可视化、科学计算、硬件编程等领域有很强的优势。

Python语言从问世开始便引起了广泛的关注,其中也不乏学校和教师挖掘了其教学价值,很早就开始把Python应用在教学实践中。美国综合排名前100名的大学有超过70%都开设了Python编程语言类课程。北京理工大学作为国内较早一批引入Python语言的高校,自2013年起就开始面向全校非计算机专业学生开设了公选课《Python语言程序设计》,还有南京大学、哈尔滨工业大学、山东工商学院等多所院校都开设了Python语言的相关课程。

Python语言简洁易懂的特点,比较适合没有编程基础的学生。教师和学生不需要花费大量的时间去处理代码的格式错误。这样,教师在教学过程中能够更加关注算法思维的培养,让学生尽快地在编程中获得成就感,进而培养计算思维。

Python编程教学建议

信息技术课程是一门实践性强、技术条件及师资条件要求较高的课程。教师及教育管理者在课程设置、教学组织、评价方式、课程环境和教师培训等方面需要做好相应的准备。

1.课程设置建议

高中信息技术课程必修模块为4学分,选修模块为2学分。结合中学生的现有水平和认知特点,高中阶段的Python教学无需注重复杂的高级部分,而应强调Python语言的基本用法和常用算法思想,建议教学内容安排如下表。

2.教学方法建议

教学方法是教师和学生为了实现教学目标,完成教学任务,在教学过程中运用的方式与手段。作为信息技术教师,如何在課堂教学中落实培养计算思维的目标呢?从认知发展来看,高中学生的逻辑思维能力逐步趋于成熟,能够对自己的思想观点进行论证,能有条理地对各项经验加以理论说明,这也为学生计算思维的进一步发展创造了条件。目前,关于信息技术的课程教学方法有很多,如讲授法、任务驱动法、基于问题学习、游戏教学法、在做中学等,还有一批教师团队提出了“范例研习—模仿设计—自由创作”的教学策略。结合以上几种教学方法,根据计算思维的特点,笔者提出了一种以项目式教学为指导的教学方法,即“案例启发创作”教学法。endprint

“案例启发创作”教学法的设计思路是先让教师在课堂上设计一个教学情境,提出所要解决的问题。学生在教师的指导下对提出的问题进行分析、细化,再根据情境创设的具体情况提出问题解决策略。在这个过程中,学生可以通过回溯验证对问题解决的策略不断优化。此外,学生根据问题解决策略对问题解决进行尝试。在这个过程中,学生通过反馈进行交流讨论、归纳总结,进一步细化问题后再提出新的问题解决策略,最终反复验证解决问题。当学生解决了教师创设的情境问题,可根据已有水平进行自主创作时,就真正提升了专业技能。

3.教学保障建议

前文讨论了Python进入中学课堂的可行性和教学实施建议,但就目前国内中学信息技术教学现状而言,还存在一些现实的困境。首先,由于Python是开源语言,有很多动态的库,其语言本身还处在更新过程中。那么,Python教学应该选择什么版本,讲授哪些知识点,考试标准、考试形式、评价标准等内容都需要科学规划和设计。其次,由于国内大学引入Python教学的时间并不长,中学阶段更是没有开设的经验,不仅缺少成熟的教学体系,相应的教学资源也比较匮乏。在中学阶段开设Python课程还尚无成功的经验可供借鉴,如果在此背景下直接开设Python课程,对一线教师来说无疑是巨大的压力和挑战。面对以上问题,我们可以从以下几条途径予以解决:

(1)尽快开展教师培训。大多数中学教师没有接受过Python语言的完整训练,很多教师对Python语言一無所知,更别提实际的开发经验了。教师是落实课程标准的主体,教师对课程标准的理解和应用程度决定了课程标准的落实程度。开展基于课程标准的教师培训是课程标准实施的一项关键举措。建议教研部门尽快开展面向中学教师的Python语言编程和教学的培训,帮助他们扎实教学能力;选择试验地区和试验学校进行Python语言的教学试验,在试验中积累有价值的经验。

(2)加强学科实验室建设。对信息技术课程而言,必要的基础设施、基本设备是课程实施的物质基础。信息技术教学实验室应针对课程模块设立,着重满足学生实践操作的需求;除了考虑配备实验用品之外,还应当考虑配备适当的工具和测试仪器,以保证实验的水平和质量。建议有条件的学校建设信息技术学科实验室,倡导通过动手实践、实验操作的方式发展学生的创新能力。

(3)注重多元评价。评价作为一种价值判断的过程,反映的是教育价值理解的多元性。因此,为了全面评价学生的学业水平,信息技术学业评价应采用多元评价方式,通过多途径收集学生学习信息,判断学生学习结果,提供学习支持。基于核心素养测试的试题设计要从学生的认知规律出发,通过创设与信息技术相关的问题情境,在不同能力层次上对学生进行较为全面的考查。建议教育行政部门联合相关专家尽快制定与当下课改要求相适应的Python教学的考试和评价的标准,从宏观层面上建立Python教学的生态体系。另外,笔者认为,有必要搭建基于Python语言的Judge Online系统,以适应学科的整体发展。

总结

高中信息技术课程的改革之路异常艰辛,虽然信息技术新课标尚未正式公布,教材也未面世,但从学科发展而言,编程语言的选择和教学实施是非常关键的问题,在学科核心素养的培养过程中有着举足轻重的地位。不管信息技术课程内容最终如何呈现,都希望各方能够足够重视信息技术学科的发展,共同创造一个有利于学科、教师、学生,也有利于社会的良好环境。endprint

猜你喜欢
课程标准学科语言
广州市教育局邀请专家深入解读《义务教育劳动课程标准》
科学构建超学科STEAM课程
关于开辟版块答疑解惑的通知
深入学科本质的深度学习——以“表内除法”为例
新课程标准下的计算教学怎样教更有效
“超学科”来啦
学生获奖及学科竞赛
我有我语言
语言的将来
Action Speaks Louder Than Words 你对肢体语言了解多少