期刊正文


基于大单元教学的项目式学习策略及反思

 

【作者】 束 成 梁姗姗

【机构】 安徽省淮南市淮南第一中学

【摘要】

【关键词】
【正文】  摘 要:通过对大单元教学的项目式学习研究,以《程序设计基础》单元为例进行过了教学实践,总结了大单元教学的模式与方法、项目式学习的开展方式和技巧、总结了基于大单元教学得项目式学习的方法。
  关键词:大单元教学;项目式学习;学科素养
  程序设计基础单元的知识内容对高中生比较陌生和复杂,之前的学习的《数据与信息》、《知识与数字化学习》等内容相对比较直观和具体,《算法基础》的内容虽然抽象,但是依靠学生的数学基础和逻辑思维能力,也较容易掌握。而《程序设计基础》的内容,因为涉及具体的编程方法,又需要学生用计算机思维来思考和分析,相对其他章节知识难度很大,掌握起来也比较困难。但是《程序设计基础》章节对老师来说似乎更容易开展教学,因为本章变量的赋值、表达式的书写、逻辑关系的组合,程序结构的编排,都是非常具体的知识性点,便于教师开展讲解和演示。对学生难,对教师易,难易的矛盾冲突,就容易造成老师课堂讲解热火朝天,学生课堂听讲却一头雾水。
  要想处理好《程序设计基础》单元教与学的关系,让学生学入心、学入脑,真正掌握程序设计的基础知识,并且能够利用程序设计思想来分析和处理生活中的实际问题,就要从大单元角度出发,开展项目式学习,通过项目活动的完成,让学生在自主探究、合作交流、总结反思中高效地掌握本章节的内容。
  项目式学习与任务驱动学习的不同在于,任务驱动是以“任务为主线”,围绕一个共同的任务活动,完成理论学习和技能的掌握,以任务的完成结果检验和总结学习过程。项目式学习是以“项目为主线”,是在教师的指导下,通过合作学习,共同实现一个完整的综合项目而开展的教学活动,项目式学习,除了可以培养学生学习技能外,还锻炼学生整体设计规划能力、主动探究分析能力以及总结反思能力等,全面提升学生的学科素养。
  本章节要通过学生对知识技能的掌握,提升计算思维,具体来说就是把熟悉的数学思维转变为程序设计思维。在学习过程中,通过合作探究、自主探究,提升自己的数字化学习与创新能力,通过用计算机解决生活中的实际问题来提高信息意识和信息社会责任。项目活动的选择要贴近生活实际,尤其是要贴近高中生的生活实际,能够解决实际问题,是学生感兴趣,能产生共鸣的主题,还要具有一定得可操作性。对高中生来说,项目活动不能太幼稚,有些项目很有趣味性,但是过于简单,不能让学生产生用计算机程序来解决问题的冲动,要有一定的难度,是他们经历过、思考过、甚至也试图解决过的问题。所以,我通过“设计银行自动取款程序项目”,让学生设计编写一个模拟取款的程序,用户输入密码和金额,让程序显示是否能成功提取来开展教学活动。
  一、知识框架的搭建
  知识框架的建立要围绕所选项目开展。根据所选项目,学生需要掌握的知识点有变量的定义与赋值、表达式的书写与格式、逻辑关系式的使用和优先级、循环语句与选择语句的规范与原理等。这些知识点影响项目的实施与完成,所以必须讲解清楚,让学生理解透彻。
  这些知识内容信息量大、掌握难度也大,为了让学生高效记忆和理解这些知识点,我选用了几个兼顾趣味性和典型性的小案例,比如“模拟游戏中玩家对角色的控制”,讲解选择语句的规范和原理。针对现在学生对身体健康的关注度,我用标准体重的计算公式:(男生身高cm-80)×70﹪=标准体重、(女生身高cm-70)×60﹪=标准体重,来训练学生表达式的书写。通过闰年的判断条件、乒乓球比赛每局胜利条件两个例子来讲解逻辑关系式的使用。这些来自身边的例子,很容易引起学生的共鸣,产生学习动力和兴趣。
  二、项目活动的开展
  在项目式学习阶段,首先要明确教学目标,我们可以把项目分解成各个子项目。子项目包含,问题的分析和方案设计、知识资源的获取与使用、问题的原因与解决、完成项目总结与反馈,每个子项目都有一个小目标。
  项目开展前要做好分组安排,分配任务、明确目标。合理分配任务,尤其是组长的任务,让组长成为辅助教师教学、开展项目式学习的帮手。组长要调动组员的积极性,引导各组员完成各个子项目的任务和目标。
  在问题分析和方案设计子项目中,要让学生探究和讨论项目需求和算法结构。自动取款是大部分高中学生都体验过的事情,所以对整个项目过程都有比较清楚的认识。为了让他们把抽象的认识具体表现出来,要让学生绘制思维导图和流程图。通过对思维导图和流程图的深入探讨,从一开始只能输入密码和金额就反馈结果,逐步丰富和程序的功能,更加贴近现实,比如加入密码错误提示、错误超过三次的处理、余额不足的反馈等等情况。再对这些情况加以分析和规划,就能制作成较为完整的程序流程图。
  在知识资源的获取与使用子项目中,学生要学会用计算思维来思考程序模型的建立,比如变量的类型与赋值、程序主要结构、输入和输出如何更加人性化等等。学生们通过对前一个子项目的学习,可以初步确立程序的整体框架,尤其是明确了程序要先做什么、再做什么。那么如何把设计思路和算法模型变成可执行的代码。这是就要运用已经搭建的知识点框架。同学们就需要主动的探究每个知识点的具体使用方法,把知识技能整合起来。在这个阶段里,教师引导学生观看教师微课、查阅笔记、互相交流等方式,拓展他们探究的能力,养成遇到问题不等不靠、主动解决的习惯。该子项目完成后,教师要对每组的程序进行检查和点评,通过模拟运行的方式,组织学生展开讨论,使各组能发现程序上的问题,以便实施下一步程序代码的书写。
  在修改程序解决问题子项目中,学生对遇到的python缩进问题、大小写区分的问题、代码拼写问题、标点符号问题进行解决。相对之前的算法结构问题,这一阶段的问题就更加具体。这些问题的主要原因是学生对python的熟悉程度和训练度不够,这是不可能通过一两个项目的操练可以彻底解决的,教师要做的就是让他们能够根据程序运行后的错误提示来逐步解决。所以除了要求学生能够通过合作探究的方式来解决问题外,教师要通过演示来强调规范的程序书写方法。
  最后是学生总结与反馈子项目。这是学生巩固知识的最重要环节,要求组长整理和汇总本组在完成项目过程中的问题,并描述解决的过程和结果。鼓励学生制作PPT简报的方式来展示本组项目完成的过程。通过各组同学的展示交流,可以进一步收集问题并加以点评和指导,从而使学生更好的掌握本单元的知识内容。
  三、单元教学的反思
  通过本单元的教学,我发现面临的最大问题就是师生思路的不同步,尤其是在前期知识点讲解时,如果师生的思路不在一个频道上,老师讲解的时候不听、进行项目式不会,课堂效率就会非常低下。所以前面的讲解案例要尽可能安排的趣味一些,可以通过问卷星等工具,来设计一些能练习反馈的题目,千万不能在一知半解的情况下开展下一阶段的学习。只有把知识脉络梳理清楚,这样学生在完成项目的过程,才能尽可能地把主要精力放在整体设计和规划上,才能把提高思维能力和学习能力作为课堂的主要任务,而不是把大部分时间都花在讲解程序代码上。
  第二个问题是学生对项目式学习过程的不理解不配合。很多学生还是把信息技术课当成一个操练课,重视动手操作,忽视思维训练,忽视团队合作。要让学生知道,“手上的技巧,来自内心”,只有心里掌握了,才能学会编写代码,才能解决问题,否则即使会编程,但是没有对问题的深度把握、没有对编程思维的正确理解,也是不可能用解决实际问题的。我的处理方法是,鼓励学生展示自己的想法,鼓励他们描述自己的思路,通过引导和点评,提高他们的计算思维,让他们懂得设计规划的重要性,懂得探究与合作探究的好处。
  第三个问题是各小组协同合作的问题。每组都会有学生参与度不高,这样达不到共同学习进步的目标,也会影响其他学生的积极性,不能让项目成为某一个人的事情。我的做法是,观察各组成员的思考和参与情况,给参与度不高的学生适当的压力,用提问、追问的方式,引导他们思考,让他们积极参与到活动中,从而实现共同进步与提高,进而实现学科素养的全面提升。
  • 【发布时间】2023/4/10 12:23:38
  • 【点击频次】172