基于问题链的小学编程教学策略研究
2022-12-23陆爱强
陆爱强
有学者认为,提问是教师课堂教学的基本控制手段,“问得好就是教得好”这一观点已经受到广大教师的认可和赞同。但是,教师该如何问?怎么问才算问得好呢?这个问题值得广大教育工作者深入思考与探索。笔者认为,课堂上的提问,不应该将每个问题作为一个独立的个体,问题与问题之间有着或并列或递进或反转等各种关系,只有巧妙地将所有的问题串联起来,统筹兼顾,将整节课乃至整个教学单元的所有问题有机统一,形成问题链,才能在课堂教学过程中取得理想的效果。
一、传统小学编程课堂教学中的问题
国内一项调查研究表明,课堂教学的改变比课程改革的速度和效率要慢很多,也要困难许多。现有的传统教学内容、教学模式、教学方法与教学理念,也较难与新课改要求同步。作为非考试科目,小学编程课在实际教学过程中,所遇到的问题和挑战也要比语文、数学、英语等主科目更加多且复杂。
(一)学生主体地位难以体现
新课改要求,教学应以学生为主体,教师为主导。据笔者调查和了解,在传统小学编程教学过程中,教师多以课本讲解为主,教师讲半节课,学生根据教师提示,按照学案和书本上的操作步骤,或者以书本上的程序案例为基础进行模仿编程。这不符合课程标准中培养学生自主学习和探究性学习能力的要求或期望,学生的自主创新、协同创新能力无法得到提高。
(二)课程内容难以创新
现阶段,根据教育主管部门要求及课程纲要精神,江苏省义务教育阶段的编程教学内容,主要安排在小学五年级。教学内容包含18课,主要包括图形化编程的基本功能和工作方式,掌握模块化程序设计的思想和方法。从第14课起,有5课内容需要学生了解开源硬件主控板的结构,学会使用软件获取声音、温湿度、灰度等传感器数据,从而感知外部环境,学会利用各种传感器控制角色运动的方法。这些教学内容有的过于陈旧,部分学校没有相关条件来实施,在具体教学过程中存在诸如操作困难、学生不喜欢等问题,学生无法切实提高编程能力和编程水平,教师无法在课程内容上进行有效创新,也无法满足新课标中培养学生计算思维和信息意识的要求。
(三)教学形式难以突破
传统的编程课堂,多数以教师讲授、学生领会后进行模仿编程为主要形式。小学阶段,一节课40分钟,教师讲得口干舌燥,学生听得云里雾里,教师累,学生也累,课堂效果也不佳,学生没有掌握教师讲授的操作技能,教师教学目标也没有达成。在此基础上,学生分析问题、解决问题的能力没有得到提升,也无法感受编程的乐趣,学习编程的兴趣也无法提升。
(四)课堂评价难以落实
课堂评价是课改的难点之一,特别是对于非考试学科而言。信息技术学科,在江苏地区,属于地方综合实践课程,小学不需要进行考试。由于其学科特点,教师无法以考试分数来量化成绩,而是单纯以程序实现与否来判断学生的学习效果,这无法全面、客观、公正评价学生的课堂表现及学科素养。这就需要广大教师注重学生的课堂表现来综合考评。教师应该多关注学生整节课以及整个学期的课前、课中、课后的表现,全面有效地进行评价。
二、基于问题链的小学编程教学基本概念
(一)问题链的含义
问题链是以问题为主线,以发现问题、解决问题、再发现问题为全过程,以适应客观世界运动变化和严谨逻辑思维之需要为目的的思维方法。
提问是课堂教学过程中师生互动最主要的形式和方法,如何进行提问也是考验教师教学基本功的重要因素之一。教师应将问题形成问题链,让学生可以按照教师的设计,以问题为纽带,将课堂知识点组成一个有机整体,培养学生思考问题、解决问题的能力,激发学生思维活动,从而提高教学效果[1]。
(二)基于问题链开展小学编程教学的必要性
小学编程课堂中,多数教师使用的是讲授法,即在教学环节中,遇到重难点,由教师提问,学生思考。当学生无法解决疑难问题或有不理解的地方时,教师进行点拨答疑。
这个过程中,教师活动和学生活动中有了问题的产生,而这些问题有没有得到有效整合,有没有构建一个良好的体系和结构呢?这就需要教师去探索,去实践。笔者认为,教师可以利用问题链来进行编程教学,以便引导学生。在课堂上围绕发现问题—探究问题—解决问题的问题路径,以问题为导向,遵循学生的思维认知规律,将科学的思维方法和分析渗透于各个教学实例中,让学生感受到思维方法的力量,引导学生进行深入思考和判断,从而解决编程学习中遇到的各种难题。
三、基于问题链的小学编程教学基本内涵
基于问题链的小学编程教学,“问题”是载体,“链”是纽带,教师在“导”,学生在“学”。在教学过程中,教师指导是关键,学生学习是核心,教师通过问题链将“导”和“学”有机结合,充分调动学生的学习热情,展现教师在课堂教学过程中的主导作用,体现学生在学习过程中的主体地位,鼓励学生多想、多说、多练,可以在编程教学过程中起到事半功倍的效果[2]。
(一)学在问中,以问导学(以问题为主线)
在小学编程课堂上,教师可以围绕问题展开整个教学过程,可以将解决问题作为贯穿课堂教学的主线和中心。教师的主要任务是让学生发现问题,学生在编程的过程中,遵循有疑问—无疑问—新疑问的循环过程,即问题的发现提出,到问题的分析解决,再到问题的感悟再生的过程。学生在不断发现问题和解决问题的过程中,领悟编程知识,培养计算思维。
(二)学生主体,自主探究(以学生为主体)
在编程教学过程中,教师应充分体现学生的主体地位,积极调动学生的主观能动性,充分尊重和信任学生,将主动权交给学生。教师可以充分利用小组学习、探究性学习等方式,运用项目式教学法,将学生分成各个探究小组。通过师生互动、生生互动,学生能观察的让学生观察,学生能思考的让学生思考,学生能操作的让学生操作,学生能解决的让学生解决,学生能表达的让学生自己表达,尽最大的可能让学生展示自己的才能和想法,真正做到自主探究,协作学习。
(三)教师主导,点拨引导(以教师为主导)
在编程教学中,教师的主导地位不可或缺。教师应该成为问题的提出者、情境的营造者、兴趣的激发者、疑问的解答者、学习的协作者……教师要充分发挥主导作用,将导趣、导思、导问、导疑、导学和导行相结合,在问题方向、关键知识点、重难点、学习方法、思维方式、情感价值等方面进行点拨引导,促进学生知识的消化吸收。
四、基于问题链的小学编程教学的基本策略
在小学如何设计问题链构建高效编程课堂呢?笔者认为问题的设计要符合课程标准所倡导的探究性学习,要符合教育教学的发展规律,要注重与现实生活之间的联系,要充分考虑学情、师情、生情。教师设计的问题要真实,要有趣味性、有层次感、有系统性。
(一)问题的趣味性——激发兴趣
高质量的情境创设,可以有效提高学生学习的热情。通过合适的情境创设,可以将学生引入学习情境中,启迪学生的想象,提高学生的领悟能力。
第12课内容,是学习编程基础部分的延续,学生要认识和理解克隆控件,为后面独立设计程序打下基础。笔者通过设计一个学习情境,以克隆《飞机大战》游戏为主题,通过问题链,激发学生的学习兴趣与创作热情。第一部分内容是绘制飞机角色和火炮系统,是对前面所学的绘图编辑器使用方法的复习与巩固。特别是绘制火炮系统时,为了达到更加逼真的效果,在教材中给出具体的指导方法,直观演示造型切换的方法。第二部分是对克隆控件的学习,通过克隆多架飞机理解克隆控件。教材中给出了详细程序脚本,特别要注意的是,克隆角色初始位置与原角色在同一位置。在飞机角色的移动过程中,采用Y坐标值减少的方法让飞机向下方移动,在数据计算时会有负数出现,当飞越底线时删除克隆体。在交互时,采用颜色侦测的方法,飞机碰到红色即爆炸。通过这个游戏制作,学生可以充分理解角色克隆的启动、删除等。
课上学生努力发现和提出有价值、有内涵的问题,在师生共同解决问题的过程中,熟练掌握克隆控键这个课程难点,同时回顾诸如坐标设置、绘图、侦测等编程技巧,教学目标得以充分达成。
(二)问题的层次感——条理清晰
问题的设计要有层次感,要目标明确,层次分明,条理清晰,面向全体学生,以教学目标为核心,中心突出,有广度、深度、难度。学生学情不同,不同层次的学生在接受能力、学习水平、知识储备等方面都存在差异和区别。不同层次的学生都应该在课堂上学到符合他们认知水平的知识和技能。这样,所有学生都能怀着愉快的心情进行编程学习。
第10课内容,主要介绍变量在编程中的运用,以小猫出题为主线,贯穿整个学习内容。本课内容分为两个部分。第一部分是新建需要的变量,提醒学生输入变量名称时要注意变量的含义与名称表达一致。添加“+”“=”等运算符号角色时,可以在图形编辑器中绘制,也可以字符的形式输入。第二部分是对变量进行赋值,将随机数赋给变量,并将输入的结果与答案进行对错逻辑判断,是本课知识的难点之一。
学生已经掌握了编程基础知识,为本节课有关变量的学习打下了基础。变量是程序设计中的名词,对学生来讲比较陌生,从概念中也难以理解。教师在教学时,应多从生活中举例子,引导学生充分理解变量。学生凭借已具备的数学知识能够理解运算模块中的加、减、乘、除等运算控件,也能将头脑中的数学算式转化为积木块程序。
变量的运用是编程的重点,也是难点,不同层次的学生,能够掌握和运用的程度也不同。教师在教学设计的过程中,需要将问题设置得层次分明,让学生都能学习到相应的知识。
(三)问题的系统性——综合提升
学习编程是一项系统工程,教师在教学设计的过程中,也不应该将学习内容割裂开,应该全面阐述小学阶段应该掌握和能够理解的知识内容。
第14课内容,是编程结合硬件的第一课,本课的主要内容包含两个方面:一是认识开源硬件Arduino,二是学习使用声音传感器。Arduino主控板包括数字口与模拟口,通过这些接口与传感器相连。通过USB连接线,xDing软件可以控制与Arduino主控板之间通信,注意选择正确的通信接口。第一次使用时要下载固件到主控板中。利用声音传感器获取外界的音量值,利用音量值来控制小猫的运动。当传感器获得的声音越大时,小猫的速度就越快。
在学生学习编程的过程中,笔者感受到学生动手实践能力十分缺乏。对于硬件连接,特别是杜邦线的连接等操作,很多学生都做不规范,个别学生还会被杜邦线扎到手,硬件接口的损坏率也比较高,有些明显不该存在的低级操作错误还是有学生会犯。教师应该在开展理论指导的同时,注重对学生实验操作技能的培养。
五、基于问题链的小学编程教学的反思
2022年5月,教育部颁布了新修订的《义务教育信息科技课程标准(2022年版)》。新课标认为义务教育阶段应重视素质教育的培养,以前比较强调人文素养、科学素养,现在更提倡数字素养和信息素养,因此信息科技课程要培养的核心素养包含信息意识、计算思维、数字化学习与创新、信息社会四个方面。小学编程教育需要引导学生,通过体验,知其然,通过学习,知其所以然,实现知识建构、技能提升与素养内化。而知识必须支持素质教育,技能必须服务素养,知识不能只局限在知识本身,技能不能局限于技能本身。基于问题链的小学编程教学,或多或少还存在这样和那样的问题,笔者将在以后的教学中去改进和提高,从而使其更加有效地服务于教育教学。