您好,为了让您有更佳的体验,建议您换用IE浏览器来运行系统!

  
教育平台工作室日志202643的日志

Scratch程序设计课程培养高职学生创新能力的探索

已有 275 次阅读 2016-10-14 12:58

中国教育信息化在线 2016-05-19 14:47

创客教育重在实践,贵在分享,“中国教育信息化在线”每周四开设“创客专栏”,主要分享推广教育创客们的实践经验,与大家一起见证创客教育的更大发展。欢迎踊跃投稿,优秀案例将有机会发表在《中国教育信息化》杂志上。选题讨论QQ:33143468;QQ群:102889104。

Scratch在青少年创新教育中的应用现状

Scratch是美国麻省理工学院专为儿童与青少年开发的一种简易的图形化编程软件。它不涉及代码编写,而是通过像搭积木一样的方法,利用“控制”、“动作”、“外观”、“声音”等模块中的积木,做出自己的动画故事或者交互游戏并轻易分享至网络。Scratch是为了青少年发展信息社会所需要的技能而设计的。当青少年创造并分享他们的作品时,除了可以学到数学与电脑的知识,同时也能激发创意、系统思考与团队合作。

在美国,不仅中小学广泛开设了Scratch课程,哈佛、加州大学伯克利分校等世界名校的计算机基础课程也推荐学生用Scratch作为编程入门软件。近年来国内中小学的Scratch研究红红火火,也有一些高校用Scratch进行计算思维和创客教育的探索。

在高职计算机公共课开设Scratch教学模块的探索

Scratch搭积木式的程序设计方式,更接近脑海中流程图设计和组织的思维方式,能够让学生克服一般编程入门课程敲代码、调试代码的枯燥无味,让不同专业的高职学生可以将注意力集中在创作中,让学生体验艺术与科技结合之美,培养学生的创造力。Scratch不仅是教学生编程,更重要的作为一个创作和表达自己的数字化工具,能够培养高职学生的创新能力和工程思维。

创客教育采用面向真实问题解决的项目探究学习,整合STEAM(数学、科学、工程、艺术、技术)等的学习方法与素养,培养学生创新意识与实践能力。因此,笔者尝试以创客教育的方式进行教学。

在教学内容的选择上,笔者尽可能涉及Scratch软件的“动画故事设计”、“艺术作品”(包括音乐、美术)、“游戏创作”、“软硬件互动”(包括键盘鼠标控制、传感板及其他设备)等范畴的应用。以面向问题解决的项目设计的方式,通过经历构思——编程实现——排错——完善——发布分享的完整过程,培养学生的创新思维、规划思想与综合应用能力。

在教学主线设计上,在进行不同主题作品创作的同时,笔者注重用Scratch软件进行程序设计思想的训练,让学生掌握一些基本的程序设计思想。包括掌握顺序、选择、循环三种程序结构;会使用变量、链表(数组)方式来控制程序;了解角色间如何进行通讯。在编程、试错、调试、完善的程序设计过程中培养计算思维。

为了加强学生的动手能力,教学中还安排了用传感板硬件进行互动媒体制作的内容。

根据课时安排,Scratch课程安排的具体学习内容见表1如示。

Scratch程序设计课程培养高职学生创新能力的探索

Scratch程序设计的具体案例

1.抽签游戏

如何在Scratch程序设计中的具体教学中培养学生的创新能力与工程思维?教师始终要以学生为中心,引导学生以自主探究的方式掌握所需的知识,同时训练学生的抽象、推理、归纳、迁移等思维能力,指导学生综合运用习得的知识进行项目制作。以第五课《抽签回答问题》的教学过程为例来看思维训练过程。本课通过“分析问题本质——学习新知识——运用新知识实现基本功能——以游戏设计理念提升用户体验——问题的不同实现方法或拓展”的学习过程,训练学生的思维与能力。

首先教师引导学生发现:在生活中,我们常常需要处理数据,其中又经常处理同一类型的数据。例如,今天学生饭堂会采购哪些蔬菜,家人想购买2千元以下的手机有哪些选择等。然后布置编程任务,为学院的新生联欢会做一个抽签程序,该程序能抽取任一新生回答问题。接着让学生分析归纳出本任务的实质,是将全部学生的姓名数据存放在一起,并随机抽取其中的一个数据。

教师讲解Scratch程序设计的新知识,以一个盒子和一组盒子来比喻变量与链表,介绍Scratch中与链表有关的积木,各个积木的功能让学生自己去观察与探索。

Scratch程序设计课程培养高职学生创新能力的探索

继续让学生自己发现如何往链表中输入若干个学生的姓名,并找出能显示任一学生名字的积木组合。编写出最简单的抽签程序。

Scratch程序设计课程培养高职学生创新能力的探索

在此阶段要给出充足的时间让学生自己探索建构自己的新知识。

引导学生从设计的角度来修改程序的表现形式。虽然用直接点击按钮弹出一个学生的名字等简单方式也能完成任务,但是并不符合软件或游戏的设计思想,如果改用更有趣的形式,会更加吸引人。让学生尝试找出各种表现形式,这时他们会想到水晶球、砸金蛋、转盘等各种形式,以学生举出的魔棒点击水晶球为例进行探索。

首先分析魔棒角色的两个动作,一是跟随鼠标移动,二是能够在鼠标按下时变换魔棒的造型。

Scratch程序设计课程培养高职学生创新能力的探索

接着要分析另一角色水晶球的动作,在碰到魔棒,并且魔棒单击时要停止颜色的变化,这里引导学生将两个条件同时成立的积木组用更简单的逻辑关系“且”来代替,这样更直观易读。

在分析角色任务后就是学生自己的探索时间,一定要留给学生足够的探索时间。学生需要在调试程序中发现存在的问题并不断完善,这与现实工作中的项目开发类似,从完成最简单的功能再逐步优化至完美实现目标。

这样的一节课,以日常学习生活中常会碰到的任务为引领,自己探索如何利用链表来做一个简单的抽签程序,在完成基本程序后,进一步完善设计,以提升用户体验,并在调试中完善程序,体验项目制作的完整过程,在编程中锻炼逻辑思维和创新能力。

为了进一步训练学生的创新能力,这节课也可以根据不同院系学生的实际情况拓展内容,介绍一些创新思路的技巧。例如,不同的表现形式可以用不同的编程方式来实现,除了用链表编写抽签程序外,幸运转盘和掷骰子等数量较少的数据可以用切换随机造型来实现。又如链表可以有更多用途,除了可以做抽签程序外,还可以用来记录输入的数据,制作一些互动游戏如星座算命等,让学生明白算命游戏的本质。链表还可以用来编写计算器等难度更高的程序。有兴趣有能力的学生可以利用业余时间进行进一步的探索。

2.控制传感板的传感器

Scratch不仅可以让学生用直观有趣的方式学习程序设计与软件开发,也能够通过传感板获得光线、声音等真实环境的数据,拓宽学生对信息处理的认识,能让学生初步获得机器人制作的体验。

在第七课《传感板光感控制》中,利用开源的Scratch兼容感测板,学生可以进行简单的互动媒体制作,在学习编程同时,对自然信息采集处理有更深入的了解。

笔者最初使用的是在淘宝上购买的兼容感测板,能基本满足简单的感测编程要求,但也有USB接口及四个扩展接口容易接触不良等不足之处,而且没有控制机器人输出设备的功能。

Scratch程序设计课程培养高职学生创新能力的探索

在本课中,学生首先要学会观察和记录在不同光线环境下光线传感器的参数值,为下一步的编程做好准备。接着要学习使用多分支语句让虚拟世界中的窗帘根据光线的变化处在全拉上、半敞开,全拉开三种状态。通过这个程序,不仅进行了编程训练,还体会到用真实环境的信息采集来控制虚拟角色的互动媒体的魅力。

Scratch程序设计课程培养高职学生创新能力的探索

对于有兴趣进行软硬件结合程序设计的学生,还可以利用传感板上的声音、滑杆、按钮传感器和四个可以接电阻式传感器的扩充口编写更复杂的游戏和互动媒体程序,进一步体验创客的乐趣。

在教学中,学生正是通过学习编程,来实现故事、音乐、美术、游戏等一系列主题作品,循序渐进地掌握编写程序的知识与技能,并养成构思实现完善的规划思想。最后,通过综合项目的制作和展示来进一步提升学生的团队合作、工程思维等综合素质,并进行了初步的感测数据控制程序的尝试,为更深入的学习打下了基础。

在整个课程的学习中,学生始终保持着很高的学习积极性。在进行综合作品制作和展示时,小组合作,制定分工,认真讨论,排除困难,反复修改,最终精彩地展示了学习成果。

结语与展望

将基于图形化、积木化编程方式的Scratch程序设计课程作为公共计算机课程模块,对培养高职学生的创造性思维有着重要价值。构思和实现各种故事、音乐、美术、游戏主题项目,培养了创新思维;编写作品的过程中,将一个复杂的问题先简化,实现基础功能,再逐步增加功能,有助于学习如何分析问题、分解问题;而分支、循环、数组、广播、随机数以及在编程中需要的数学映射等知识的灵活运用,训练了逻辑思维与计算思维能力;从构思到编程实现到排错完善的过程,形成了系统思考的能力;团队合作分工完成综合项目则积累了团队工作的经验,也提升了综合应用能力。(作者:汤如松,深圳市职业技术学院计算机工程学院)


路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist

`