摘要:初中信息技术中的程序教学的引入使得信息技术教学中对学生高阶思维的培养有了新的突破点,同时高阶思维培养的落实也使得枯燥的程序教学更加生动活泼,本文以高阶思维的培养为目标,通过现实中的案例来探索让程序教学如何在学生思维中生根发芽。
关键词:高阶思维;程序教学
正如乔布斯所说,计算机科学的学习教会了我们如何去思考,同时也教会了我们如何去创造。这里的计算机科学其实主要是说的编程教育。北大青鸟(西安校区)对学生的编程学习提出了这样的建议:“何为算法思维,并不是对一些已经设计好的优秀代码的反复背诵和背板,而是自己对于问题的抽象能力的练习,即从抽象问题到实际进行编码或者设计程序解决问题的一个能力,如果单纯对于一些算法进行背诵的话,我们的思维能力不会得到提升,最多就是熟练的码农而已。”
细读上面的两段话,我们不难发现,编程的目的是创造,而不是模仿。在教学中,若只为学生提供精简好的问题解决环境,那么面对实际问题时,学生的解决能力一定是不足的,长此以往,创造力的提升也更是遥遥无期了。
解决问题需要具备高阶思维能力。那么高阶思维包含哪些呢?布鲁姆的认知目标分类学将思维从低到高分为六个层次:回忆、理解、应用、分析、评价、创造。其中后三个属于高阶思维,所对应的就是问题解决能力、创新能力、决策力和批判性思维能力。
在经过近一年的程序教学和反思中,我实践出了一套依托项目式教学,培养高斯思维的程序教学模式,分为激趣导入、重点分析、关键练习、实践拓展四个环节。以泰山版初一信息技术《用循环结构程序自动化计算》为例进行说明
一、激趣导入发现项目问题
通过发现老师编写的“分数等级转换”程序(封装好无法看到源代码)可以实现次成绩的转换,学生会自主设疑“如何实现多次转换?”学优生会有所尝试,学困生会一直在体验程序。
【环节说明】这个环节主要模式是从程序的功能出发,结合实际生活,引出案例,让学生有兴趣去学习。讲《用循环结构程序自动化计算》时,在上节课只能转换一科的基础上,我以一个全科分数等级转换程序激发学生的学习兴趣和探究欲。
二、重点分析明确项目目标
老师以问题组“这个程序好不好?好在哪里?”、“你认为如何实现?”引发全体学生的思考,并引导学生进行现有知识的尝试,以学生的能力一般会采用通过将上节课的单科成绩重复编写为多科成绩转化语句的方法解决,以问题“为什么要重复编写这段程序?你是怎样实现重复编写的?”去引领学生发现用计算机来解决这个问题需要重复一段程序,且可以通过复制等简单方法完成操作。学生采用这个方法时,先表扬学生的迁移能力,再以问题“如果是需要转化100个甚至更多个的成绩时怎么办?怎样优化这段程序?”再次引起学生思考“需要重复进行的程序怎样做才更高效”,最终引出本节课的主题:“循环结构”。
【环节说明】本环节主要模式是改变以往老师运行展示程序后直接讲程序的灌输式讲法。要通过问题分析,帮助学生充分理解程序的功能所能解决的实际问题,同时锻炼学生的问题分析能力。本环节带领学生分析判断程序与以往有什么不同,这属于发现问题的层次,学生都会发现可以转换好几科成绩。然后带领学生探寻可以转换多科成绩的方法,这需要学生在发现的基础上调动前知识进行分析并解决问题,这就是运用了高阶思维。以学生的认知,会做出重复编写输入和判断代码段的解决方案,老师继续抛出的问题“如果需要判断100多个成绩呢?”引发学生的进一步分析判断,并最终做出决策,就要用到新知识了,再次用到了高阶思维范畴的分析、批判和决策力。此时学生已经是对新的问题解决方法充满了期待,此时老师就可以提出“循环结构”,由于是全新的结构,需要老师进行讲解。在这个环节中,学生的比较、分析、批判、决策无一不触发高阶思维,在经过一系列深度思考之后,学生能更专注于程序的功能,对循环结构理解的更加深刻。
三、关键练习攻克项目难关
教师通过基本循环结构的讲解,帮助学生理解循环条件和循环次数的设定及循环结构的书写规则。通过补充代码、完整编写两种习题模式,进一步的强化练习重点,达到学生对循环结构的熟练应用。
此部分练习题如下:
1.补充代码练习:
有代码如下:
for i in
……
print(i)
若想实现以下功能该如何填写?
①输出数字1-20;
②输出10以内的偶数;
③输出20以内被3整除的数;
2.完整编写练习:
①设计一个可以给3次机会的猜数程序,要求猜的数为1位数;
②假定满分均为100分,?设计个分数等级转换程序,?要求可以给一个同学将所有期末成绩一次性转换完;
③?分层提升练习题:如果按照我们的实际分数,想要把全班同学的成绩转换完,该怎样设计?(分数为总分85%以上为优秀,70%以上为良好,60%以上为合格)
【环节说明】本环节主要目标是完成本节课关键知识点的学习以及进行由易到难,由简单代码到常见案例的强化练习,达到能熟练书写代码的目的。因此包括两种练习题,一种是针对循环结构概念的补充代码练习题,?重点练习内容为循环条件、次数及结构的书写规则,达到熟练书写计数循环结构的目标;一种是对循环结构的简单应用,重点练习内容就是经典习题,达到熟练应用计数循环结构的目标。这个环节是解决问题的初级阶段,需要给学生一个易辨别的使用环境,更加注重基础知识、基本技能的掌握。此环节看似没有高阶思维的培养,但其实是为用循环结构解决问题打下基础。
四、实践拓展完成项目实践
老师发布两个题目:
1.设计一款口算题练习软件,要求可以实现自动出题和批题的功能。用户可以设定出题总数和其中运用加减乘除运算法则的题目数量。
A级要求:写出程序
B级要求:画出解决流程图
2.使用计数循环设计一个程序
老师通过问题“我们是怎样出口算题的?”引发学生思考,然后通过将人脑的确定数值、确定计算方法、确定出题数量写出来,检查结果转变为计算机的相应方式来执行,最终完成程序的设计。
【环节说明】本环节主要目标是在学生具备基础知识和基本能力后,就要进行面向问题解决的编程设计。一般有两个题目,一是老师给的解决问题的题目设计;?二是在老师的程序思路扩展的基础上,自己设计一个需要用计数循环的程序。由于学生的程序学习能力不同,且本环节对学生的能力要求是高于课标的,因此该设计为分层实现,有能力的学生要把代码设计出来,能力一般的学生将程序的设计方法画出来即可。这个环节带领学生经历的是真实情境下的问题解决,学生需要将复杂问题抽象为简单问题,那么简单问题的实现基础就是计算机的工作方法,学生需要分析、评价后创造性的完成程序设计,再次培养了高阶思维。
这套教学模式的思想是面向高阶思维的培养,主要实现了学生从被动接受程序到通过观察、质疑主动接受程序,进行程序学习和解决问题的转变。这样的学习,让学生时时有学习的成就感,一直在发现问题、分析问题、解决问题的循环之中,提升了问题解决能力,充分培养了学生的高阶思维,让学生能有成就地学程序。
参考文献:《布鲁姆教育目标分类学》