面向计算思维培养的初中《Python程序设计》教学策略
2021-08-09朱伏波华永兰
朱伏波 华永兰
摘要:计算思维是运用计算机科学相关知识解决实际问题的重要思维,已成为信息技术学科的核心素养之一。Python语言是目前最流行且受欢迎的程序语言之一。作者提出,在初中阶段利用Python语言开展程序设计教学,有利于学生在掌握编程知识的同时,培养计算思维,促进核心素养的提升。
关键词:计算思维;Python语言;核心素养
中图分类号:G434 文献标识码:A 论文编号:1674-2117(2021)13-0042-03
● 计算思维的培养是信息技术教育的核心任务
2006年,周以真教授首次提出“计算思维”的概念,指出计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。周以真教授同时提到对学生计算思维的培养,可以让学生用信息技术学科思维方式理解信息世界,促进学生综合发展,并且对学生终身的学习、生活、工作等能力都将产生深远影响。[1]《普通高中信息技术课程标准(2017年版)》中明确提出信息技术学科的核心素养由信息意识、计算思维、数字化学习与创新、信息社会责任这四部分组成[2],进一步明确了计算思维的培养在信息技术教学中的重要作用。
● Python程序设计有利于初中生计算思维的培养与提高
对学生计算思维的培养广泛渗透在信息技术教学中,“算法与程序设计”模块是最能体现学生学习并掌握计算思维运用过程的内容。而初中生正处于具体形象思维向逻辑思维过渡的阶段,思维具有片面性与表面性,所以,在程序语言的选择上,不应选择难懂且繁杂的程序语言,否则会引起学生的反感及畏难情绪。而Python语言语法简洁易懂,极易上手,具有功能强大、高效灵活、跨平台等特点,有利于促进学生对计算机思维的理解和领悟。
● 面向计算思维培养的初中Python程序设计教学策略
1.依托“项目教学”,建构真实情境,激发学习兴趣,助力计算思维的发展
项目教学法就是在教师的指导下,将一个相对独立的项目交由学生自己处理,信息的收集、方案的设计、项目实施及最终评价,都由学生自己负责,学生通过该项目可以了解并把握整个过程及每一个环节的基本要求。[3]在程序设计中开展项目教学,通过建构真实的项目情境,可以充分激发学生的学习兴趣与求知欲,让每个学生都乐于参与到项目中来,这样学生既学习到了Python编程的有关知识,也发展了计算思维,同时锻炼了自主探究与合作学习等综合能力。
例如,笔者根据所在学校学生学习能力与特点及以往VB程序教学的经验,确立了设计与制作“学生成长档案系统”这一项目,上表为教学设计计划表。
该项目计划通过10次项目活动来完成,每次活动大约1节课的时间。设计原则:结合學校学生的学情与真实需求——“学生成长档案系统”设计开展。为解决“学生成长档案系统”的设计问题,学生在各项目组长的带领下,分组进行自主学习与合作探究,小组间则开展设计竞争。在此过程中,学生始终是学习的主体,教师成为引导者与辅助者,而程序的算法与Python语言相关知识的渗透则随着项目的进行逐渐展开。随着项目的实施与深入,学生对程序算法以及Python的编程方法的理解由无到有、由浅入深。学生的计算思维能力以及自学能力、观察能力、动手能力、研究和分析问题等综合能力得到了发展,并开始学会运用计算思维来分析与解决所遇到的实际问题。
2.以“任务驱动”为抓手,分化知识难点,帮助提升计算思维
“任务驱动”就是在学习信息技术的过程中,学生在教师的帮助下,紧紧围绕一个共同的任务活动中心,在强烈的问题动机的驱动下,通过对学习资源的积极主动应用,进行自主探索和互动协作学习,并在完成既定任务的同时,产生一种学习实践活动。[4]
“学生成长档案系统”的设计与制作会涉及许多算法及Python编程知识,学生要通过学习运用这些知识来解决项目活动中遇到的问题,其中有很多知识对初中生来说具有一定的难度。对于这种情况,可以在项目开展过程中,把每次活动所要学习到的知识分解成若干任务,以“任务驱动”为抓手,让学生通过完成任务来掌握算法及编程知识,以此来分化学生的学习难点,帮助他们尽快地达成学习目标。例如,活动5:修饰“成长档案上系统”—绘制图形,学生需要用Python语言完成图形的绘制(如下图)。
学生通过绘制“学生成长档案系统”中的修饰图形,从而掌握Python的turtle库语法,forward、left、range命令用法以及range循环的用法。对于这部分内容,可以把每种图形的绘制作为一个学习任务,让学生在完成任务的过程中,掌握Python绘制图形的方法以及理解range函数的用法等知识。
设置学习任务时应注意以下几点:首先,任务需要围绕项目教学的主题,帮助学生解决“学生成长档案系统”项目中的实际问题。其次,任务还要有利于提升学生的计算思维,即任务应该围绕学生计算思维的发展与提升,可以采用“先易后难,环环相扣、层层递进”的方法,让学生从解决简单的学习任务开始,逐步过渡到比较复杂的任务上来。同时,任务与任务之间要有一定的关联,在知识的传授上要具有层层递进的关系。
3.构建“主题网站”,开展互动学习,促进计算思维提高
要想提高学生的编程能力,促进学生计算思维的养成,仅仅依靠课堂上的学习是远远不够的。教师应该调动学生学习的积极性,让他们利用课余时间有的放矢地学习,并将学习的结果及时与教师进行沟通反馈,而通过构建“主题网站”,开展互动学习则是解决该问题的一个好方法。
笔者为该项目制作了一个主题网站。网站根据“项目教学设计计划表”分为10个活动栏目,每个栏目都由“课前预习”“课中学习”“课后巩固”三个部分组成。每次项目活动前,学生需登录网站,进行“课前预习”,预习相关知识,为即将到来的项目活动做好准备。预习完成后,通过网站提交预习情况表,方便教师及时掌握预习情况,为项目活动的开展提供依据。网站的“课中学习”部分,则列出本次活动的学习目标、学习任务、学习单、教师的课件,以及用于帮助学生学习的微视频。学生在这里借助教师的课件与微视频,通过自主学习与合作探究,掌握编程知识,完成学习任务。“课后巩固”部分,则是“课前预习”与“课中学习”知识的拓展与练习巩固。学生在这里可以学习编程的相关拓展知识,编写“课后巩固”程序,巩固所学的知识。完成巩固练习后,学生将练习程序通过网站提交给教师,而教师则通过批改学生提交的练习,了解并及时评价每个项目小组及成员的学习情况,并在网上通过留言的方式与学生进行互动交流。
构建主题学习网站能使学生的预习有方向、学习有重点、反馈有评价、评价有互动,帮助学生提高了计算思维能力。
● 结语
谭浩强教授在《研究计算思维,坚持面向应用》一文中说:“计算思维主要不是靠讲课得来的,而是在学习和应用计算机过程中培养的。学生对计算机应用越深入,对计算思维的认识就越深刻。”[5]实践证明,在《Python程序设计》中,依托“项目教学”,以“任务驱动”为抓手,构建“主题网站”,开展互动学习,有利于培养初中生的计算思维,提高他们解决生活中的实际问题的能力。
参考文献:
[1]Jeannette,M.Wing.Computational Thinking[J].Communications of ACM,2006,49(03):33-35.
[2]中华人民共和国教育部.普通高中信息技术课程标准(2017年版)[M].北京:人民教育出版社,2018.
[3]项目教学法[EB/OL].[2014-5-29].https://baike.so.com/doc/56508595863504.html.
[4]任务驱动教学法[EB/OL].[2021-2-25].https://baike.baidu.com/item/%E4%BB%BB%E5%-8A%A1%E9%A9%B1%E5%8A%A8%E6%95%99%E5%AD%A6%E6%B3%95/7869947?fr=aladdi.
[5]刘向永.计算思维改变信息技术课程[J].中国信息技术教育,2013(06):5-12.
作者简介:朱伏波,中学高级教师,工作单位为江苏省南京市莲花实验学校,研究方向为信息技术教育教学。华永兰,中学一级教师,工作单位为南京师范大学附属新城初级中学黄山路分校,研究方向为信息技术教育教学。