高中信息技术Python 编程教学微项目学习研究

2023-10-29 17:27杨俊凯
学周刊 2023年32期
关键词:编程情境探究

杨俊凯

(福建省漳州市第三中学,福建漳州 363000)

计算思维是信息技术素养的重要构成部分,而编程教学是培养学生计算思维的主要平台。在编程教学中实施微项目学习,能够激发学生的自主意识和自我效能感,更好地促进生生合作与互动,以此实现对编程知识技能的深度学习。因此,教师应该明晰微项目学习的开展价值,立足高中信息技术Python 编程教学内容和实际学情,做好微项目的设计和教学组织工作,带领学生围绕微项目的主线,通过自主、合作探究的形式参与编程知识学习和技能训练,从而高效落实教学目标。

一、高中信息技术Python 编程教学微项目学习的实施意义

(一)有助于激发学生对Python 编程课程的探索兴趣

Python 是一种面向对象的解释型计算机程序设计语言,课程中涉及数学、英语等跨学科知识技能,给学生带来抽象思考的压力。部分学生对代码式编程存在畏惧心理,学习态度不够积极主动。微项目学习是项目式学习的简化模型,其理论依据之一是构建主义理论,强调教学内容生活化、知识呈现情境化,高度契合学生的认知发展规律和行为特征。在高中信息技术Python 编程教学中实施微项目学习,能够激发学生的编程探索兴趣,比如教师可以从知识呈现情境化的角度出发,在发布微项目的阶段,通过情境创设的方式引入贴合生活实际的微项目背景资料,化抽象为具体,使学生对编程课产生亲切感和熟悉感,从而积极自主地投入编程微项目学习和探索[1]。

(二)有助于学生获取核心概念知识和解决问题的能力

传统的Python 编程教学模式侧重于学生学习的结果和答案,部分教师甚至会将编程语言直接出示给学生,省略了学生自主发散计算思维的过程,这种重线性、轻融合的教学手段很容易导致学生对编程知识一知半解,思维品质和综合能力也得不到有效锻炼,仅停留在浅表学习的层面。微项目学习高度重视过程与方法、思维与情感,强调引导学生运用已有的知识技能,自主解决实际的编程问题。在新时期的信息技术Python 编程教学中引入微项目学习,有助于学生获取核心概念知识和解决问题的能力。比如教师可以根据编程课的教学要点给学生编制微项目活动的清单,在清单中详细地列出实际问题、学习的基本步骤和方法等,指导学生按照清单的指引,自主制定解决问题的路线和策略,使其经历思考、推理、构建和内化的过程,从而促进编程微项目学习成果的产出,培养学生的元认知和深度学习能力。

(三)有助于培养学生的合作探究意识和实践创新精神

Python 编程是一门注重实践和创新的学科。以往的集体授课和讲练结合教学模式始终都在教师的把控和牵引之下,不仅压减了学生之间的互动交流机会,也缩窄了创新的空间,致使学生编程技能的发展受到限制。微项目学习依托于做中学理论和活动理论,前者关注实践性学习以及学生的个性化、多样化发展,后者主张把学生的个体活动纳入社会活动中,产生沟通、交互等学习行为。在信息技术Python 编程教学中应用微项目学习,是培养学生合作探究意识和实践创新精神的主要途径。比如教师可以给学生设计开放式的编程微项目,组织学生以同伴群组为单位,融通理论与实践,汇集每个成员的优势智能和创造性思想,协作完成对微项目方案的研讨和实施,从而提高全体学生的学习参与度,构建指向合作与实践的编程课堂。

二、高中信息技术Python 编程教学微项目学习的实施策略

(一)整合教材和学情,确定微项目主题

在高中信息技术Python 编程教学中实施微项目学习,科学选定微项目主题是至关重要的步骤,每节编程课的教学内容都比较庞杂,教师必须紧扣重点和难点内容做好微项目的选题工作,才能铺平后续教学的道路。微项目学习的本质是解决问题,在课堂上的应用强调课时化、层次化。教师在确定微项目主题时,应该在学科大概念的统领之下,对教材和学情展开深入、精细的分析,结合教材内容以及学生的编程基础、认知情况设定微项目学习目标。所设定的目标必须层层递进、由浅及深,具有一定的层次和梯度。如果单元学习内容比较多,教师应尽量拆分出多个微项目主题,确保每个微项目都能在一课时之内独立完成,从而实现对微项目主题的有效选定。如在关于Python 编程的入门教学中,教材内容主要包括什么是Python、认识海龟编辑器、第一个Python 程序三个专题。虽然部分学生接触过积木式编程,但是大多数学生对代码式编程比较陌生。教师在掌握教材要点和整体学情之后,就可以根据教材专题确定三个微项目主题:(1)学会Python 的启动方法,了解Python的界面。(2)编写出自己的第一个Python 程序,能够对程序中出现的错误进行简单的调试。(3)利用Python 语言解决一些小的问题,包括设置单行注释和多行注释,使用缩进来表示代码块等等。三个主题之间相互联系、由易到难。这样通过主题的挈领,就形成微项目学习的基本路线[2]。

(二)立足知识与技能,设计微项目方案

微项目学习强调过程,对前期的方案设计有着较高的要求,教师把方案制定得越全面、越细致,学生就能得到越丰富的学习活动体验。因此,在选定微项目主题之后,教师应该根据Python 课程的核心知识和关键技能,设计更加细化的微项目方案。方案内容必须符合学生的认知,同时与微项目学习的总体框架和基本思路相适应,加强理论学习和实践训练的结合,主要包括项目任务、项目问题、项目资源三个部分,并编制对应的导学案,将项目资源保存在网络教学平台中,从而使微项目学习的规划工作更加完备。首先,在设计微项目方案中的学习任务时,教师应该依据学习主题和学生的技能水平,设计基于真实问题、适宜发展合作探究的任务群,每个单独的任务中手动操作的内容尽量多一些,同时要支持学生根据自己的爱好进行选取。其次,从微项目问题的设计来说,教师应该从学生的知识结构以及思维训练需求出发,设计具有驱动性的问题串,所有问题都以立足生活实际为基准,难度划分成初级、中级、高级三个层次。其中初级问题应注重整合学生的新旧知识经验,利用旧知识引出Python 新课题,缓解学生接纳新知的压力;中、高级问题可以适度地融入一些挑战成分,以问题的解决和思维的创新为重点,以此驱动学生不断地探究和打磨编程作品。最后,从微项目的资源准备来说,教师应该使用网络教学平台,事先给学生提供学习资源和认知工具,围绕Python 课程的常量、变量、数据类型、运算符等基础知识,提供编程思维导图和重点内容流程图。这部分方案需要学生在课前自学完成,把握微项目学习的知识体系结构,从而给课堂探究留出更加充足的时间和空间[3]。

(三)创设趣味化情境,发布微项目任务

任务发布是Python 编程微项目学习的重要环节,虽然通过课前自学,学生对编程语言基础知识建立了大致的了解,但是还停留在理论学习的层面,很难自主进入微项目任务的探究状态,教师在发布任务时必须做好激趣工作,才能助推学生从理论学习走向实操训练[4]。情境创设法能够满足微项目任务的发布需求,教师应该根据任务的内容,紧扣学生的思维规律和兴趣爱好,创设趣味化情境,并且情境中要融合生活元素、影像材料和导学问题,给学生的视觉和思维带来多重外部刺激,使其对微项目任务产生探索和解决的动机。如在关于创建和使用类的Python 编程教学中,教师预备发布的微项目任务,是开发模拟掷骰子的Python 程序,那么在情境创设阶段,教师就可以播放掷骰子的游戏视频资料,引导学生围绕情境展开主动的思考和交流,先预热课堂气氛,再向学生揭示微项目任务,组织学生联系情境资料,讨论掷骰子程序的基本功能和编写方法。这样在趣味情境的带动下,学生就明晰微项目任务的内容和主要目标,迫不及待地想要参与程序开发。

(四)开展小组式学习,实施微项目探究

每个学生的编程技能、计算思维和学习风格存在差异性,小组合作更利于汇集团队的力量。因此,在正式实施微项目探究时,教师应该积极地组织学生开展小组式学习,以Python编程任务群或子任务为核心,面向全体学生,按照编程基础、学习态度、技术特长等要素,对学习小组进行合理地构建,每组由学生推选或教师委任一名组长,组长基本的素质要求是编程能力、领导能力强,具有比较外向的性格。在完成小组构建工作之后,教师让各组的组长带领组员,对微项目任务进行细化分解,明确解决任务需要经历的步骤和流程,并列出对应的纲要和图表。接下来,教师借助微项目方案的学习支架,鼓励各组学生参照步骤纲要或流程图表,按照每名组员的优势特长进行微项目任务探究的角色分工,使每个学生都对自己所承担的任务做到心中有数,并拥有发挥能力的机会,从而达到合理分工的目的。接下来,教师可通过实操示范的方式,给学生讲解微项目探究的基本技能和注意事项,同时结合任务的内容,利用Toontalk、Blockly 等可视化编程工具,给学生呈现程序功能模块要素的外显表征,帮助学生梳理微项目实践的思路,再将课堂空间开放给学生,使其有章可循地合作开展编程微项目探究[5]。

(五)组织交流和互动,加快微项目推进

在学生合作探究解决Python 编程微项目的过程中,项目任务是主线,各组学生是主体,教师的有序组织和探究指导是保障。由于微项目学习涉及Python 语言新知和多种技能,学生势必会遇到一些认知和方法方面的困难,教师如果讲得太透,学生就会丧失独立思考的机会;教师如果完全不辅助,微项目学习可能会卡在某一点难以继续推进[6]。因此,在组织和指导阶段,教师应该重视提升学生的主体地位,把握好讲授的度和量,针对微项目探究中出现的疑难和困惑,尽量组织学生之间通过交流和互动加以解决,教师不过多地参与学生学习新知,而是遵循定向、内化、强化、掌握、分享的生本学习框架,给予学生必要的点拨和建议,至于如何构建和实现,仍旧交由学生集思广益、合作完成。比如学生在设计算法时陷入困境,教师可以出示单分支、双分支、多分支或嵌套分支的结构图,引导学生合作分析、判断算法条件,探讨算法中的变量、常量、表达式、数据类型、赋值语言、算术运算符等,提出对应的算法设想,组内通过深度交流形成统一意见,经过设计算法、编写程序、调试运行程序,最终解决算法设计的疑难问题。这样通过教师的适度指导和学生的密切互动,学生就能够感受到学、做、讨论的交互迭代过程,从而形成合作探究和释疑的能力,提高Python 编程微项目学习的实施进度。

(六)做好梳理和总结,完善微项目展评

在高中信息技术Python 编程教学中应用微项目学习,成果展评是不可或缺的一步。有效的展评能够帮助学生归纳微项目中的理论和技术,形成结构紧致而清晰的编程知识体系,同时也可以打开经验分享的窗口,助推学生从学习新知走向协同创新的道路。因此,教师应该做好编程微项目学习的梳理和总结工作,带领学生开展成果展示和评价两项活动。首先,从成果展示来说,在学生完成Python 程序设计项目之后,教师让各组轮流演示程序试运行,一边演示一边陈述本组的算法设计思路、逻辑结构、用到的函数模型以及编写代码过程中遇到的复杂问题和破解方法,使组与组之间的成果和经验得以分享。在此期间,教师引导各组总结微项目学习中的共性问题,通过集体讨论实现对课程要点的复盘、再思考和再构建,加深对编程知识和技术的印象。其次,从成果评价来说,教师应该让各组根据微项目任务的评价量规,初步评选出Python程序运行最流畅、算法设计最准确的小组,然后评出对程序代码获取、新增、删除、个数操作最熟练的小组,最后鼓励各组开展组内自评,每个组员反思自己是否高质量完成所负责的任务,相互探讨程序作品的优化方法,包括替换更恰当的表达式、增加新的功能模块等等,这样通过完善微项目展评,学生就获得更完整的Python 编程学习经验。

三、结语

综上所述,高中信息技术Python 编程教学中实施微项目学习,能够有效激发学生对编程课的探索兴趣,促进学生获取课程的核心概念和解决问题的能力,使其逐步形成合作探究意识与实践创新精神。教师应该立足Python 课程的教材和学情,整合知识与技能,选定微项目主题、设计细致的教学方案,采用创设趣味化情境的方式,发布微项目任务,做好探究过程的点拨和指导工作,组织学生交流、互动,同时落实探究成果的展示和评价,从而突破Python 教学难点,达成微项目学习的有益尝试。

猜你喜欢
编程情境探究
一道探究题的解法及应用
编程,是一种态度
一道IMO预选题的探究
编程小能手
创设情境 以说促写
纺织机上诞生的编程
探究式学习在国外
一道IMO预选题的探究及思考
护患情境会话
特定情境,感人至深