【摘要】近年来,随着信息技术的飞速发展,教育信息化如火如荼地推进,由国家顶层设计、省级推广,地区学校落地实施,从1.0时代到2.0时代取得了非凡的成效。整个过程由政府规划(包括政策、资金、技术等)、学校支持,教师更新理念、学习技术,实现教学模式的优化,促进学生知识的内化。随着信息化进程的加快、信息化手段的丰富、智慧教室的兴建、人工智能与大数据的融合应用,文章探讨在高中编程课程中实现有效教学、高效教学的策略。
【关键词】教育信息化;编程教学;智慧学习环境;信息技术
作者简介:曾志勇(1983—),男,福建省泉州市第九中学。
教育信息化由1.0时代向2.0时代升级转变,创造了全新的数字化环境。如何更好地利用国家教育信息化行动的契机,优化课堂结构,创新教学方式,支持学生在数字化学习环境中进行自我规划、管理和评价,提升学生解决问题的能力,培养学生的科学精神,提升学生的数字素养与技能,是高中信息科技课程要着重探索和研究的课题。
一、教育信息化背景下学科落地现状
自进入教育信息化1.0时代以来,国家致力于发展教育装备,开发优质教学资源,优化和改善教育信息化环境,推进多媒体课件逐步代替教师板书,使学校教育呈现网络化、多媒体化态势。在信息化教学环境下,教师的备课、授课行为可存档、可更新、可合作、可迭代,课堂教学资源内容丰富、图文并茂,学生的课堂学习也更高效、更便捷,教师向学生传播知识的效率、容量和质量均不断提升。
随着移动终端、人工智能、大数据时代的到来,教育信息化不再满足于网络、资源、空间的互联互通,逐步向互联网的大资源观迈进,向智慧学习环境过渡,教育信息化2.0时代由此到来。基于国家教育现代化顶层设计,教育信息化2.0行动提出了“三全两高一大”的战略目标,旨在推动信息技术与教育教学的深度融合,创新信息时代教育治理新模式,使教育信息化朝着更加科学、规范和大众化的方向发展。
在智慧学习环境下,信息科技课程依托网络技术和教学平台不断更新升级,师生互动、课堂即时反馈、听评课记录、在线能力检测、作品提交与评价等课堂教学功能均在不断增强,教与学的效率不断提升,以学生为主体的教学模式正在有序形成。教育信息化2.0时代,信息科技课程的信息化不能仅停留在技术应用层面,还应将信息技术与学科教育深度融合,深化素养立意,依托技术手段实现学生学情的精准监测,推动教师教学方式、学生学习方式和师生互动方式的变革,构建一个更为高效的信息化学习环境。
二、教育信息化背景下高中编程教学的优化路径
编程教学是高中信息科技学科的重要内容模块,是中学阶段培养学生计算思维和创新能力的重要载体。教育信息化2.0时代从学情分析、教学设计、学法指导、学业评价四个维度对教师队伍的信息技术应用能力提出更精确的微能力点要求,信息技术已经成为教育的重要工具。在此背景下,高中信息科技教师需立足教师、学生、教学环境以及教学资源等要素,推动更为高效的数字化教育形态的形成。
(一)以学生为主体,开展学情分析
教学是因人而异的,有效的学情分析能够帮助教师更好地了解学生的学习情况,针对不同类型的学生制订教学计划,推送教学内容,确定具体教学方向。由于学生的认知发展情况受年龄、生活经验等多方面因素的影响,因此学生的信息素养存在一定差异。教师实施学情分析时应该做到:课前利用多元方式了解学生的基本情况;课中通过观察、提问、交流或讨论等方式采集学习数据;课后通过测验、习题等关注学生的知识掌握情况和能力发展情况,以便及时调整教学策略,加强对教学重难点的突破。在这一过程中,教师要转变自身的角色定位,秉持“辅助教”“促进学”的教学思路,关注学生的学习状况[1]。
(二)回归教学,重视教学过程
教育信息化背景下的高中编程教学要突破传统教学模式,综合考量教师、学生、教学内容以及教学方式四要素的综合作用。教师要利用数字化教学平台扩大课堂的知识容量,以生动直观的教学方式激发学生的学习兴趣,提高学生的学习主动性。教师应熟悉教材内容,具备整合教学内容和开发课程的能力,创设密切联系学生生活实际的教学情境,调动学生对知识的好奇心。在教学过程中,教师应结合数据加工、问题解决和信息系统操作的真实过程,发展学生的计算思维,实现信息技术知识与技能、过程与方法、情感态度与价值观的统一。
(三)提升教学能力,引导自主学习
掌握现代化的教学技能,是信息科技教师的必备素养之一。在教学过程中,教师需发挥学生的主观能动性,提高学生的学习效率。教师可以巧妙运用练习、测验等辅助手段,全面记录每一个学生的学习过程和学习成效,满足不同层次学生的学习需求,促使学生积极参与到信息技术支持的具有交互性、真实性的学习活动中,获得最佳的教学效果。教师还应借助网络搜集整合学习资源,引导学生更好地开展自主学习、合作学习,在网络技术和平台工具的帮助下积极进行人机交互、师生交互,最大限度地提高学生的学习效率[2]。
(四)构建评价体系,及时跟踪反馈
教育信息化背景下的教学评价是一项综合性的工作,不仅要跟踪学生的学习过程,反馈学生的学习结果,还应起到优化教学、为教师的教学提供指引的作用。因此,教育信息化背景下的教学评价应注重评价反馈的实时性、动态性和整体性。教师应通过灵活多样的评价方式激励和引导学生学习,丰富评价方式,使评价更加开放、多元、客观。而教师也要利用评价结果反思和改进自己的教学,发挥评价与教学的相互促进作用。
三、以“可以复用的代码”为例进行案例剖析
本文以教育科学出版社信息技术必修一“数据与计算”中的“可以复用的代码”为例,分析高中编程教学策略。笔者认真研读教材、教参,结合班级学情和校本情况,最终确定将本课教学设计分为六大部分。
(一)课前调查
以往的学情分析,主要依靠教师对学生的观察和了解,通过对学生进行提问来简单评估,分析结果缺乏有效数据支持,有较强的主观性。在这节课中,笔者根据教学目标预设学情分析的方向,提前将本节课的学情问题进行细化、量化,整合成问卷的形式。学生需在教学平台系统上完成问卷填写,软件后台会形成真实数据支持下的图文报表,以供教师进行更加准确、可量化的学情分析,从而为后续的教学设计和教学实施提供有效支持。
通过课前学情分析,教师了解到,学生对本节课三种程序结构的整体掌握情况较好(其中顺序结构掌握良好占比100%、分支结构掌握良好占比98%、循环结构掌握良好占比90%),同时他们对复杂程序的结构优化呈现出浓厚的兴趣和强烈的求知欲。因此,笔者在导学案中清晰梳理了顺序、分支、循环三种基础程序结构,以期深化学生的认识和理解,为本节课的顺利开展奠定良好的基础。
(二)课堂活动
为拓展编程学习的深度和广度,教师引入数学学科里的排列组合知识,创设真实情境,设计课堂活动,实现跨学科教学。
活动1:了解阶乘的由来和发明背景
教师列出多种排列组合,引导学生探究阶乘,并让学生通过编程计算5!,10!,15!,并找出规律,使学生能够更加深刻地理解循环结构中各参数的含义。
活动2:解决实际问题
在学生体验了用计算机编程求解阶乘这种大规模数据的数学问题后,教师列出更多的排列组合—P=n!/(n-r)!,C= n!/(r!*(n-r)!),并让学生解决实际问题。
(1)从六个同学中选三人进行排队,共有几种排法?
(2)在高考选科时,从六门课程中选修三门,共有几种选法?
针对这两个问题,学生运用排列组合来解决问题并呈现如下编程代码。
n3 = 1
for i in range(1,4):
n3=n3*i
n6 = 1
for i in range(1,7):
n6=n6*i
print(n6/n3)
print(n6/(n3*n3))
(三)学生探索
通过观察发现,上面的两个程序多次出现相同或类似的代码段。笔者提问:“如果遇到一个需求、一段代码反复被使用到,有什么方法可以使程序更简化?”由此,笔者强调编写自定义函数的必要性,并指出,编写自定义函数后,可以在需要用到这段代码时直接调用,这样就能够大大优化程序结构,减少代码的重复出现,使程序更加优美、简洁。笔者顺势提问:“那么,我们该如何编写自定义函数呢?”笔者通过展示学习材料,引导学生了解,自定义函数一般包括函数名、参数、返回值和函数体等四个部分。自定义函数的基本格式如下。
def函数名(参数):
语句或语句组
return返回值
学生探索自定义函数f(n)=n!,呈现如下代码。
def f(n):
p = 1
for i in range(1,n+1):
p = p*i
return p
print(f(6)/(f(3)))
print(f(6)/(f(3)*f(3)))
教学过程中,笔者借助信息化手段,在教学辅助平台ITtools3.0上搜集了丰富多样的教育资源,如文字型的学案、结构化的演示文稿、视频类的微课等,帮助学生更深刻地理解函数知识,提升计算思维。
(四)拓展活动
在完成前面两个课堂活动后,部分学有余力的学生可以继续探索本节课的拓展知识—递归函数。问题描述:有小兔一对,若第二个月它们成年,第三个月生下小兔一对,以后每月生产一对小兔,而所生小兔亦在第二个月成年,第三个月生产一对小兔,以后亦每月生产小兔一对,假定每产一对小兔必为一雌一雄,且均无死亡,试问一年后共有小兔几对(提示:用函数编程解决问题)[3]?
该问题涉及递归函数、函数嵌套,是对函数学习的有效延伸,供学有余力的学生深入探索,实现能力进阶,以确保各个层次的学生都能获得有效发展。
(五)师生评价
在本课中,笔者利用ITtools3.0教学辅助平台设计多个学习任务节点,方便学生自主学习,支持学生在“Python自动阅卷”模块自行上传代码、提交作业。该平台具有存储课堂作业、留痕学习过程数据等功能,方便教师对作业进行逐一或批量化批改、点评,实现课堂作业上交、批改、反馈的闭环,解决了信息科技课堂长期以来的作业收集难题,使教学活动、教学评价环节更加高效。
(六)课堂小结
本节课的重点在于教会学生使用自定义函数实现程序代码的可复用,从而实现程序代码结构的优化。通过课堂实践和评价,学生已初步掌握函数的定义及函数的调用。但是对于Python编程学习来说,学生仅仅掌握自定义函数还远远不够,Python编程语言极具开放性,拥有大量的第三方库,因此,学生不仅要学会使用自定义函数编程,还应善于使用Python标准库函数及丰富的第三方库编程,提升编程能力,发展信息素养。
结语
在教育信息化时代背景下,高中信息科技教师要更新教学观念,提升自身的专业能力,发展信息技术应用能力,善于在教学与科研中运用信息技术手段。在开展编程教学时,教师应具备学情分析的能力,能够整合教材开展项目活动,利用教学平台提供的丰富资源,为学生打造富有挑战性和创造性的学习环境。同时,教师应理清思路,适应变化,习得新知识和新技能,构建全新的教与学模式,促进学生学习方式的变革,将学生培养成社会需要的高素质创新型人才。
【参考文献】
[1]何晓东.高中信息技术编程教学优化策略探析:以Python自定义函数教学为例[J].中国现代教育装备,2023(16):53-55,59.
[2]张华兰.高中编程课程教学中的常见问题和应对策略[J].科学咨询(教育科研),2020(10):220.
[3]陈晴.高中Python程序设计课程教学实践探索[J].读写算,2019(21):158.