APP下载

基于计算思维的初中Python编程微项目教学

2022-08-18鲍莹莹江苏省南京市第二十九中学天润城分校

中国信息技术教育 2022年16期
关键词:流程图电梯思维

鲍莹莹 江苏省南京市第二十九中学天润城分校

对于初中信息技术学科而言,在教学中融入计算思维的理念,不仅指要帮助学生掌握计算机软硬件知识,更重要的是要培养学生利用信息手段最优化解决问题的意识。本文从分析编程教学中的问题出发,在基于“微项目”相关理论的基础上,以学生为学习主角,将计算思维融入微项目教学的整个过程,使微项目教学形式切实且有目标地实施,帮助学生更好地理解现实生活中的信息技术,更好地立足于信息化和数字化的社会。

● 初中编程教学现状

①重教学流程、轻计算思维培养的教学目标。多数教师为了能更高效率地传递知识与技能,常采用讲授法为主的教学方式,按部就班地照着设定的课堂活动环节“熟练地走流程”,在此过程中忽视学生的主体地位,不能及时对学生的反馈做深入解析。

②知识琐碎、任务间关联性不强的主题教学。大部分教师认为项目式教学即为有一定主题的教学,在限定的主题任务下,将知识点牵强地融入每个环节,导致各环节关联性很弱,学生学习的过程跳跃性太大,知识不能形成系统的架构。

③重个体能力提升、轻团体协作的课堂教学。教师在课堂上习惯将关注点落在少数基础好的学生身上,小组合作也只是按照座位分组,组内分工、合作评价等环节缺失。这导致学生团体意识、责任意识、协作意识得不到加强。

● 基于计算思维的微项目教学优势

计算思维是信息核心素养的要素之一,它是应用计算机科学技术解决实际问题的一种解决方案,在不断优化解决问题的过程中完善学生的思维方式,提升学生学科核心素养。微项目教学在项目式教学的基础上,更加聚焦于针对性问题的解决,其主题小而精,可操作性强,同时反映学科核心内容与现实世界的关联,是一种重视应用性、逻辑性的学生主动学习的方式。本研究将计算思维的教学理念融入微项目教学形式中,从教学目标、教学流程方面改善当前初中编程教学中的问题。

1.以思维步骤为教学流程

英国南安普敦大学的Cynthia Selby博士和John Woollard博士提出的计算思维包括五方面要素:算法、分解、抽象、概括、评估。将计算思维的各要素融入微项目教学的整体流程中,具体地讲就是在情境导入环节将实际问题分解为几个相关联的小问题,在活动探究中对具体问题进行抽象、建模,借助数字化方式对问题进行描述与组织建构,在方案设计与实施环节综合考量问题的解决方法与步骤(这是算法思维的体现),在综合评价环节对整体方案与流程进行评估。

2.以实际问题为活动导向

计算思维是一种高阶的能力,应当将其融入具体的教学内容中,在实际应用中提升学生问题解决的综合能力。微项目教学是从问题出发,在具体问题分析中设计具体教学内容,以学生为中心,对项目进行设计研究、探索尝试、验证结果、分析评价、综合改进等。

3.以多元能力为培养内容

微项目教学中设计的内容都是围绕核心知识点,学生有能力进行深度探究的有价值、有针对性的问题,在整个探究过程中,每个小任务都要涉及相应的知识点与技术操作能力,采取恰当合理的评价方式。

● 计算思维主导下的微项目式教学探讨

Python是一种相对简单易学的计算机编程语言,学生学习Python编程语言可以锻炼抽象思维能力,提升代码编写解决问题的技能。本文以Python中《循环结构》一课为例,探讨基于计算思维的微项目教学方案。主要设计思路如图1所示。

图1

1.问题的情境化设置

在导入环节,教师围绕生活问题创设解决问题的大背景,并对问题进行解读,锻炼学生问题分解意识。例如,在《循环结构》一课中,可以“安全乘坐电梯”为问题的案例,给定问题:求解正常乘坐电梯超载的情况下,电梯编程语言如何处理这一问题。引导学生借助Python编程解决排队等电梯时,在数量、重量达标的条件下最多可以有多少人进入电梯。在大问题确定的前提下,再将此问题分解为多个小问题:①模拟每个人进电梯时逐一累加人数和体重,此过程中教师给定每人体重(用w表示)、数量(用n表示)、总重量(用W表示)的变量;②当总人数或总重量超过额定范围(W>限定总重量或者n>限定的总人数)时,应减去最后进入电梯的那人和体重,得到最后电梯预设的人数与重量。从日常生活中的问题出发,贴合学生认知,更能培养学生学以致用的观念与意识。

2.问题的探究性分析

此部分引导学生借助抽象化的语言表述问题,对案例进行剖析,通过小组合作、自主探究的方式锻炼信息组织与分析能力。首先,在计算电梯承载人数及重量前,让学生用自然语言表达算法,小组内商议最佳的算法,不同组之间进行评测;其次,引导学生用流程图的形式将解决问题的思路与步骤表现出来,将思维可视化,将步骤结构化。教师展示学生绘制的流程图,讲解绘制流程图中遇到的困难:每一次电梯上来人,数量n增加1,总重量W增加当前的w,直到累加到限定的数值,那到底要累加多少次?每一次都要画出相同的一段流程图吗?引导学生认识“循环结构”的知识点。在对比的情况下讲解循环结构的优势,在绘制流程图中引入新知“循环结构”的学习,带有目的与期待地迎接新知。

3.任务的支架式引导

任务的设计与实施是微项目中难度最大的部分,因此需要教师给予恰当合理的引导,同时在小组分工后,集思广益,发挥同伴互助的作用。在解决电梯承载问题的Python程序编写中,从刚才分析的两个小问题出发,逐一按照流程图的步骤撰写代码:

(1)输入额定数据与设定变量初值,利用输入函数输入电梯的额定承载重量w0和额定人数n0(如图2)。

图2

(2)计算搭乘的最大人数与总体重,这个环节教师引导学生先借助以往所学的条件语句看是否能实现,当发现不可以后,引入新知“循环语句”,从语句格式、执行过程分析其功能,讲解循环结构适用的场合及编写中注意的问题。模拟人们排队进入电梯时的承载重量和人数,需要多次重复流程图中的“人数加1—输入该人体重—总重量加该体重”一段(如图3),明确在程序中反复执行某一系列操作的结构为循环结构。

图3

a.while循环语句。

语句格式:while<条件表达式>:

循环体(语句组)

b.计算电梯承载的人数及重量的代码。可以将核心的代码模块进行讲解,以填空题的形式帮助学生理解,在程序支架的基础上,学生不容易产生抗拒的心理,有利于新知的理解。

(3)合成程序,完善

程序的编写。此过程是将不同步骤的代码进行整合,发挥每一段代码的整体作用,同时有意识地培养学生个体与集体的意识。

(4)调试运行,在程序运行过程中发现问题、解决问题,寻求最佳的解决方案。此过程借助同伴互助的方式,为寻求最佳的解决方案,共同探讨,在智慧的碰撞中产生知识的火花。

4.评价的多元化反馈

最后,以项目交流形式总结知识点,让学生通过不同的呈现方式表达自己或本组的作品,并在不同组的对比中提出修改意见与建议。同时,升华学生的认知,培养学生正确的人生观、价值观。

● 总结反思

在高速发展的信息时代,信息技术学科教学成为学生提升信息素养的重要途径,教师除了在课堂上教授课本新知外,更重要的是培养学生在日常生活中借助已学的信息知识分析、解决遇到的问题,在问题解决中增强信息技能,提升个人整体信息素养。初中Python教学应将计算思维的培养融入到微项目学习方式中,帮助学生在知识学习与技能应用的过程中形成独特的学科思维,在合理的学习形式中真切感受信息学科的魅力,全面理解生活中的数字世界。但在实际教学中,笔者认为有几点应注意:首先,应当注重教师引导,发挥好“脚手架”功能,让学生学习起来有的放矢;其次,任务应紧紧围绕微项目主题,通过分解、抽象、模型建立、算法等微项目解决问题的流程,逐层剖析问题,让学生能够建立分析问题、解决问题的模式;再次,在评价中综合考量算法的优劣性,以达到培养学生高阶思维的教学效果,在对比中发挥教师的主导作用,引导学生学会主动探究;最后,在知识的迁移中提升学生信息社会责任意识,增强信息技术服务社会的责任感,从而提高学生信息技术核心素养。

猜你喜欢

流程图电梯思维
思维跳跳糖
云的识别指南
思维跳跳糖
思维跳跳糖
电梯,电梯,“飞”起来
电梯不吃人
被困电梯,我不怕
流程图学习指南
开开心心乘电梯