APP下载

面向计算思维培养的初中Python编程项目式教学探究

2020-08-06王颖赵健如侯岩王玉龙

中国教育技术装备 2020年20期
关键词:项目式学习计算思维课程设计

王颖 赵健如 侯岩 王玉龙

摘  要 计算思维是信息技术学科核心素养之一。近年来,如何落实新版课标理念,培养学生计算机思维,日益成为关注热点。基于项目式学习的基本原理,以初中信息技术Python编程课程为依托,以八年级信息技术“程序设计”为例,设计面向计算思维培养的Python课程项目式学习课例,以期为信息技术课程教学实践提供参考。

关键词 项目式学习;计算思维;信息技术;Python课程;课程设计

中图分类号:G434    文献标识码:B

文章编号:1671-489X(2020)20-0074-04

Abstract The 2017 edition of information technology curriculum standard regards computational thinking as one of the core qualities of information technology discipline.In recent years, how to imple-ment the new version of the curriculum standard concept, training students computer thinking has become a focus. Based on the basic principle of project-based learning, this paper takes the Python pro-gramming course of junior high school information technology as the basis and the eighth grade information technology “program design” as an example to design a Python project-based learning course for the cultivation of computational thinking, so as to provide a referencefor the teaching practice of information technology courses.

Key words project-based learning; computational thinking; informa-tion technology; Python classes; curriculum design

1 前言

《广东省义务教育阶段信息技术课程纲要(试行)》中强调,要养成用信息技术解决实际问题的能力[1]。《普通高中信息技术课程标准》(2017年版)中对信息技术学科提出新的建议和要求[2]。计算思维作为信息技术核心素养之一,对基础教育阶段学生发展起到重要作用,在中小学信息技术中培养计算思维和设计教学活动显得尤为重要。

2 设计背景

计算思维的概念与内涵  新标准中指出,计算思维是指个体运用计算机科学领域的思想方法,在形成问题解决方案的过程中产生的一系列思维活动[3]。2013年前后,英国的Woollard等几位博士共同将计算思维划分成算法、评估、分解、抽象与概括。顾名思义,分解思维在应用时主要表现为,在人们遇到困难和复杂问题时将其分成几个小问题来解决;抽象思维主要表现为,在处理这些小问题时能够提取事物的关键特征,省略部分不重要的信息;算法思维强调在解决小问题的过程中要制定规则步骤;评估思维侧重能够从简单的步调中选择得当方案;概括思维则是对某一事物进行剖析、归纳。

Python已经成为初中开展编程教学的主流语言  Python的应用场景广泛,是中学编程教学的新热门。隨着人工智能和大数据的迅猛发展,国内越来越多的中学开设编程相关课程。Python语言从本质上来说比C++等其他语言的语法更浅显易懂,容易被学生接受和理解。依据初中生的原有知识基础和认知能力,他们对枯燥无味的程序设计难以激起兴趣,容易排斥甚至抵触。Python编程教学的一大特点就是要学生通过计算机等电子工具高效、快速、简捷地实现数字化学习体验,在此基础上还可以利用计算思维解决实际问题,接触处于科技前沿的新技术,如人工智能、大数据等,为信息技术编程教育注入新的活力。

3项目式学习

项目式学习的基本流程  项目式学习最早在1918年由基尔帕特里克提出,项目活动分为四个步骤:目的、计划、实施、评价。经过国内外学者的不断钻研和补充,项目式学习得到改进与优化。国内学者一般认为,项目式学习主要包含三个环节:项目设计、项目实施、项目评价[4]。王巍、张文兰、刘景福等人作了补充,见表1。

项目式学习对信息技术学科核心素养培养的作用与意义  根据2017年信息技术新课标的阐述可以了解到,项目教学法是从问题角度出发,到最后产品的生成,通过教师的引导和说明来使学习者发现问题,并以解决问题为方向,开展具有创新特征的项目学习活动,其目的在于让学习者经历“提出问题—设计解决方案—实现解决方案”的过程。可见,项目学习不是侧重课堂知识与技能的获取,而是对课堂知识、校园情境的拓展,故其核心是促进能力的发展。

通过项目式学习,学生在发现问题的基础上根据项目提供的信息和任务,自主选择、制订计划、展开探究。在整个项目式学习过程中,既可以提升学生的表达能力和自主合作意识,又可促进学生创造力和动手实践能力的培养。

4 面向计算思维培养的初中Python编程项目式教学课例设计

本文针对新版课程标准对计算思维的培养要求,以杜威的“做中学”和建构主义为理论依据,借鉴项目式学习的基本操作模式,以Python 3.8和海龟编辑器为主要开发平台,设计“我的健康我评估”“海龟精灵画五角星”等多个项目式教学课例,教学内容涉及Python中的基础语句和一些标准库、第三方库等知识内容。本文以“海龟精灵画五角星”项目进行详细介绍。

項目设计前期分析  项目设计从学习内容、学习者特征、项目目标三方面进行分析。

1)学习内容的分析。广东科技出版社出版的八年级上《信息技术》第一单元“程序设计”共有12节,本节课教学内容选自第12节“综合活动”,主要掌握turtle库中常用的基础语句、函数等,然后通过绘制图画以加深理解。不难发现,以Python中turtle库绘图的方式来教学,既给学生带来学习的乐趣,也体现了信息技术和数学函数完美融合所产生的价值。

2)学习者特征分析

①原有知识基础。学生之前从未接触过Python编程语言,但接触过可视化编程,如Scratch,但仅仅停留在了解的层次上。经过前面几节课的学习,学生已经会使用Python的一些简单语句并能运行,已经熟悉海龟编辑器环境。

②认知能力。初中生具有一定的抽象思维,能够结合先前学习编程的经验,具备一定的搜集、处理信息的能力和动手实践的能力,能够通过自学达到教学目的。

③学习风格及学习动机。学生正处于八年级,此年龄段的学生有较强的好奇心,而项目式教学不仅满足了学生的好奇心,而且极大增强了学生的交流、思考和动手能力。在项目式教学过程中,教师应该对学生的建议和想法及时给予应有的鼓励。除此以外还应该清楚的是,此年龄段的学生心智仍不成熟,可塑性较强,而项目式教学可以极大地培养学生的能力和综合素养。

3)项目目标的制定。根据新课程标准的要求,结合教材的具体内容,确立的基于计算思维培养的项目目标如下。

①知识目标。知道turtle库的起源,认识turtle库的画笔、画布,掌握turtle画笔的抬笔、落笔、前进、后退、左转、右转、改变方向,曲线、清除等语句书写规则。

②技能与方法目标。应用Python的turtle标准模块,会通过代码模式和积木模式两种方式输入turtle语言;能使用变量解决问题,合理使用编程的三种结构,画出变化多端的图形;在项目活动中能分解项目任务,分析问题和解决问题。根据项目实施,通过小组合作完成简单的编程设计,锻炼操作能力、交流合作能力,提升分解与概括问题的能力。

③态度与思维目标。体验Python中turtle语句的图形绘制魅力,激发学生编程的欲望,培养学生的抽象思维;分析文本,获取关键信息,学会运用数字化工具表达思想、建构知识,培养学生的分解思维和概括思维;进一步体会程序设计的基本步骤,编写程序,绘出图形,促进学生算法思维发展;在绘制图形过程中不断进行反思、自我评价,教师指导,提升学生概括和评估思维。

项目设计  项目设计从活动准备、活动设计角度进行分析。

1)活动准备。准备PPT课件、微课视频、知识清单表、海龟编辑器环境(通过海龟编辑器实现Python中turtle库的应用)。

2)活动设计。基于对前期项目达成目标的分析,结合项目式学习基本步骤与特点,以海龟编辑器为主要开发平台(具备Python的turtle库的基本内容,最大优势是该软件有积木模式和代码模式两大输入方式,可视化强,比较适合初学者学习使用),对内容进行重新整合。表2所示是项目“海龟精灵画五角星——Python中的turtle库绘图”的任务表单。

活动实施  在活动实施过程中,学生要建立相关学习资源文件夹、程序文件夹等,时时搜集和保存相关材料。教师课前选择相应的学习资源,将基础作品素材发送到学生端,以便活动更好地开展。

1)划分小组。教师根据先前学生学习情况以及学生的特长和信息技术掌握情况进行分组,四人一组,并推选出一名组长,让学生熟悉项目学习的流程和目的,进行分工。

2)合作学习(认识小海龟)。

①教师用例子引出主题:是否可以通过turtle画个五角星?引出Python中的turtle库,激发学生对turtle的好奇心。

②学生小组合作,搜集、下载并整理和绘制图形的程序资源。

③使用turtle模块的画笔函数绘制图形。

【设计意义】项目初始提出问题、布置任务,可激发学生的好奇心。通过一些例子引入,调动学生积极思考,激发听课欲望,引出turtle库,由图片过渡到编程,提升学生的抽象思维。

3)编程资源学习(设计灵敏小海龟)。教师组织学生通过知识清单、微课视频和书本等方式,集体认识turtle中语句的属性、运动、控制、颜色等,控制画笔在坐标系中的移动。画笔运动命令知识清单如表3所示,画笔控制命令知识清单如表4所示。

【设计意义】学生通过对知识清单、课本、微课视频进行自学,对知识进行梳理,有助于培养抽象思维和概括思维。学生能回忆在自学中遇到的问题,留心听课,大胆提问,锻炼独立思考问题的能力,培养算法思维。

4)选定项目。

①组织学生欣赏海龟绘图图形,如图1所示。

②各个小组内部讨论,根据知识清单和本组成员搜集的资料确定绘制的图形的难易程度、实现情况,并设计草图,选定绘制的图形。

【设计意义】培养学生概括思维,学生在头脑中构思图形绘制所要用到的程序代码和积木块,并思考要如何组织与运用turtle的基础语句。

5)制订计划。教师提出驱动性问题,引导成员分配任务及预测学生如何有条理地合作完成作品制作,引导学生制订计划等。小组根据开发过程设计算法、编写程序、调试程序等环节,结合组内异质的特点分工,发挥个人所长。

【设计意义】教师引导学生制订项目计划,培养学生的分组协作能力,也有利于提升学生的决策管理能力。教师引导学生将一个复杂问题分解为若干相对简单的小问题,有助于学生概括思维和分解思维的养成,也利于学生协调组织能力的培养。

6)项目探究(海龟探险记)。小组成员按照项目计划,在教师指引下进行算法设计、程序调试、修改,合作完成图形编程的设计。教师引导学生构思图形如何绘制,并用文字语言和流程图表达算法思路,进而将算法思路转换成编码语言,最后通过import引入海龟库,运行程序,查看结果。

在此過程中,项目组长需要担任“管理者”角色,管理项目探究活动有序有效实施。小组成员结合原有的程序,互相讨论,对其进行改编,添加必要的循环、顺序、选择语句。通过合作和不断尝试,输入与修改程序语言。教师定期检查项目作品完成进度,发现问题及时给予各项目小组帮助,引导学生完成作品,用turtle画出图形。

【设计意义】项目小组逐层完成项目,项目难度由浅入深,从形象到具体再到抽象,形成抽象思维。教师要引导学生设计相应的步骤或规则来解决每个小问题,通过多次多角度思考,想出符合规定的步骤来进行问题解决,培养学生的算法思维。同时,可以通过互动练习,对知识进行巩固与强化。注重引导学生在简单的步骤或指令中选择出最优方案,对问题解决的多种算法的各个方面综合进行衡量和判断,提升评估思维。

7)成果展示。教师引导学生展示作品并点评总结,要多让学生发言,包括在活动中遇到的困难、自己作品的亮点、小组内部之间怎样进行协作。

学生互评,教师点评,通过回答来总结这节课学到了什么、自己作品设计过程、创新点在哪里,锻炼学生演讲能力与语言表达能力。让学生观看其他小组成果,互相学习。

【设计意义】完成项目作品过程中,小组不断地测试分析程序,进一步培养评估思维。通过展示分享,培养语言表达能力,提升概括思维。

8)活动评价。通过组内评价+组间评价、形成性评价+

总结性评价、教师评价+学生评价,对学生进行全方位评价。评价学生课堂表现时要多表扬;评价学生成品时注意要认真倾听学生的发言,理解学生的意思,从创意、美感、难度、小组合作程度等角度着手。小组评价表如表5所示。教师评价时要评选出最佳程序,对图形具有创新性的,鼓励学生、树立典范,共享经验与技术。

9)项目总结(小海龟总结)。本项目核心是小组以项目式合作完成程序编写、图形绘制。总结分两部分:一是对turtle库内容的回顾总结,二是对学生表现、创作过程中的总结。在编程过程中遇到问题,学生可以求助组员和教师,一起研究、克服困难,完成项目作品,在班内展示与分享经验,最终实现教学目标。

【设计意义】学生听取老师和同学的建议,相互学习、取长补短,通过对知识点和创作过程的总结,培养概括思维和评估思维。

5 结语

本文以初中信息技术程序设计教学为基础,以培养学生计算思维为目标,根据当前初中Python中的教学需求,对教材中Python中的turtle绘图库教学实施进行探讨,设计“海龟精灵画五角星——Python中的turtle库绘图”的具体教学实施流程,有利于提升学生运用抽象、分解、算法、概括、评估的计算思维来解决问题的能力,有助于形成自主、合作、探究的学习方式,为学生发展及终身学习打好基础,为信息技术教学实践提供参考。

参考文献

[1]广东省义务教育阶段信息技术课程纲要(试行)[EB/OL].[2014-11-07].https://wenku.baidu.com/view/9df83d45192e45361166f542.html.

[2]张宁,夏燕萍.高中信息技术学科核心素养的内涵与培养实践[J].中国信息技术教育,2019(5):55-57.

[3]中华人民共和国教育部.普通高中信息技术课程标准(2017年版)[S].北京:人民教育出版社,2018:28.

[4]李志河,张丽梅.近十年我国项目式学习研究综述[J].中国教育信息化,2017(16):52-55.

猜你喜欢

项目式学习计算思维课程设计
龙凤元素系列课程设计
项目式学习在应用型本科院校人才培养中的探究
在初中物理中实施项目式学习
网络信息平台支持下的PBL英语教学实践与研究
基于项目式学习的大学英语翻转课堂教学研究与实践
程序设计课程中计算思维和应用能力培养问题研究
民族高校C语言程序设计课程教学改革的研究
算法的案例教学探析
浅谈艺术专业学生计算思维能力的培养
基于Articulate Storyline的微课程设计与开发