情景式“问题导学”教法在初中Python课程中的应用
——以《分支结构之田忌赛马》一课为例

2022-09-08 07:11:24郑佳琦
今天 2022年14期
关键词:田忌导学语句

郑佳琦

(南京明道学校 江苏 南京 211899)

1.研究背景

2017年国务院印发《新一代人工智能发展计划》,义务教育阶段响应国家政策积极在中小学开展编程课程。Python语言相较于其他的程序设计语言具备高解读性、少语法规则、无需编译等优点,简化学生学习过程中的无关操作,节省时间和精力专注于自身编程能力的提高和核心思维力的培养。学生经过小学图形化编程的学习,已经积累程序设计的基础思维,但初中生抽象逻辑能力、计算思维能力较弱,对于代码书写存在畏难情绪。而Python作为初中教学科目开始时间不长,如何打消学生面对抽象的程序思维的畏难心理,不让枯燥的代码学习磨灭对信息学科的学习热情,需要教师对于Python课程的教学设计深入实践和不断探索。

笔者作为初中信息技术教师始终积极探索Python程序教学,依托设置生动的生活化情景来调动学生的积极性,转换故事中原本的情节逻辑为代码逻辑,教师通过精心设计的“问题链”层层引导,将程序语法循序渐进教授予学生,旨在探究提高学生核心素养力的良好教学方法。

2.相关概念

2.1 教学情景

“在教学中注重创设情景和提出问题,能够有效促进学科核心素养的培养和发展。”[1]史宁中教授的学术观点意味着学生核心素养可以在特定的教学情境中培养而成,教师通过创设与学生生活学习相关的真实情景,保障学生的学科学习真实、高效地发生。学生在教师精心设定的教学环境中,学习的主动性和求知欲增加,有助于提升学生的核心素养。

在教学情境的设置上,一般课堂采用课前导入的形式,作为引发学生兴趣的课堂教学点,对于理论知识来说只是最开始的刺激。教师通常都是需要设置教学任务做到层层递进,教学情境在中间教学过程中的作用被淡化,但是又会出现在课程的结尾部分强行串联。虽然教学情境不作为课堂的主要部分,但其实可以作为锦上添花的存在,教师合理化设置教学情境,将故事的带给学生的起伏

2.2 问题导学

“问题导学式”课堂开展是通过教师提供“预设问题”为学生认知导向,以学生为本,以问题解决为核心,提高学生学习的主动性为目标的现代化教学模式。“问题导学”的最终的目的是对于学生能力与素养的培养,“问”是一种形式,如何通过“问”实现“导学”,才是教师真正要思考的问题[2]。

教师在预设问题时一定要注意避免“无效提问”。“无效提问”是指问题本身答案早已存在于学生原有的认知水平,学生不能通过问题引发新的思考,教师也无法通过问题带动课堂发展。教师的问题设置一定要有明确的目的,问题的答案范围不可过于广泛,学生能够经过课堂学习总结得出答案,在回答问题的同时课堂教学得到及时反馈,也可以增加学生学习的成就感,从而提高学生的主动探究性。

2.3 情景式“问题导学”教学模式

教学情境与问题导学皆为有效的教学手段,能够起到积极推动课程发展的作用,将情景融入至问题导学型课堂能实现“1+1>2”的效果。套用学生熟悉的情景,也许是耳熟能详的故事或者是身边的真实生活,分析其中学生熟悉的逻辑,建立已知的知识结构。程序设计是一门抽象的概念,初中生理解较为困难,容易萌生半途而废的心理,需要教师及时添加课堂刺激引发学生学习激情。合理的教学情境具有逻辑性强、趣味性高、具象性强的特点,结合教师精心设计的课程“问题链”,将学生已有知识体系和新课程教学相结合,遵循趣味性的原则,充分启发学生的思考,达成课堂教学目标。

教师通过提问的方式引导学生学习,初中信息技术课堂相较于其他学科上课频率较低,课程战线拉锯较长,课程评价的主要来源于课程本身的激励和教师带领学生进行信息科学的竞赛。通过教育部制订的中学生信息竞赛等章程不难看出信息竞赛的场景性、趣味性,大多数竞赛都是通关的方式,设定一个个生动有趣的情景,提出各种各样在情境中遇到的问题交给学生去完成。基于场景下的提问非常具备代入感,课程任务难度合理,层层递进。问题的设置不能是学生随口就能回答,不用经过思考和资料借阅的,最好是能够引发学生新旧知识迁移或者学生间讨论的,称此类问题是教学中的“有效问题”。

3.基于情景式“问题导学”的教学策略

赵福生等人在《Python在中小学教学中的应用》一文中提出“情景陶冶式教学”的策略,为了解决学习程序枯燥乏味的问题,教师创设了程序的活动情景,让学生身处情景,在解决有意义的问题过程中探究程序的特点。[3]常规教学中普通的Python程序语言教学使得课堂效率低下,学生学习热情随着编写程序中调试失败的次数增加而随之递减。教师通过构建生动的教学情境,提出需要探究的问题,学生随着教师构建的“问题链”将问题分析、抽象、建模、编写代码、调试优化。

在“Python分支结构——田忌赛马”一课中,采用情景式“问题导学”教学法,先导入视频《田忌赛马》了解三局两胜的完整策略。教师通过自然语言叙述、流程图展示、问题链启发学生分析故事中的程序设计逻辑,探究实现问题的Python程序算法进行编程调试,最终完成目标。为保证学生学习的主动性,教师设置的任务逐步放开学生编程自由度,采用先做后教的策略,引领学生完善自身认知结构,打开“以已知探未知的”思维方式。[4]本课例流程分为:创设情境:教师通过视频为学生展示《田忌赛马故事》,在这个环节授课时,也有同行教师提出为什么不由学生来讲述故事,在这里笔者的思考是:一、故事本身学生都知道,但是本课中所需要的重点:对仗时,齐王先派马然后田忌才根据齐王的策略进行调整,这个重点也是情景能应用于教学的重点之一。问题分解:一个完整的策略学生难以从中剥丝抽茧,教师引导学生了解任务,将三局对战简单理解为同一种,再去分析同一种的胜负情况,再分析到胜利的情况。反过来内推就是一个层层递进的教学流程。抽象建模:对于计算机程序来说,无论事故中的齐王还是田忌、三种马的等级都是抽象的概念,如何将故事中的角色应用到计算机中来解决,在这个教育过程中就是对于学生计算思维的培养。用变量定义齐王和田忌,用数字1-3表示马的级别。编写代码:编写代码的过程也是将学生从自然语言过渡到程序设计语言,在代码编写的教学中教师应建立有效的教学框架,比如先将故事视频中的原话请学生顺着故事逻辑提炼出来,然后教师用流程图梳理逻辑,然后对应流程图的过程用代码书写,代码书写可以从填空开始,让学生填写关键的步骤,然后给出语句逻辑让学生填写主要条件,最后到多分支语句时鼓励学生自行尝试。测试优化:学生在测试的过程中难免会遇到问题,遇到问题也是程序编写课上的重要教学时机,教师可以把经典的、易错点广播给学生们一起解决,由学生互相进行点评更改,在更改的过程中学生也能避免出错。总结升华:由于信息技术课堂不被列入中考学科,评价没有最终统一的方式,学生容易体会不到信息学科的重要性,所以最后总结的环节是一个非常好的进行总结回馈的时机,可以用层层追问的方式让学生进行回答,或者让学生完成一个问题进行自我检测,如果想要当堂回馈还可以使用调查问卷的形式进行检测。

4.基于情景式“问题导学”的教学内容设计

4.1 创设情境,问题分解

导入环节教师播放《田忌赛马》故事视频,设置学生熟悉的历史故事情景,在总结田忌之中获胜的策略时,教师请学生归纳田忌赛马三局两胜的策略,带领学生分析历史故事中蕴含的程序设计逻辑,引领学生将完整策略分解成单一一轮田忌的输赢情况,层层递进逐步将大的问题转化为符合学生知识认知和代码书写水平的小问题,在问题分解的过程中逐步培养学生的计算思维。

在设置分支结构一课的教学情境中,常见的就是利用生活中的现象入手,比如垃圾分类、分发快递……这些教学情景也都是学生生活中息息相关的。在选择教学情景的时候还要考虑是否能进行分解任务和问题设计,能够随着课堂内容的深入提出的问题越来越引发学生思考。

4.2 抽象建模,任务驱动

故事中的角色对于程序皆为抽象概念,教师由此提问“计算机用什么表示三种等级的马?”,引导学生复习变量相关旧知,定义变量将田忌(t)与齐王(q)两个抽象的概念输入到计算机程序中,在这个过程中体会计算机核心素养中的抽象建模理念。

在比较田忌与齐王派出的马等级高低的环节,讲解程序中的关系运算符,重点比较“=”与“==”的区别,防止学生书写时产生概念混淆。在检验学生是否清楚概念时,教师提问“‘t=1’和‘t==1’分别有什么含义?”将含糊的概念带入到故事情境中请学生自己明确区别。继而教师追问分支语句中的必要条件如何用关系运算符表示,“如何表示田忌派出的马等级(t)高于齐王派出的马等级(q)?”学生在探索过程中逐渐能够将历史故事和程序设计联系在一起,有助于调动学生的主观能动性,激发学生的探索欲。教师围绕田忌赛马策略通过三个任务的逐步展开Python分支结构教学。

4.2.1 任务一:单分支语句——分析单局中田忌获胜情况

简要描述的过程:

第一步:定义田忌和齐王分别派出的马种类;

第二步:比较大小,输出“田忌胜”

根据教师提供的素材包中1.py程序将if语句空白后的条件补充完整:if ______________:

任务1 流程图

4.2.2 任务二:双分支语句——分析单局中田忌战绩的全部情况

经由教师讲解学生了解if-else语句的语法规则,从英语知识迁移到程序中,Python程序中包含较多英文作为程序的关键词,让学生通过英文单词理解if和else的含义,结合数学中的数轴教师提问“else后是否还需另写条件?”从而明确if与else的范围区别:if后面需要填写明确的条件,而其他没有被提出的条件就是包含在了else当中,务必让学神明白else在程序中的应用,也就是else中不需要写任何条件,从而规避学生书写代码中的问题。在任务一的基础上,将代码补充完整。

(1)运用input()语句从键盘获取田忌和齐王所派出的马级别;

(2)运用选择结构if-else语句判断两方马等级的高低;

(3)运用print()语句分别输出判断两种情况后的结果。

4.2.3 任务三:多分支语句——完整策略,对比法优化代码

《田忌赛马》的总策略是田忌要根据齐王派出的马等级选择自己所派等级,有且仅有一种方案取得三局两胜的获胜法则。所以在完整策略下,我方编写的田忌应对策略只需要获取齐王所派马的等级,输出田忌所派等级的马即可。随着课堂境况的开展,学生进度也随之不同,教师可以启动分层教学,鼓励进度快的学生开始尝试用学习到的知识完善总策略,通过问题启发学生,“如何利用分支结构实现多种情况的判断?”学生认知水平不同,大部分同学会尝试用三条if语句来表达。

(1)运用input()语句从键盘获取齐王所派出的马级别;

(2)运用三条if语句判断齐王派马类别;

(3)运用print()语句输出田忌派马的结果。

4.3 优化代码,总结升华

学生在完成任务三的时候,大部分学生会选择用三条但分支语句书写,将三种情况一一列举,教师可以先肯定学生的做法,但是单用if语句可实现的情况有限,从代码的运行速率以及程序逻辑上都有更好的优化方案,教师顺势讲解ifelif-else多分支语句的语法规则。

(1)运用input()语句从键盘获取齐王所派出的马级别;

(2)运用if-elif-else语句判断齐王派马类别并输出结果

学生在优化代码之后,教师利用对比法展示两种算法的时间和语法的区别。由此《田忌赛马》策略下的Python程序设计作品基本完成,但是要进行追问,假如有第四种情况应该使用三和关键词中的哪一个?是否要在关键词之后添加条件?如果添加条件要书写那个条件?经过层层追问彻底教会学生分支语句的用法。在课程的在教学过程中,学生提出一个新的想法:本程序设定用1-3编号代表三种马等级,但如果输入这三个特定以外的数字依旧会输出“田忌派出的是下等马”的结果,是不符合情景的设置。此时教师可以把握此教学的机会,鼓励学生自行解决问题,学生提出的方案便是将1-3三种情况用if和elif 书写,将不符合故事逻辑的用else语句来书写,就可以将此情况完美解决。

经过学生自主探究,增加elif语句的条件,待三种情况明确后将其他不符合的情况添加到else语句中并输出“不符合故事情景”的提示语句。这在课堂当中是“意外之喜”,同样可以表明经过情景式“问题导学”的教法学生不仅能够接受代码相关的语法知识和书写规则,还能够进行创新思考,结合情景优化代码。

结语

情景式“问题导学”教法结合了两种方式的优势,趣味的情景设置幕布了Python代码书写的枯燥,故事中的一波三折激发学生兴趣,通过原有故事逻辑对应学生的代码逻辑。在教师精心设置的“问题链”中,学生以解决实际问题为出发点,合理使用“已知探未知”的思维方式,充分开展自主学习,完善自身认知结构,使学生的学习在课堂中真正的发生,提升信息学科核心素养。

猜你喜欢
田忌导学语句
田忌赛马
重点:语句衔接
三角函数考点导学
“概率”导学
函数知识快乐导学
精彩语句
“阉割课堂”,本不是“学案导学”的错
田忌赛马
如何搞定语句衔接题
语文知识(2014年4期)2014-02-28 21:59:52
我的故事show