您好, 访客   登录/注册

基于循证实践的初中Python语言教学研究

来源:用户上传      作者:邱振华

  摘要:教育部在“关于加强新时代教育科学研究工作的意见”中指出新时代的教育科学研究需加强实证研究,循证实践是“遵循证据进行实践”的一种有效模式。以初中Python语言教学研究为载体,阐述了基于“发现问题——收集证据——思考分析——改进实践——效果评价——发现问题……”的循环流程所开展的循证实践行动研究,为循证实践在教育科学研究中的应用起到推广普及的作用。
  关键词:循证实践;初中;Python语言;教学研究
  中图分类号:G642 文献标识码:A
  文章编号:1009-3044(2020)13-0194-05
  2017年国务院印发的《新一代人工智能发展规划》中明确指出需在中小学阶段设置人工智能相关课程,逐步推广编程教育,Python语言作为一种与人工智能技术密切相关的代码化编程语言,逐渐进入基础教育的视野。2017版高中信息技术课程标准中将人工智能初步作为选择性必修内容之一,将Python语言作为“算法与程序实现”、“人工智能初步”模块的程序设计语言,为Python语言在高中学段的实施提供了指向标。目前初中学段未见教育部门发布的与Python语言相关的教学基本要求与内容,但从初高中编程教育的衔接及人工智能教育发展的趋势来看,在初中学段开展Python语言的基础性教学可行性研究具有一定的价值。在这样的背景下,根据《上海市初中信息科技学科教学基本要求(试验本)》中的“新技术探究”单元内容,设计了基于Python语言教学的新技术体验单元,在六年级信息科技课程中予以实施。
  循证实践最早被应用于医学领域,后逐渐拓展到心理学、管理学、教育学等领域。我国学者杨文登认为,循证实践是实践者针对消费者(此处的“消费者”泛指实践者所服务的对象,按具体情境的不同,也可称之为病人、顾客、来访者或服务对象,等等)的具体问题,在消费者的主动配合下,根据研究者提供的最佳证据及管理者制定的实践指南与标准等所进行的实践。从其定义中可以看出循证实践是一种强调情境生态圈、强调基于证据改进的研究方法。另需指出的是,该定义中未强调“循环性”这一特征,循证实践与实证实践的最大区别在于其更加强调循环性的历程,因此“情境生态圈”“基于证据改进”“循环性历程”是循证实践的主要特征。
  在初中学段开展Python语言教学研究是一种全新的尝试,并没有太多前人经验可循,在这样的情况下采用基于实践、凸显证据、注重循环的循证实践具有一定的合理性。根据循证实践的文献研究及笔者的理解感悟,本文采用的循证实践行动研究模型图如下(图1):
  研究模型的生态圈运作模式界定如下:在教学要求(管理者)的指导下,教师(实践者)针对学生(消费者)在学习过程中产生的问题,从教师的观察、学生的反馈、他人的经验三方面(研究者)收集证据,按照“发现问题——收集证据——思考分析——改进实践—效果评价——发现问题……”的循环流程所开展的基于多元证据的深度实践和反馈评估的持续改进,其中思考分析阶段若发现证据不足则需回溯到收集证据阶段继续收集证据。下面,结合初中Python语言的教学实践,阐述一下该模型的具体应用。
  1发现问题阶段
  课程实施伊始的教学目标确定为希望学生利用代码化编程语言编写程序进行信息处理,体验简单的智能信息处理过程,解决生活中常见问题。在具体设计中,以基于真实情境的项目活动建构课程,并设计了活动任务单辅助学生编写程序。在六(3)班与六(4)班的第一轮实施中,发现了诸多问题,主要集中在两方面:
  1.1所耗课时超过预期
  单元课程预设了4个项目活动8课时的形式予以实施,但在实际实施中,教学进度明显慢于预期,最终在1个月中仅完成了项目1与项目2的教学,项目3与项目4未得以实施。
  1.2教学效果未达预期
  在教学中,学生在编写程序时出现了各种错误,且错误的种类繁多涉及面广,教师疲于到处“救火”,且即使如此依然无法解决所有学生的问题。Python语言的程序只要稍有错误就无法运行,一旦无法解决错误,学生只能望着红色的报错框发呆。随着时间的推移,在教学的后半程阶段,已有部分学生出现“习得性”无助现象,开始放弃学习。但需指出的是,虽有大量“学困生”出现,也有少量“优等生”出现,如有學生在课程结束后,自学了课程以外的其他内容,并将其以程序作品的形式呈现。
  2收集证据阶段
  2.1教师观察视角
  从教师的观察来看,“所耗课时超过预期”与“教学效果未达预期”是两个相互关联的问题,即由于教学效果不佳导致了教学进度受到影响。细观学生所呈现的问题,又可以分为两个方面:一是学生对于代码化编程不太适应,导致操作中出现各种问题;二是学生的一些基本习惯技能有所欠缺,如代码编写中的一些特殊符号不知如何输入等。
  以下面这个任务为例(图2),该任务要求学生根据活动任务单上的内容输入一些简单运算,记录并分析输出结果,以探究Python语言的基本语法运算规则。
  该环节预期耗时10分钟(包括反馈环节),实际耗时25分钟,主要原因是学生在输入中出现了各种未预设的错误,导致教师重复讲解与解决个别问题的耗时大大增加。学生出现的主要错误如下(表1):
  可以看到,错误类型五花八门,且部分错误若无法立刻解决将导致该活动无法开展。约有一半的学生均出现错误,导致教师“疲于救火”,但也有少数学生早早完成任务处于“无所事事”的状态,课堂教学秩序混乱,最终大大增加了该环节的耗时。
  2.2生反馈视角
  2.2.1单元测试分析
  在课程结束后以个人为单位进行了单元评测,评测内容是Python语言的绘图功能的简单应用,要求学生根据能力选择适合的图形进行绘制(提供活动任务单,任务单中给出直线的绘制代码及其他绘图辅助模块),根据绘制图形的难度予以评分(表2)。   以上评测结果出自六(3)班与六(4)班84名学生,从统计结果来看,约60%的学生评级在D与E级,说明有大量“学困生”出现。另也有24%的学生评级在A和B级,说明也有“优等生”存在。
  2.2.2问卷调查分析
  在课程实施后,从学习难易度、学习兴趣、未来学习意愿等方面对学生进行了问卷调查。根据问卷的结果分析,制作了Python语言教学成效SWOT矩阵(表3)。
  2.3他人经验视角
  以“初中+Python”为关键词在中国知网中进行检索,统计了其他文献中初中Python教学中遇到的问题及解决的方法,汇总如下(表4):
  3思考分析阶段
  3.1证据综合分析
  综合分析收集的各种证据,总结出“学习基础与习惯影响Python语言的学习”、“大量学生对于Python语言的编程模式较难适应”、“不同基础的学生学习结果具有较大差异”这三个主要问题,思考分析其解决方法(表5):
  这三个主要问题在不同视角的证据中均被证实,说明它们在重要性与真实性方面可靠度高。从解决方法来看,“SWOT矩阵解决方法”与“他人经验解决方法”中的部分方法是相同的,如“以合作的方式促进学生的学习”;有部分方法是互补的,如“SWOT矩阵解决方法”中的“给予更多的学习帮助(阅读帮助材料)”与“他人经验解决方法”中的“修改课程内容”;有部分方法在本研究中无法实施,如“增加教学课时”。
  本研究的课时限定为8课时,对应单元的总体教学要求为“从一种新技术的学习,掌握一些通用的方法、技能、思维,具备一定自学能力,提升信息素养,提升用信息技术解决问题的能力,增强学习新技术的乐趣与信心”。从教学要求来看,并未要求学生对于新技术(Python编程)熟练掌握,仅需从解决问题的体验角度提升信息素养,因此将单元教学总策略从“编写程序”调整为“体验程序”,并筛选整合已汇总的主要问题的解决方法,提炼出“修改课程内容”、“调整帮助文档”、“强化合作学习”这三种方法对单元教学予以改进。
  3.2证据回溯收集
  在已提炼方法的基础上,回溯到“收集证据”阶段,探寻相关方法“如何修改、如何实施”的证据,使得接下来的“改进实践”阶段具有可操作性。具体如下(表6):
  4改进实践阶段
  根据上一阶段所确定的改进措施,本阶段针对课程从以下三方面进行改进,并在六(2)班予以实施:
  4.1以课程内容删改的方式降低难度
  修改后的课程对原有教学内容中对逻辑思维要求较高的内容进行了删除、修改等操作,新旧教学知识技能对比如下(表7):
  具体来说修改体现在以下三个方面:
  1)删除较难理解的知识内容
  如从大的知识点来看,新版的课程删除了循环结构的教学。
  2)减少已有知识的学习体量
  如从库应用来看,原版的库应用要求掌握较多的方法,新版的库应用仅要求掌握基本的方法。以Turtle图形库为例,原版需掌握画直线、旋转、画圆、画笔颜色、粗细设置等方法,新版仅需掌握画直线与旋转方法。
  3)降低已有知识的学习难度
  大幅降低各类知识点的学习难度,能知道其基本功能即可。以print函数为例,原版的课程不仅要求实现其输出功能,还需了解其参数用法;新版的课程仅要求实现其输出功能,对于参数的用法不做要求。
  4.2以体验为主的策略修改帮助文档
  针对原版任务单学习指导性不强的问题,对任务单进行了重新设计。以“确保程序能运行”为基本原则,推翻了之前“给出程序编写指南,让学生自行编写程序”的设计思路,采用了“以模块化的形式给出程序核心代码,让学生通过复制、拼接、修改等方式进行体验”的设计思路。
  以input函数的教学为例:
  在原版任务单中,给出了input函数的详细用法,让学生参照其用法编写程序,任务单内容如下:
  请参照input函数的说明,编写一个智能问答小程序。
  input函数说明:input([提示信息])
  说明:显示提示信息(默认为空),接收键盘输入的内容,以字符串形式返回
  新版任务单则直接將问答过程作为一个模块给出程序代码,让学生复制代码运行程序观察结果,并修改其参数内容进行进一步的观察与推测,任务单内容如下:
  复制粘贴以下代码到程序中,输入不同内容多次运行程序观察结果,推测input函数的功能(请修改代码中的汉字进一步观察程序有何变化)。
  name=input(’你叫什么名字:’)
  print(’你好!’,name)
  4.3以合作学习为辅的形式解决问题
  修改后的课程在教学形式上给予学生更多的合作学习时间。一方面让学生通过互助解决学习中遇到的各种简单琐碎问题,使得教师仅需将精力放在共性问题的解决中;另一方面让学生通过思维的碰撞激发智慧的火花,活跃课堂的氛围。在具体实施中,参考了“对分课堂教学模式”的特点,设计了基于“独立学习、交流讨论、联合反馈”三环节的合作学习模式(如图3):
  环节一:独立学习。在独立学习环节,学生以个体为单位进行独立学习,如独立思考算法、独立编写程序等。
  环节二:交流讨论。在交流讨论环节,同组的同学们相互交流独立学习的成果,如有不同观点则进行探讨,如存在疑问,则其他组员协助解决。由于代码化编程教学的特殊性,有时仅仅是因为多一个空格或标点符号,都会导致程序无法运行,该环节除了交流互动外,还可互助解决这些基本问题。
  环节三:联合反馈。在联合反馈环节,教师以小组为单位抽查交流讨论的结果,让小组成员共同反馈情况,如果无法完成任务,也需阐述交流讨论的整个过程,以此监督反馈学生交流讨论环节的情况,并解决存在的共性问题。   5效果评价阶段
  修改后的Pvthon课程在六(2)班(共42人)在8课时的时间内完成了全部4个项目的实施,并采用与六(3)班及六(4)同样的单元测试与问卷调查进行了研究,结果如下:
  5.1前后单元测试结果对比
  由于课程修改后的六(2)班样本人数与课程修改前不同,因此采用百分比的形式统计数据绘制图表进行对比。从统计图中可以发现,“学困生”已基本“消灭”,“优等生”比例大幅增加。
  5.2前后问卷调查结果对比
  5.2.1学习热情方面
  从调查结果可以看出,六(2)班的学习热情明显高于六(3)班和六(4)班,特别是“是否愿意继续深入学习Python语言”的问题,“非常愿意”的比例上升了30.74%,可以认为新版课程对于提升学生的学习热情有着巨大的帮助。
  5.2.2学习难度方面
  从调查结果可以看出,相对于六(3)班与六(4)班,六(2)班的学生普遍认为课程更加简单,这一点从“我觉得Python语言学习最困难的地方是”的问题中选择“没有难点”的比例提升了22.72%可以得到验证。另值得注意的是,新版的课程在实施中基本消灭了“学困生”现象,仅有2人(4.76%)认为Python课程的学习难度“比较难”,有2人(4.76%)认为Python语言有较多的学习困难之处。在Pvthon语言与图形化编程的Scratch语言的难度比较中,选项结果发生了反转,认为“Python比Scratch简单”的人数比例高达42.86%,分析其原因可能是因为修改后的课程大大降低了难度,且无须自行编写复杂的程序,大大方便了学生的理解与操作,这说明代码化编程语言通过一定的教学策略,其被学生的接受程度可以和图形化编程语言相媲美。
  5.2.3学习需求方面
  从调查结果可以看出,六(2)班学生需求帮助的迫切性低于六(3)班与六(4)班,唯一例外的項目是对于“范例程序(源代码)”的需求。这也从侧面说明学生对于修改后的任务单中提供的源代码持肯定态度,希望教师给予更多这样的支持。
  综上所述,从单元测试的结果及调查问卷所反映出学生的学习兴趣、学习成效等内容来看,各项指标均大幅上升,因此可以认为课程的改进取得了积极的成效。但由于教学难度大幅降低,在实际教学中也发现有部分优秀学生出现“吃不饱”的现象,这一问题可作为下一阶段循证实践的研究内容予以研究。
  新时代的教育科学研究更需加强实证研究,而循证实践则是实证研究过程中的强力助推器。希望本文能起到抛砖引玉的作用,使得更多科学、长期、系统的研究成果能在循证实践中得以孵化。
转载注明来源:https://www.xzbu.com/8/view-15267129.htm