张建鹏
计算思维是高中信息技术学科核心素养之一,对它的培养是高中信息技术教学重点关注的内容,因此,在《算法与程序设计》教学中,笔者利用小游戏的程序设计探索计算思维的培养。教学中,随着对程序知识学习的深入,笔者不断对小游戏程序进行改进和优化,在此过程中,学生的计算思维得到运用和发展。这个游戏程序分别用在了教学的三个阶段。
● 第一階段:程序的初步认识,计算思维的初步运用
本阶段的目标是熟悉编程环境,掌握程序中的一些基本概念,激发对程序的学习兴趣。需要学生掌握控件及控件对象的使用,熟悉不同对象属性的设置和单击事件的控制,学会运行、调试程序,逐步熟悉程序设计的特点和规则,初步形成把问题转换到计算机中解决的认识。
设计问题:利用VB设计和制作一个简单的《真心话大冒险》小游戏。
教学程序实例:《真心话大冒险》初级版本,在窗体中设置多个标签控件对象,分别用来单击显示相应问题。利用标签的单击事件改变标签对象的Caption属性,达到显示问题内容的目的。
在学习实践中,并不局限于教学实例的制作,可以利用其他控件对象对程序进行修改,如利用按钮和按钮的单击事件,在标签对象中显示问题,实现程序实例的多样性。另外,利用此实例的特点,还可以扩展到其他应用上,如设计一个性格与颜色测试程序、简单的心理测试软件等。通过程序实例的多样性修改,让学生加强知识的运用和思维的扩展,建立初步的计算模型,快速地解决问题。
● 第二阶段:程序的结构学习,让学生的计算思维得到充分的发挥
本阶段让学生明确程序的基本结构,掌握程序中数据类型、变量、常量、函数的概念,并熟练运用这些知识;让学生学会读取和使用流程图,来观察和确定程序的执行过程,并能转换为程序代码。
设计问题:设计制作《真心话大冒险》的初级版本,很好玩,但也发现它不够灵活,随机抽取问题是这个游戏中非常重要的环节,让我们来一起完成游戏的一次进化。
教学程序实例:《真心话大冒险》中级版本,在窗体中设置一个标签控件对象,用来显示相应问题,通过单击真心话和大冒险标签,实现随机显示问题。本实例利用随机函数和选择结构来实现程序的设计制作。
对于选择结构的利用,要求学生尝试使用if语句的多种形式或select case语句来实现所需要的功能。透过对选择结构的深入学习,学生能逐渐发现不同语句的用法和作用,明确在什么条件下选择什么样的语句更合适,建立有效的计算模型,学会从不同的角度思考问题。
● 第三阶段:高级组件的应用,让学生计算思维有一定的扩展
本阶段要求学生掌握一些高级组件的应用,理解不同事物、时间与空间到计算机内的转换,对从事物到抽象、从抽象到事物有更深的认识。掌握时钟、画线和图像控件的使用,明确加载图片路径的方式,掌握时钟对象和画线对象之间的变化联系。
设计问题:多人参与,人与问题的随机性的实现,建立友好的使用界面,让我们一起来实现游戏的高级进化。
教学程序实例:《真心话大冒险》高级版本,引入时间和空间的控件来帮助程序的设计,增加程序的灵活性,使用对话框、时钟、图像等对象,增强界面的表现效果,结合中级版本,对时钟对象和全局变量的控制,以寻求达到程序的最佳效果,进一步完善游戏程序。
在程序的制作过程中,掌控对象的功能和对象之间的关联,实现对象的时空变化,确立程序的时间和空间基本模式,优化程序的界面,丰富程序的功能,让学生站在多角度考虑问题。
在游戏程序的设计制作过程中,不断发现问题、思考问题、解决问题,通过实现简单的游戏、功能上的优化以及界面的交互性设计,让学生逐步求解。游戏的进化过程,也是思维方法的进化过程从最初的问题简单抽象到复杂抽象,从实现形式的简单构造到复杂构造,从处理问题的单一性到多样性,逐步丰富和完善程序的功能,让学生体会利用计算机解决问题的过程,拓展学生的思维方法和思维广度,让学生体验到利用计算机解决问题的乐趣和方式。
● 教学反思
①计算思维能力培养的有效途径就是让其得到运用。学生已有的生活经历以及通过其他学科的学习,使其具备了一定的计算思维能力,通过游戏设计制作,学生分析问题、设计算法、操作实践,把实际问题转换到计算机中来处理,对程序实例的不同实现形式进行探索,实现了自身能力的充分应用,计算思维能力得到进一步发挥和扩展。
②本实例依据学习知识的不同阶段,把程序分成不同的版本,既有知识的推进,又有实例的连贯性,把所学、所思、所想应用到程序设计当中,推进了程序的进化,锻炼了学生的思维能力。虽然一个实例不能涵盖所有的知识,但是此实例能让一个问题实现从简单化到复杂化再到简单化,突出问题的不同解决方式,以锻炼学生的计算思维能力,提升信息素养。
③教学内容和实践要遵循学科知识和学生认知特点,在追求教学效率的同时,要抓住每一个环节来提升学生的信息素养。例如,对象的命名,看似简单,却蕴含着处理信息的素养;本实例中控件的使用,使得学生对计算机抽象事物的过程认识大打折扣,不如采用自定义类让学生对类理解得更加透彻。所以,教学要遵循学生的认识规律,关注学生学习习惯的养成。
④虽然高中生的逻辑思维能力和独立处理问题的能力比较强,可以独立处理很多问题,但其合作能力有待提高,所以在要求学生自主学习的同时,更要注重对学生合作探究能力的培养。问题的设计和学习情境的创设,需要认真对待、精心思考,注意每一个环节,加强指导,突出学生合作探索的过程,这样更有利于学生计算思维能力的培养。
⑤计算思维的培养要开阔思路,不能局限于信息技术学科和学科内的某一些知识,计算思维是综合知识的运用,要注重与学生生活实际的联系和知识的迁移。计算思维不是计算机领域独有的,它可以来源于各个领域,同样也可以应用到各个领域。
计算思维为高中信息技术课堂注入了新的活力,计算思维的教与学,需要教师在教学中不断地实践和探索。信息技术教师只有多学习,多思考,多实践,多反思,才能把计算思维的培养落到实处。