祁尧生
(甘肃省武威第十二中学教育集团,甘肃武威 733000)
编程教学是初中信息技术教育体系中的重要环节,然而以往的编程教学局限于理论灌输和讲授,致使学生的信息技术实践能力和创新思维潜力无法获得充分开发,制约学生信息素养和关键能力品格的多元发展。项目化教学具备强大科学的理论支撑,可以在任务驱动中增强学生的编程探索体验,规避学生信息素养片面化发展的不良局面。为此,教师应当明晰项目化教学在初中信息技术编程教学中的应用意义和策略,全力深度整合实际项目和编程教学内容,从而凸显学生在编程教学中的主体地位,下面我们就对此目标展开策略刍议。
编程教学在初中信息技术课程体系中占据举足轻重的地位,但是由于部分教师对编程教学创新改革缺乏足够的重视,导致前沿的教学手段在编程教学中应用不力,直接降低学生对编程的兴趣和编程技能的发展能效。项目化教学具有突出学生主体性的作用和特点,搭载真实的驱动项目,能够引导学生从简单的编程理论认知向解决实际问题的方向转移。笔者经过广泛的理论和实践调研,将项目化教学在初中信息技术编程教学中的应用意义总结概括为如下三点:
第一,应用项目化教学能够增强学生参与编程探索的主动性。初中信息技术编程教学涉及的知识技能非常多,包括程序开发设计的一般步骤、编程控件的用法以及常见的函数用法等等,对初中生来说,这些知识技能抽象性比较强,所以大部分初中生参与编程探索的积极性是偏弱的。项目化教学最显著的优势和特点,就是可以增强学生参与编程探索活动的主动性,比如真实的项目情境展示、小组合作学习形式的项目解决方案设计等等,都是备受初中生青睐的编程学习形式,学生的创造性思维在编程学习中拥有更广阔的释放空间,还能感受到通过集思广益完成编程项目的成就感,这些都有益于改善初中生在信息技术编程探索中的被动态度。
第二,应用项目化教学可以提升学生理论和实操相结合的信息技术编程素养。在初中信息技术编程教学中,理论和实践技能同等重要,然而部分教师过度倚重理论知识讲解,致使很多学生对编程学习滋生枯燥无趣之感,也不利于学生编程实践能力的突破。实施项目化教学的优越性主要体现在可以提升学生理论和实践相结合的信息技术编程素养。在项目化教学导向下,学生拥有充足的编程实操、实践机会,而且这些实操活动与实际的编程项目紧密衔接,这样学生编程技能和信息素养的发展势必更加全面。
第三,应用项目化教学有助于打造合作互动式的信息技术编程教学课堂。初中信息技术编程教学改革追求的终极目标是学生能够协同创新,但是以往由于教学组织不科学,学生在编程探索中互动交流行为极度匮乏。项目化教学以小组合作学习为主要组织形式,搭配对项目问题的集中分析、对项目解决方案的统筹设计以及最终的实操、运行、调试和评价反思等等,这些都是编程教学落实师生双边互动的重要标志,学生在编程学习中掌握更大比例的自主权,体验到与伙伴思维碰撞和互补的快乐,从而打造合作互动式的信息技术编程教学课堂,切实提高学生编程实践能力的多元发展以及协同创新效率。
在初中信息技术编程教学中应用项目化教学,主要考查学生运用编程理论知识和基本技能解决实际项目问题的能力,进而在项目解决方案策划和实操练习中提高学生的技能操作和思维扩展效率。为此,教师在向学生正式提出编程实践项目之前,必须先落实编程理论知识和技术讲授工作,从而构建项目化教学的开展基础,保证项目化编程教学的各个步骤有序实行。基于项目化教学的编程理论知识和技术讲授策略如下:
第一,借助微课带领学生掌握编程理论知识。在这一步,教师可以在云课堂资源库中搜集和编程理论教学有关的图片、短视频和文本素材,包括计算机软件和编程的密切关系、常见的编程语言类型以及编程控件等等,并将这些素材加工编辑成微课件展示给学生,指导学生通过合作的形式认真观看编程理论微课件中的视图资料、详细阅读文本信息,然后让学生对照信息技术教材,标注出与课件内容相对应的概念文字,这样学生就能通过视图资料和文本补充解释的启发,一一对应地理解信息技术编程的基本概念。
第二,借助实例引导学生习得编程的基本过程和方法。在这一步,教师可以在白板投屏上出示物理学或是数学中的实际例子,然后向学生提出问题:同学们,运用大家已经掌握的知识,你认为这个例子有几种解法?学生随即展开解法讨论和分析,并反馈2-3 种解法,教师认同学生结果后再顺势引出编程算法,利用微课分别向学生展示自然语言、图形符号以及程序三种算法表达方式,同时设问:同学们,这三种算法表达方式的优缺点分别是什么?你能概括总结编程的基本过程和方法吗?学生踊跃交流后分析出三种算法表达方式的优缺点,并尝试运用Pascal 语言表示一段简单的算法程序,这样学生就顺利习得编程的基本过程和方法,为后续编程项目化教学开展做好铺垫工作。
学生初步构筑信息技术编程理论和基础后,教师应当科学地向学生呈现和提出项目,由于初中生编程素养刚刚起步,笔者建议教师将编程课程理论与日常生活联系起来,搭配信息化教学工具,为学生创设项目展示情境,这样可以更好地引导学生明晰项目编程目标,激发学生对项目化编程探索的内在动力。基于项目化教学的编程项目展示情境创设策略如下:
第一,选择贴近生活的编程项目主题。教师应当综合考虑信息技术编程课程内容以及学生实际生活认知,选择和策划与生活衔接密切的编程项目主题。如数据的录入、文字的排版以及数据的排序和筛选等等,都蕴藏着学生日常生活中经常遇到的编程问题,适用于教师作为编程项目化教学主题。在将初步的编程项目主题策划为成型的项目化教学任务时,教师应当搜集充足的扩展资料,如编程项目主题内容在生活中具体的表现场景,教师可以搜集对应的图片和短视频类资料,如编程项目的设置开发背景和目的;也可以搜集文本类资料,解释说明如果缺少编程技术的参与,很多简单的生活问题解决起来都会异常烦琐和困难。搜集整理完备资料后,教师可以把资料下载收录到教学优盘中,留待在编程项目化教学情境创设中应用。
第二,创设多媒体情境揭示项目编程目标。教师应当利用多媒体投屏工具,为学生展示先前针对编程项目主题搜集到的各项拓展资料,如在加减法运算小程序项目情境创设中,教师就可以在白板投屏上展示一名小学生做加减运算题、家长判断运算结果正误的图组,然后向学生提出问题:“同学们,小学阶段我们都做过很多数学运算题,你的父母和老师使用人工判卷的方法,你认为这种方法有什么缺点吗?”学生思考交流片刻作答:“人工方法耗时长、效率低,而且不一定能完全保障判卷准确率。”教师投以赞赏的目光追问:“那么大家从计算机科学领域的思想方法和视角来看,怎么样能高效解决这个问题,使判卷老师和家长不那么辛苦?”有学生抢答:“利用编程技术或许可以解决!”教师肯定学生答案后,跟进在白板投屏上展示有关加减运算小程序项目的文本补充资料,鼓励学生认真阅读文本资料,透彻了解编程项目的实施目标和背景,这样一次高质量的编程项目展示情境就创设完成了。
在初中信息技术编程教学中实施项目化教学所要启动的第三个步骤,就是引导学生通过小组合作形式,细致分析编程项目的内容、策划设计项目解决方案。这一步要求教师跟进科学的指导启发和教学组织,是最为关键的编程项目化教学实施环节。具体策略如下:
第一,引导学生分析编程项目的具体需求。所谓需求分析,就是要弄清编程项目的具体要求,教师创设编程项目展示情境后,可以向各组学生提出细化的需求分析问题:同学们,大家对编程项目的目标和背景已经有所了解,那么解决项目任务具体要输入什么数据?得到什么结果?最后要输出什么呢?各组学生交流后反馈需求分析结果,教师考察后没有问题,学生基本明确编程项目的执行需求。
第二,引导学生针对编程项目设计算法。对编程项目的需求分析,是了解计算机需要“做什么”,而设计算法就要具体到让计算机“怎么做”。这就像数学题解答一样,一道数学题可能有多种解法。教师可以先让各组学生根据编程项目需求,运用先前掌握的编程知识技能设计算法,指导各组学生把每一种设计算法都清晰地罗列在验算纸上,教师巡视考察后,确定学生初步研制的设计算法都比较合理,然后向学生提出问题:“同学们,大家设计的算法都很有价值,但是解决编程项目需要最优的算法,你能从中挑选出来吗?”各组学生经过探讨、分析和比较之后,挑选出认为最优、可行性最高的算法。
第三,引导学生针对编程项目编写程序。在这一步,教师应当继续对学生进行问题启发:“同学们,在之前的学习中我们认识到,计算机只能接受和执行程序设计语言所编写的程序,所以我们刚才针对编程项目所设计确定的算法还不能直接使用,下面请大家运用计算机程序设计语言把算法编写成程序。”各组学生接到问题指令后,积极对项目开展编程探究,教师巡查课堂检视学生对计算机程序设计语言的运用情况,及时纠正学生的编码错漏之处,并指导各组学生把项目需求分析结果、设计算法以及编写的程序汇总整理在草稿纸上,形成较为完善的编程项目解决方案。
学生针对编程项目设计可行的解决方案后,上机实操活动就可以着手开展了,在这一步,教师所要落实的教学任务主要有如下两项:
第一,教师应当保证学生用于实操训练的计算机上安装了齐全的计算机程序设计语言控件,如VB 控件、Lable 控件以及CommandButton 控件等等,具体要根据编程项目实行需求安装和采用,为学生创造良好的编程项目化探究环境。
第二,教师应该指导各组学生把编程项目解决方案中的具体编码输入计算机。还是以之前的加减运算小程序项目为例,教师可以让各小组学生把拟定的小程序编码输入计算机中,然后提出问题:“同学们,输入编码后计算机中显示什么?”有的小组反馈出现整数组成的加减法竖式,有的小组反馈计算机并没有呈现这个结果。此时教师针对没有获得反馈显示的小组开展实操指导,找到并修正这些小组编码输入不规范的操作,直到全体学生都看到计算机显示的加减法竖式。接下来,教师再指导各小组按照项目解决方案,使用键盘在计算机中输入一个结果数,让计算机对计算结果是否正确进行判断,这样针对编程项目的上机实操调试目标就初步实现。
想要提高项目化教学在初中信息技术编程教学中的运用效果,程序运行成果展示以及评价反思环节是不可或缺的。教师只有执行组织好这两个环节,才能确保基于项目化教学的编程实践有始有终。具体策略如下:
第一,教师应当鼓励各组轮流展示编程项目解决方案在计算机上的运行成果,让各组派代表阐述上机调试环节程序出现的错误,以及是如何排除和解决的。在这一步,教师最好让发现程序错误的小组把错误排除方法实际演示操作一遍,其他小组从旁观看,这样全体学生都能规避同类编程和上机调试错误的再次发生。
第二,在编程项目化教学的评价反思环节,教师应当让各小组互相评价反思编程项目的完成水平。在这一步,教师可以设置几个评价反思目标:“同学们,把你们的编程运行成果代回到最初的编程项目需求中,你认为运行成果满足项目的实际需求吗?请大家以组为单位互相点评编程项目解决方案的优势和不足。”学生互动评价反思期间,教师应当指导学生把吸取到的编程经验记录在学习笔记上,在时间允许的情况下还可以上机实操一遍,这样项目化教学在初中信息技术编程教学中就得到完善的实施。
综上所述,在初中信息技术编程教学中引入项目化教学模式不但能够增强学生参与编程探索的主动性,也能提升学生理论和实操相结合的信息技术编程素养,还能打造合作互动式的编程课堂。为此,教师应当通过落实编程技术讲授、创设项目展示情境、分析编程项目内容、上机实操解决方案,以及展示程序运行成果、发展组间评价反思的路径,全面夯实学生的编程兴趣和技能,从而落实高效的编程项目化教学目标。