基于KODU程序设计课程的教学实践研究

2020-03-16 19:09郭姝菲
中小学班主任 2020年2期
关键词:程序设计编程程序

郭姝菲

2017年7月,国务院印发了《新一代人工智能发展规划》,该规划明确强调在中小学阶段设置人工智能相关课程,逐步推广编程教育。中小学阶段,人工智能与编程相关课程主要以信息科技学科为载体,主要着眼于培养学生的计算思维、逻辑思维以及问题解决能力。具体来说,这些素养能力离不开学生自身在程序设计课程中的学习积淀与收获体悟。

Kodu作为一款适合青少年学习的可视化编程软件,已经在多个国家得到广泛关注。早在2015年初,上海市虹口区的初中信息科技教师团队就已经开始了对Kodu软件的学习与探索,且在教研员的带领下,编写了教材《跟我学做GAME:KODU程序设计入门》。由于Kodu具有简便、易学的特点,适合作为学生编程学习的启蒙工具,对Kodu程序设计课程进行校本实施与课堂实践的相关研究,有利于充实中小学编程教育、提升学生计算思维与问题解决能力、提高教师专业水平与教学能力。因此,基于Kodu程序设计课程的教学实践研究具有极大意义。

一、Kodu程序设计课程的优势特征

Kodu是一款适合青少年学习的可视化编程软件,已经在多个国家得到广泛关注,也有多个国家的部分学校已经开设了Kodu课程。不同于命令较为冗长、结构较为复杂的VB、C++等编程软件,Kodu以视频游戏的模式介绍编程概念,该语言没有使用教科書中的变量和字符串等抽象名词,而是利用一个3D游戏平台,通过对游戏中动态角色的编排程序,使这些角色做出各种动作。Kodu是一款面向对象的程序编程软件,其操作界面也并不深奥难懂,只需要通过鼠标就能进行操作,利用WHEN…DO…语句即能对对象进行编程,学生操作简便、易学,在分享游戏的同时,体验成功的喜悦,激发学生的学习兴趣,开阔学生的视野。这样画面精致、入门容易、学习有趣的Kodu深受学生的喜爱。

从初中学生的身心发展特点来看,初中低学段的学生正是抽象逻辑思维形成期,相比于较为复杂的VB、C++等编程软件,Kodu趣味程序设计课程更加符合他们的学习与成长需求。加之初中学生接受新事物的能力较强,而Kodu简单灵活,即使没有编程基础也能轻松掌握。

一方面,Kodu趣味程序设计课程有助于培养学生解决问题和逻辑思考的能力。在编程课程中,常常涉及解决问题。每一项编程任务都包括了发现问题—分析问题—将问题分解成各个部分—选择解决问题的方法—用所学的程序编程语言来表达的过程。而这样编程学习的过程,能够培养学生解决问题和逻辑思考能力。加之Kodu具有三维场景和模式化的编程方式,易学易用,是一款适合学生使用的程序开发工具。在教学中,很多零基础的学生也能轻易上手实践,Kodu程序软件规避了复杂的程序语言,通过WHEN…DO…语句的程序编写,实现对象功能的呈现,并在程序编排的过程中逐步形成计算思维。

另一方面,Kodu趣味程序设计课程有助于提升学生的抽象思维能力和发散性思维能力。编程学习其实就是一种语言的学习,如果说学习外语是为了和外国人沟通,那么学习编程就是为了和计算机沟通。因此,学生在学习编程的过程中,更需要一种把抽象化为具象的能力,让计算机能够通过Kodu的程序编排,了解和表达抽象的事物。抽象思维能够在分析事物时抽取事物最本质的特性,培养学生的这种能力可以在解决问题的过程中抓住其关键特征,化难为易,变成计算机可以处理的模型,以较好地解决问题。在具体教学实践中,面对同一问题的解决,却有着不同的方法。因此,发散思维可以从问题的不同角度入手进行探索,从不同层面进行分析,活跃思维,产生大量的、独特的新思想。Kodu程序设计课程不仅要让学生学会编程,更要让其体验程序开发的完整过程,了解计算机工作和解决问题的方式,从而发展计算性思维。本课程就是将信息科技课堂实践经验和资料积累,向课程、教材和教学转化,为Kodu编程教学提供一定的参考。

对于教师来说,Kodu趣味程序课程设计与应用的教学实践研究要以课程校本化为落脚点,同时关注新技术的学习、学科的发展,以学习研修为引领,以教育科研为先导,以教育教学为主阵地,促进专业知识能力与教育教学能力更大的提高。

二、Kodu程序设计课程的实践策略

为了实现课程目标,提升学生的核心素养与教师的专业素养能力,需要在结合Kodu程序设计课程的优势特征的基础之上,对教学实践策略进行提炼。笔者基于自身参与Kodu区本教材编写的经验以及日常的教学实践,对Kodu程序设计课程的实践策略总结如下:

1.基于问题导向 培育学生计算思维

树立现代的教学理念,以促进学生全面发展为根本目标,关注学生在学习过程中分析、解决问题的能力。在Kodu教学过程中,借助手机、IPAD希沃授课助手来进行授课,不随意打断学生的思路,预留更多让学生思考和实践的时间。在初次进入Kodu新世界时,学生第一眼认为和他们平时玩的游戏“我的世界”很相似,有种先入为主的感觉,顺着学生的思路,就直接让学生加载课程资源中的游戏进行玩中学。初尝游戏体验后,学生对Kodu里的世界,有了新的认识,提出了更多的问题。诸如,这里的场景是如何搭建的?如何做到有山有水有树有动物的?这个主角是怎么说话的?为什么这个角色能行走呢?……

学生带着问题进入课堂的学习,教师则将问题进行有序的归类,根据不同的课堂设计分别提出相应的问题,学生通过解决问题来获得新知,有些同学则是大胆地操作,反复尝试,最终获得所需的程序编排效果,也有些同学则通过课程资源中的实例查询操作方法,不同的方法和手段只为同一个目的,解决自己的困惑,从老师引导学生发现问题,到共同分析诊断问题,直到学生通过探究尝试解决问题,逐步培养学生问题意识、批判精神,提升其逻辑思维能力和问题解决能力。

当学生面对他们从没接触过的编程软件Scratch的一道练习题时,接触过Kodu课程的学生与不了解任何一款编程软件的学生存在着明显的差异,这不仅仅来自知识迁移带来的增益,更多的是通过Kodu学习带来的问题解决能力、逻辑思维能力和学习能力的提升。

2.选择动态分组 推动学生个性成长

小组合作一直是我们常用的教学手段,让程度不同的学生组队合作,不仅提高了学习的效率,同时也增强互帮互助的意识,懂得协作的重要性。在Kodu课堂中,教师尊重学生对分组的需求,引入了动态分组的机制,即根据教学内容和任务的不同进行合理化分组。

对于一个小作品的制作初期,不少学生更愿意选择“单干”,从迷宫场景的搭建、角色的设置、游戏规则的制定,到程序的规划设计,全部是独立思考、独立完成,其间他们有一种对作品完全的掌控权,当作品完成时,他们往往会获得极大的成就感和幸福感。随着作品完成度的提高,学生更愿意组成能够互助测试作品,为对方提出修改建议的讨论小组或是分享小组,达成一种互助关系或分享形态。

当学习任务和制作难度不断提升时,一种分工互助式的小组形态更利于提高作品的完成效率,基础薄弱的学生在组内能获得更多的帮助,技能精熟的学生在组内俨然成为了“team leader”,提升了领导力、沟通力和自信心,组员们能够从讨论、思辨、互助辅导、头脑风暴、据理力争、妥协中形成个人特色,獲得个性成长。

教材第八单元《自主游戏项目的设计与开发》就是为学生学会分组而设计的。当学生拿到任务清单时,又提出了自由选择队员的要求。从分组中可见,带头组队的学生会将平时志趣相同、操作能力较强的同伴组成新的团队,进行项目经理、游戏设计师、美工、程序员等角色的合理分工,通过团队合作完成游戏的设计与开发。然而剩下的同学也不甘示弱,组成新的团队,虽然团队间存在着差异,但每组同学都团结一致为完成自己的游戏项目努力。可见动态分组机制的存在,使得学生课堂中交流密切,促进认知发展与“自我”成长的整体化学习体验,从而更大程度上激发了学生的发散思维。

3.坚持以评促学 提升学生思辨能力

课堂评价不仅是老师对学生课堂学习有效性的评价,还应体现学生在学习过程中的评价等。在Kodu趣味程序设计自主拓展课的评价中,除了体现其过程性的记录以外,还应注重学生的自评、生生的互评等,特别在游戏测评阶段,发挥学生间的评价,尊重每一位学生评价,积极从评价中吸取经验,改正其缺陷,从而为学生核心素养的形成创造良好的条件。以下是学生在一次游戏调试与修改时的片段摘录:

测试时应注意的方面:

(1)小酷(主角)是否能根据程序设置的操控方式运动?

可以。

(2)障碍物是否能达到设计要求?

不能,障碍物较少;可以将迷宫的复杂度提高,增加障碍物的功能。

(3)是否设置了游戏的限制时间?时长是否合理?

没有游戏限制,我认为在时间上面可以将时间限制一下,如果时间一到,还未找到出口,就代表输了;若时间还未到就找到出口,则代表赢了。

从以上的学生游戏调试与修改评价表中,我们可以发现试玩者客观的评价,以及合理性的意见,让游戏制作者在后阶段作品的修改更有方向性和目的性。

三、研究成效与展望

对Kodu程序设计课程进行的教学实践研究基于课程本身的优势特征,不仅有利于提升学生的核心素养,促进学生在编程学习中的积极参与及反思实践;还有利于提升教师在学科专业领域能力与教育教学能力,即这一研究成效具有双向、共生的特点。

1.教师的转变

在新形势的教育背景下,教师的教学任务不单单是给予知识的传授,更重要的是让学生掌握学习的方法,在乐中学,从而激发学生的学习兴趣。因此,现在课堂不仅仅是老师的舞台,更是师生间互动的平台,有时更是师生间的共同学习平台。在不断地教学研究过程中,自身的能力也得到了一定的提高。

2.学生的转变

对于初中生来说,爱玩游戏是他们的天性。通过游戏化的学习,站在设计师立场的游戏程序设计,调动了他们的学习热情,使他们发言踊跃、讨论热烈。对于从不玩游戏的教师来说,在课堂上更愿意倾听学生的叙述和设想,保留他们的建议和想法,作为课堂实例进行授课的延续,让他们在这个舞台上充分展示自己的才能,一方面提高学生的学习积极性,另一方面提升学生的成就感。

特别是有三位我教过的八年级学生,他们从七年级选上Kodu程序入门以来,从最初的初学者,到现在的“小老师”,能随时解决课堂中学弟学妹们提出的问题,在学校科技节“我设计游戏,你来玩”的活动中大显身手。从内容策划、游戏设计到活动的主持,吸引了很多低年级学生来参加活动,其中“迷宫大逃亡”的闯关游戏还风靡一时,收获众多粉丝。

3.研究展望

实践过程与研究路径具有螺旋上升的特点,笔者也在厘清研究问题、探究解决方法的过程中不断发现新的研究触角。一方面,如何在Kodu的学习中为高中VB或Python程序学习做好铺垫和对接;另一方面,初中学段目前已经开始Scratch内容的学习,那么如何处理Scratch和Kodu之间学习的关联与结合,使之相辅相成、相互促进,这将是笔者接下来需要思考的问题。

猜你喜欢
程序设计编程程序
基于OBE的Java程序设计个性化教学研究
项目化教学在Python程序设计课程中的应用
C++程序设计课程教学改革研究
医学专业“Python程序设计”课程教学改革总结与思考
玩游戏学编程,Blockly Games上手玩
给Windows添加程序快速切换栏
纺织机上诞生的编程
简化化学平衡移动教学程序探索
编程屋完成数百元万天使轮融资
学编程,先画画