【摘 要】“双减”政策的实施为义务教育阶段的学生提供了更多的自主学习时间,其中计算机编程知识的学习成为初中生的重要选择。同时,翻转课堂弥补了传统计算机编程教学方式的不足,可以结合多平台网络资源为学生提供更多的自主学习机会。本文基于初中计算机编程教学现状提出多工具支持的翻转课堂教学策略,以期提高学生对计算机编程的学习兴趣,培养其数字素养。
【关键词】双减;初中计算机编程;翻转课堂;教学策略
【中图分类号】G434 【文献标识码】A
【论文编号】1671-7384(2022)010-057-04
2021年7月,中共中央办公厅、国务院办公厅印发了《关于进一步减轻义务教育阶段学生作业负担和校外培训负担的意见》(简称“双减”)。“双减”政策的实施为学生提供了更多的自主学习时间,也使中小学可以有更灵活的教学方式,这有利于学生的全面发展。其中计算机编程作为锻炼学生思维、提升学生信息素养的一门课程受到了更多家长与学生的欢迎。但是,目前初中计算机编程教学存在的教学内容抽象、教学形式单一等问题让很多对编程感兴趣的学生望而却步。
在“双减”政策的大力支持下,亟需探索新型的教学策略,优化计算机编程的教学效果。翻转课堂作为一种培养学生自主学习能力、拥有灵活学习方式的新型教学模式非常适合计算机编程教学。
多工具支持的初中计算机编程翻转课堂教学设计
区别于常规的信息科技课程,初中计算机编程课程教学内容抽象、逻辑性强,要求学生在理解知识的基础上必须动手实践,编写程序解决实际问题。信息教室的网络环境为翻转课堂的实施提供了极大的便利,同时,翻转课堂结合众多信息化资源与平台,具有与编程课程整合度高的优点,有利于学生自定学习步调与开展分层次学习,为提高学习效率提供了极大的可能性[1]。基于此,笔者结合初中计算机编程课程的特点与翻转课堂实施的常见模式设计了多工具支持的初中计算机编程翻转课堂教学模式如图1所示。
1.课前设计
多工具支持的初中计算机编程翻转课堂教学根据学生的实际情况采取课内翻转的形式,将45分钟的课堂时间划分成了课前、课中以及课后三个阶段。在课前阶段,要求学生登录Moodle平台,该平台有完整的编程知识库以及相应的知识思维导图,可以将抽象的知识系统化、条理化,便于学生随时温故知新,弥补了教师利用PPT上课不便于学生回顾的缺点。同时,学生可以利用Moodle平台查看导学案中教师新发布的本节课的任务,利用已有的知识基础分析问题。当知识储备不足以解决问题时,学生便会产生强烈的求知欲,试图自主观看具有新知识的微视频,根据教师的引导分析问题,建构新的知识框架。
2.课中设计
通过课前的温故知新,学生对于教师创设的问题已经有了初步的分析且跃跃欲试,此时教师要提醒学生切不可盲目尝试,可先利用画程软件理清思路,以培养其形成良好的编程习惯与思维方式。思维方式会影响人们对于客观世界的认识并最终影响人们对事件的决策,而解决计算机编程中的实际问题往往需要将问题具体抽象化为模型与相应的算法,建立数据结构与程序并最终求解问题,评估并测试解决问题的效果,实现计算思维培养的3A阶段[2]。化抽象为形象的过程则可通过画程软件来实现,画程软件采用流程线自动适应图标的设计,画框图如同搭积木,实现了人画图(框图)、机生码(机器生成代码)的“人工智能”式可视化编程。学生可以将生成的代码在Dev-C++软件中尝试运行,成功后再将答案上传至OJ(在线判题系统),生成学习记录并得到排名与反馈,从而获得成就感,激发学习热情。
3.课后设计
当学生初步尝试利用新学知识解决问题后,要及时利用思维导图工具同化与顺应知识结构,实现深度学习。思维导图有利于培养学生的发散性思维,非常适合用于构建无固定教材且抽象的计算机编程知识图谱,使学生的学习过程可视化。学生在学习编程的过程中如何举一反三、实现知识迁移则是提高学习效率亟需解决的问题。此时,OJ(在线判断系统)的优点则十分明显。教师可以将基于同一知识点生成的不同难度的题目上传至该系统供学生练习与测试。区别于Dev-C++软件,在OJ系统提交的代码会在受限的环境下运行,包括时间限制、内存限制、安全限制等,这更加符合实际考试与有关竞赛的要求。同时,OJ网站会对用户进行排名,以用户的提交答案通过数多少或某个题目执行时间快慢为排名依据。这可让学生能够及时得到学习反馈,教师也可以通过分析后台数据因材施教,及时点拨学生。
多工具支持的初中计算机编程翻转课堂教学实践
多工具支持的初中计算机编程翻转课堂教学形式为初中生学习晦涩难懂的编程知识提供了适切的支架。下面以“While循环”一课为例展示多工具支持的初中计算机编程翻转课堂教学实践。
1.案例概述
(1)教学内容
“While循环”一课涉及的内容为C++语言中的循环语句,包括While循环的语法结构、适用范围及执行过程,需要学生能够将其与之前所学的For循环语句进行对比,可以根据不同的题型特点选择合适的循环结构解决问题。While循环是C++程序设计语言学习的重点内容,也是三种程序设计结构中最有难度的结构,在C++学习中具有承前启后的作用。
(2)学情分析
学生在学习本节课之前已经掌握了编程语言的顺序结构与分支结构,并对For循环语句有了初步的认识,能够进行简单的编程与调试。与For循环语句进行对比,教师要结合多种教学平台与工具使学生能够利用流程图与思维导图化抽象为形象,理解While循环执行的过程。教师还可以利用程序挖空的思想让学生填写循环执行的条件与循环体语句,简化学生的编程过程,使学生可以使用画程软件生成代码并在Dev-C++软件中尝试编程且利用OJ平台进行评价与分析。
(3)教学目标
知识与技能:通过本节课的学习,学生需要掌握While循环语句的适用范围、执行过程、语句结构,能够将其与For循环语句对比区分,学会根据不同的前提条件选择合适的循环结构解决编程问题。
过程与方法:通过画程软件绘制While循环执行的流程图,充分理解其执行过程。通过Moodle平台的导学案的学习,对比两种不同的循环语句,能够选择合适的循环语句解决实际问题。通过思维导图软件动态生成While循环语句的知识图谱,实现深度学习。
情感态度价值观:通过小组合作与学生之间互相讲解题目培养学生互帮互助与分析问题、解决问题的能力,提高其学习编程的成就感;通过翻转课堂多工具多平台的使用提高学生学习编程知识的兴趣,提高其自主学习能力;通过循环语句的学习学生可以感悟到生活本身就是循环过程。
2.案例呈现
(1)旧知重温,创设问题
课前教师打开Moodle平台与学生一起复习上节课所学的For循环知识点思维导图,并提问重点与难点问题,如For循环适用的前提是什么?For循环的基本语法结构及其执行过程?教师将上节课学生学会用For循环解决的求1-100之间所有整数的和的编程题目进行改编,变成求s=1+2+3……+n,当加到第几项时,s的值会超过1000?是否还可以用For循环来解决?以引发学生思考。
(2)Moodle自学,分析问题
当学生发现利用已有的知识储备不足以解决遇到的新问题时便会产生疑惑,此时教师只需要引导学生看能否利用While循环语句解决该问题,学生便不约而同地登录Moodle平台学习新知微视频,初步了解While循环语句的基本结构。之后教师便可以提醒学生在观看微视频时打开导学案归纳知识点,记下自己的疑惑点,等待教师答疑解惑。导学案中还提供了4个有利于学生理清楚While循环执行过程的小例题(如下所示),让学生在观看完微视频后先自行尝试解决,之后小组合作探究,该过程完成之后教师集中答疑,并引导学生分析课前提出的问题。
①
int main()
{
while(0)
{
cout<<"hello"<<endl;
}
return 0;
}
②
while(1)
{
cout<<"hello"<<endl;
}
③
int i=1;
while(i<=100)
{
cout<<"i="<<i<<endl;
i++;
}
④
int i=1;
while(i<=100)
{
cout<<"i="<<i<<endl;
i++;
}
cout<<"循环已经结束,猜一猜此时的i值为多少?"<<endl;
(3)画程软件抽象,解决问题
通过自主学习微视频与导学案中的4个例题,大部分学生已经掌握了While循环语句的基本用法,教师可以让学生利用画程软件抽象出While循环执行的流程图,突破重点。同时可以利用老题新做:求1-100之间所有整数的和,让学生尝试利用While循环求解并对比其与For循环使用的区别,突破难点。重点与难点问题突破之后学生便可以利用刚刚画过的While循环语句执行的流程图进行填空,解决课前提出的问题:求s=1+2+3……+n,当加到第几项时,s的值会超过1000?并分析生成的程序是否可以解决问题。
(4)OJ编程,反馈问题
虽然利用画程软件成功绘制流程图之后会生成相应的代码,但是While循环对于大部分初中生而言仍较难理解,尤其是循环条件与循环体语句的编写,教师一定要把握住点拨与反馈的关键时期。可以适当降低难度,将循环条件或循环语句处进行挖空,如while(?) {++n;s+=n;}带领学生一起探究,让学生领悟到只要知道循环结束的条件以及循环体语句即可做出此类题目,从而归纳出做题方法。当学生充分理解做题思路与程序代码后即可利用Dev-C++软件尝试编程,并将代码粘贴到OJ系统进行检查,得到反馈。
(5)导图总结,迁移问题
一节没有总结的课是不完整的。学生总结知识的过程便是自我反思和深度学习的过程,但是思维的过程是一个内隐的过程,将其可视化地表现出来用思维导图则是不二之选。课程结束前,学生可利用Xmind软件构建本节课的知识地图,并将其与上节课的知识点对比重建,形成系统的知识框架,为后期的学习奠定扎实的基础。初中计算机编程考察的是学生的综合能力,包括阅读理解能力、数学思维能力等,因此利用OJ系统让学生进行同类题目的批量练习,如分离整数的各个数位、角谷猜想、数字反转等,实现知识的迁移十分重要。充分运用迁移规律,实现知识的有效迁移,是教学成功的重要环节。
3.案例剖析
本节课是以Moodle平台、思维导图、微视频、导学案、画程软件、Dev-C++编程软件以及OJ系统多工具为支架的初中计算机编程课,利用课内翻转的形式将晦涩难懂的While循环编程知识化繁为简、由易到难地展示出来,充分调动了学生学习编程知识的积极性,不仅提高了学生的学习兴趣,也让学生有的放矢地学会使用信息化工具提高学习效率,培养了自主学习的能力。
从重点与难点问题的突破来说,由于学生之前已经掌握了For循环语句的使用方法,所以教师利用微视频先将While循环语句的语法结构呈现出来,让学生初步认识其格式,之后教师不是直接讲解其执行过程,而是提供4个难度较低的练习题,让学生在自主探究与合作学习的过程中掌握While循环语句的执行过程,再利用画程软件将流程图绘制出来,突破教学重点。对于While循环的难点即循环条件与循环体语句的确定,教师则采用老题新做与挖空心思降低学习难度,让学生将上节课用For循环解决的问题改编成利用While循环解决,使其初步理解While循环条件与循环体语句如何确定,之后将老题改编成已知循环条件而未知循环次数的只能用While循环解决的问题。让学生自主探究,先利用画程软件抽象出流程图,再将生成的代码在Dev-C++软件中运行,查缺补漏,最后将代码粘贴到OJ系统进行实践,得到反馈,由易到难,逐步击破教学难点。最后让学生利用思维导图工具动态生成本节课的知识地图,并要求其在思维导图中体现出While循环与For循环的区别,让学生充分掌握循环结构。课后学生需要在OJ系统中进行不同难度、同类题目的练习,实现知识迁移,完成深度学习。
在整节课中,教师点拨与教学评价贯穿始终,教师根据学生的导学案完成情况以及学生记录的疑惑点进行及时点拨。翻转课堂教学形式给了学生自主学习的时间与空间,教师可以因材施教,适度辅导。在学生完成编程之后,教师要求学生与同学之间互相讲解一次题目,有利于学生内化知识,实现深度学习,同时也是一种自评与互评。学生完成练习题目之后,教师可以根据OJ系统的反馈进行评价与反馈,学生也可以看到自己的完成度与排位次序,更加提升其学习的积极性。
结 语
“双减”政策的实施符合素质教育的要求,计算机编程课程有利于培养学生独立思考、知识迁移、自主学习的能力。多工具支持的初中计算机编程翻转课堂弥补了传统计算机编程教学形式单一、内容抽象等不足,既为教师提供了教学资源,又为学生综合能力的培养提供了充足的空间与支持,非常值得一线教师尝试。同时,作为初中信息科技教师一定要紧跟时代的发展,结合国家最新的教育方针和政策,及时反思自己的教学模式,不断调整教学方法,促进教育教学改革。
注:本文系江苏省苏州高新区教育科学“十四五”规划2021年度“一般立项”课题“思维导图支持初中信息技术翻转课堂的实证研究”(课题编号:SND-2021-YB-110)的研究成果
参考文献
孙利平. 导学案支持高中信息技术翻转课堂的实证研究[D]. 长春:东北师范大学,2018.
薛志坚,谢志锋,张婧颖. 计算思维训练C++程序设计与算法初步[M]. 南京: 东南大学出版社,2020.
作者单位:江苏苏州高新区实验初级中学