如何在编程软件上将两个角色合二为一?

未来的教育、学校、课程会呈现哪些样态?随着信息技术的不断发展,社会对未来人才的评价标准也在不断发生变化。重庆市树人景瑞小学校一直在思索如何培养面向未来的人才,如何构建面向未来的校本课程。

——————————————————————

随着新一轮科技与产业革命的兴起,社会发展对人才的需求也在悄然发生变化,学生是否具备科学探究能力、信息技术能力以及创新意识、批判性思维等素养变得至关重要。重庆市沙坪坝区树人景瑞小学校充分利用信息技术,构建了面向每个学生的“SMAC课程”(Social:社交化;Mobile:移动化;Analytic:大数据分析;Cloud:云计算),为培养学生的创造性思维、科学思维、计算思维、工程思维、设计思维、量化思维等创造了空间,也为小学校本课程的构建提供了新思路。

学校将信息技术、课程和学生进行深度融合,根据学生成长需求和未来人才需求,对课程进行整体规划,形成“一专两翼”的课程体系:以学科素养为导向的序列型SMAC专业课程、以学习需求为导向的智能型SMAC拓展课程、以项目式学习为导向的开放型SMAC活动课程。

SMAC专业课程:实现学生全覆盖

学校的SMAC专业课程以年级为单位,运用数字设计、3D打印和物联网科技,融合科学、技术、人文、艺术等内容,在固定的时间和地点开展源代码编程、创客教学,实现全校学生全覆盖。

学校各年级均开设了编程课,每周两节。不少学生都在课堂上利用编程工具进行各种发明创造,成为一个个小发明家。“这是我发明的智能桌椅,大家做作业的时候就可以根据智能提示调节坐姿。”六年级学生艾佳曦向大家介绍自己在智能控制课上完成的作品。艾佳曦和小伙伴通过看新闻了解到青少年的近视率逐年上升,于是就想到在桌椅上安装智能系统,同学坐姿不正确时,系统会自动语音警报。此外,桌面还可以安装智能台灯,房间里的光线太强或太弱,灯光均可自动调节。这款智能作品的所有程序设计都是艾佳曦和他的团队共同编写的,为了完成这些程序,他们整整忙碌了一个学期。

在学校创客中心“兰芽芽梦工厂”,四年级学生以“龙猫的家”为主题,在3D软件中进行构思和建模。他们发挥奇思妙想,设计了树桩做龙猫的桌子,设计了大南瓜做龙猫的汽车……学生分工合作,有的进行设计,有的计算物品高度,有的负责3D打印及拼装。一个主题内容的学习不仅涵盖了数学、科学、艺术等方面的知识,还包含了对学生协作能力的培养。通过一个星期的努力,学生终于完成了作品设计、模型制作等工序,还形成了一件件富有创意的稚嫩作品。在这个梦工厂,学校珍惜每一个学生的灵感,接纳他们提出的所有问题,也包容他们出现的错误。当学生看着自己设计的作品被一件件打印出来,又一件件开始充实空间,最后搭建起独一无二的“龙猫的家”,他们的想象力和创造力得到充分激发,小科学家、小工程师、小艺术家在这里茁壮成长。

SMAC拓展课程:满足学生多样化选择

拓展课程以学习需求为导向,根据学校特色、师资构成等情况,从智能控制、智能编程、智能采编、智能应用四个维度进行课程设置。智能控制包括FEG智能车、智能飞行等,智能编程包括python编程、编程机器人等,智能采编包括H5页面制作、智媒体工作室、动画制作等,智能应用包括VR应用、meast趣味拼搭、创意音乐等;56门拓展课程满足了学生的多样化选择,激发他们对于科技创新创造的兴趣。

这些拓展课程由学校教导处根据时代发展需求和学生需求确定,授课教师全部由本校教师担任。教导处发布课程后,教师根据自己的特长或爱好认领。认领课程后,学校一是邀请企业技术人员、相关领域专家到校对教师进行一对一系统培训,解决教师教学中的困难;二是以主题教研方式开展SMAC教学研讨,围绕教学策略、资源开发、学生指导等主题开展线上线下相结合的集体研讨,鼓励每个教师分享自己的教学资源和教学经验。教导处还会邀请专家组成考核小组,就每门课程的学期教学计划进行考核,教师以答辩的方式详细阐述下期课程目标、课程内容、课时安排、过程性评价方式、总结性评价标准等。通过答辩的教师可以顺利开展课程,未通过答辩的教师将在专家指导下对课程进行调整、再答辩。每学期开学前,学生在网络空间自主选课;开学后,学校根据学生所选课程开展走班教学。

五年级学生林薇伊选择了智能控制课程。林薇伊的外公喜欢种植花草植物,晴天和阴天、气温的高与低,花草浇水多少也有差别。受此启发,林薇伊结合自己所学知识,利用光能转换设计出“太阳能自动浇水器”。当晴天太阳光强烈时,自动浇水器的水流速度较快;而阴天和雨天时,浇水器的水流速度就较慢或停止。

戴悠恬还是一名二年级学生,在生活中善于观察思考的她在智能应用课程上设计了作品“水钟”。“水钟”的原材料是两个饮料瓶和戴悠恬自己制作的闹钟表盘以及驱动轴、联动轴等,通过多重作用力的变化,“水钟”把水滴的重力势能转化为指针的动能,让指针匀速运转起来。

SMAC活动课程:让未来生活更智慧

活动课程采取项目学习方式,学生围绕一个主题,以任务为驱动,展开全校性集体探究实践活动,组织全校学生进行成果展示。每学期的科技节是学生的一场校园狂欢节,他们会将自己设计的作品搬到操场上进行展示,从两米高的“智能屋”到3米多的“体操机器人”,每一次展示都让人耳目一新。

学校第六届科技节以“具有重庆特色的未来城市”为主题,鼓励学生关注生活,设计与未来城市相关的智能应用产品,让未来生活变得更智慧、更便捷。于是,学生的小手牵着父母的大手,开启了创想之旅。

重庆是著名的“山城”,道路复杂,交通压力很大。为解决城市交通拥堵问题,一年级“彩蝶兰”小组的学生和家长一起,到机场、地铁站、公交站、火车站等交通枢纽,切身体会重庆交通枢纽的运作方式,了解到现阶段部分站点换乘不方便,机场、火车站停车困难等问题。他们设计了融合公交、轨道、私家车、高铁、出租车、飞机等多种交通出行方式为一体的综合交通枢纽,还为乘客提供三维全息投影和LED风扇、刷脸乘车、智能导航、环境安全监控、智能停车等各种服务。

为保障桥梁安全,三年级学生设计了“桥梁遇险智能检测系统”。学生希望遇到大货车严重超载或有行人通过时,预警系统可以自动感应并响起警报,阻止其继续通过桥面。这个想法获得大家的支持,其中一个学生的父亲是桥梁工程师,他利用自己的专业所长,协助学生一起绘制图纸、配备材料、设计构造,一步一步将畅想变成现实,最终在科技节上将产品完美地呈现出来。

为了响应垃圾分类号召,解决居民垃圾分类难题,六年级学生设计了智能垃圾箱。这种垃圾箱平时隐藏于地下,地面上设置独立的垃圾箱入口,并安装语音识别系统,预设厨余垃圾、其他垃圾、有害垃圾、可回收垃圾四类垃圾信息。当投放者说出垃圾名称时,系统会控制相应的垃圾桶自动打开,让居民不再为复杂的垃圾分类而烦恼。

垃圾桶、水杯、床垫……这些不起眼的生活物品也都成为学生和家长热议的话题,一个个奇思妙想不断迸出。“加入温度自动感应系统让床垫冬暖夏凉”“在水杯上设计一个温度感应器,让喝水更舒适”……未来的智能生活就在一个个稚嫩的小脑袋中勾勒描绘着,学生俨然成了未来之城的小主人。

SMAC课程评价:让每一个学生都能“被发现”

SMAC课程重在引导学生经历真实的情境,综合运用知识,形成解决实际问题的能力。因此,学习过程的评价尤为重要,学校构建了过程性评价与总结性评价相结合的课程评价体系。

过程性评价运用学校“综合素质评价系统”对学生在学习过程中的参与度、知识掌握程度、任务完成情况等进行多元评价,时时、事事记录学生学习的全过程,涵盖了学生的校园学习、家庭活动以及社会实践等数据。评价系统APP安装在教师和学生的平板端以及学生家长的手机端,实现评价主体多元化。多元化的过程评价能有效激发学生的学习兴趣,也能帮助教师更深刻更具体地了解学生的学习效果。

总结性评价由三部分组成:一是SMAC专业课程,学校成立考评小组,根据课程目标在每学期末对教师和学生进行综合考核;二是SMAC拓展课程,考评小组在课程结束后对每个学生进行能力考核,获得优秀的学生下学期可以选择其他课程,未获优秀的学生下学期继续学习当前课程;三是SMAC项目课程,学校每学期开展科技节活动,学生将自己的作品搬到操场进行展示,全校师生和学生家长对展示作品进行评价。

五年级学生小亮是一个成绩平平、性格内向的孩子,如果不是评价系统的分析报告,谁也发现不了他竟在创新创造方面拥有不凡的潜质。班主任查看学生个人分析报告时发现,小亮的智能应用课程、编程课程都能得到优秀,而在日常学习中这些课程的得分也远远高于其他课程。在学习这些课程时,小亮不再腼腆,经常自荐为组长带领同学进行创作,小组同学在评价系统中为他留下许多好评,他也经常将自己课上课下制作的作品上传到评价系统之中。发现了小亮的特长,学校推荐他参加全国大赛,他也不负期望获得了全国编程比赛一等奖。过程性评价配合总结性评价,让学校更加全面关注到学生成长的全过程,让每一个有特长的学生都能够“被发现”。

“SMAC课程体系培养了学生的创新创造能力,为小学校本课程的创新发展提供了有效路径。”树人景瑞小学校校长李华对此信心满满。

(作者单位系重庆市沙坪坝区树人景瑞小学校)

《中国教师报》2021年04月14日第6版

}

hd官方版是一款专业的编程教学app,用户下载之后就可以通过手机端开启学习模式,丰富的课程内容可以满足不同学生的需求,还有超多练习内容帮助大家巩固所学知识,还有优秀学员展示板块,记录大家的成长。欢迎感兴趣的用户下载猿编程hd使用。

猿编程hd是推出的一款少儿编程教育软件,软件拥有全面的课堂内容,高效的课堂模式,丰富的赛考活动等等,可以帮助孩子更好的学习编程。

1、因材施教:少儿编程研究院精心打造课程,以python语言学习为主线,8级系统化课程体系,专为7-12岁孩子研发

2、师资过硬:明星教研团队,曾获2个ai领域水平测试全球第一,严选优质师资,专业辅导老师个性化伴学,家长安心托付

3、学练结合:指法练习熟悉键盘,线上实验室自由编写代码,参加代码比赛还可获得奖励

4、先进理念:全球认可的项目制学习理念,结合生活场景,启发孩子自主学习探索

1.课堂内容全面:课程内容的设计理念上将计算思维全面应用到了编程知识学习的各个环节,在游戏、数据分析、人工智能等专业领域,孩子都将收获满满。

2.课堂模式高效:课程首次采用了ai互动+真人直播的学习模式――互动动画课学知识,直播项目课学应用。

3.赛考活动丰富:以双测评体系为基础,组建多元化的赛考体系。中国电子学会组织的python语言水平测试、中国自动化学会组织的人工智能核心素养测评(aice)、蓝桥杯等,用户根据自身情况拥有更多选择。

4.系统平台强大:日常学习使用的ide平台,通过新算法的帮助在代码运行速度上实现了重大提升;班主任通过ai互动课的监课平台,随时发现学习有困难的学生,并给予帮助。

5.师资过硬:明星教研团队,数万节直播课经验沉淀,专业班主任个性化伴学。

1、名师实时指导,可以让你的孩子在一步步的训练中拥有更系统的思维。

2、能够提高幼儿的思维能力,采用趣味ai互动课堂来进行教学。

3、改善孩子的学习习惯,让孩子的记忆能力和逻辑推理能力都得到充分发展。

软件无法下载或下载后无法使用,请点击报错,谢谢!

请描述您所遇到的错误,我们将尽快予以修正,谢谢!

}
人的心智活动透过简单的概念而发挥它的力量,方法主要可分为三种:第一,把数个简单的概念组合成一个复合的概念,于是所有复杂的概念成焉。第二,将两个概念,不论简单或复杂,不将它们结合,而是同时并列在一起观察,如此就能得知何为相互关联。第三,把某些概念,与伴随它们其他真实存在的概念区隔出来,称为这抽象艺术化,所有一般化,概化的概念皆是由此而生 - 约翰·洛克《人类理解论》
在少儿编程/硬件编程教育领域,硬件编程有两种风格,我将这两种风格分别称为灌入式交互式

我相信就编程教育而言,交互式优于灌入式

这篇文章我们将讨论这两种编程风格给学习者的编程体验 以及心理状态所带来的影响。所谈论的很多内容,在编程语言的发展历史中都被反复讨论过。

本文中,我们只讨论图形化硬件编程,但得出的结论并不局限于此

灌入式阵营有名的图形化项目包括:

事实上,几乎所有传统的硬件编程都是灌入式的

我们以为例,来展示灌入式编程的编程方式.

在中,通过拖拽积木,拼搭出我们的程序,接着将程序下载到本地(程序在线上完成编译),最后将下载的文件拖入micro:bit,即可运行。

将代码/固件灌入硬件中,代码(代码编译出的固件)将在硬件运行。我将这种编程风格称为灌入式

交互式阵营的图形化编程项目有:

我们以为例,来展示交互式编程的编程方式.

在中,你同样身处积木化的编程界面里,通过拖拽积木,拼搭出所需的程序,点击运行,cozmo即可按照程序的逻辑运行。

程序运行在ipad/手机上,每个积木在实际执行的时候,将消息发给cozmo,从而控制cozmo,这是我将这种风格程序成为交互式的原因

在中一个非常惊艳的编程体验是:如果你不知道一个积木有什么作用,你不必去翻说明书,你只需要点击一下这个积木,cozmo立马执行这个积木的逻辑,你可以直观地理解陌生的积木。交互式编程所具有的及时反馈特性,鼓励学习者去探索。这是交互式编程给学习者心理上带来的影响之一。

者(如皮亚杰、艾伦凯、派普特)应该会喜欢这种风格

如果你熟悉scratch,你会发现这是一种典型的scratch风格(对象响应消息,很)。关于scratch风格和blockly风格的比较可以参考我之前的文章:

在此我们来对比分析一下灌入式交互式各自的优势

灌入式阵营可能列出的优势有:

  1. 灌入式可以离线运行,只需要将代码烧入进去,即可脱离编程工具
  2. 灌入式将带来优于交互式的实时性
  3. 灌入式因为需要generate代码,学生可以查看代码

由于我拥护交互式编程,所以我准备在下文里,反驳灌入式的优势,并指出交互式所具有的优势。如果你不赞同,欢迎来信反驳,观点合理的话,我会及时更新到本文,如有必要,我们也可以使用来进行辩论

我们针对上边灌入式阵营提出的三条优势,逐条反驳

灌入式可以离线运行,只需要将代码烧入进去,即可脱离编程工具

这个论述本身并没有需要反驳的地方,它只是陈述了一个事实,在此我想提出的是,对于教育而言,离线运行不是很重要的特性,如果是工业级的项目或者解决具体问题的硬件产品,离线运行可能是重要的,但对于教育项目而言,我认为这个特性并不重要,如果你实在不愿意一直开着电脑,你可以把上位机运行在树莓派里,若嫌贵,可以使用荔枝派(只要9块9哦)。但需要提醒的是,为了得到离线运行的特性,我们很可能会失去交互性(这个问题不是很好谈论,如果需要,我们之后专门来说说这两个特性在什么情况可能冲突,而不可兼得)。

灌入式将带来优于交互式的实时性

和上一条观点一样,我认为实时性在编程教育中并不重要。我将离线运行实时性视为一种对机器性能的优化,前者节约资源、后者节约时间,但这种节约下来的时间,短得也许人类不能感知。我承认在一些竞技类的比赛中,实时性是至关重要的,但在教育中,尤其是低龄化编程教育中,被教育者是这件事的核心,我认为这些特性并不重要,尤其是考虑到这些特性可能和交互性冲突

灌入式因为需要generate代码,学生可以查看代码

给用户呈现积木所对应的代码,是个帮助用户从图形化过度到文本编程的好办法. 但generate代码这件事并不限于灌入式,交互式的编程界面里,虽然你并不需要generate代码,但如果愿意,完全可以为每个积木生成对应的代码,而且可以是任何语言,任何抽象粒度灌入式阵营的小伙伴可能会反驳说,你们generate的代码并不是真正用于运行的。我会回答说: 对,我恰恰认为,不该把真正执行的代码generate出来给用户看。积木之所以是个好工具,正是因为它能自如地隐藏复杂度,暴露出合适粒度的概念颗粒,积木并不只是帮助我们省去记忆语法规则,更重要的是,它允许我们根据学生所处的阶段,给予他不同抽象程度的积木。我很喜欢来自lisp社区的忠告:表达你的意图,而不是操作过程,这样有助于我们能站在更高的抽象层面上

关于这一点,给了我们很好的示范,一个学习者,在里在拖拽了两个积木之后,他看到页面里愤怒的小鸟往东飞一步,接着又往北飞一步,最后成功击中了小猪。

如果学习者愿意,他可以看看与积木等价的代码:

我们看到,这些代码隐藏了很多实现的细节,你也许要抱怨说在欺骗学习者,这并不是真正运行的代码,真正的代码是由js在操控svg的元素,但你确定你要给出这个粒度的东西吗?真正的代码也许是一串.... 我认为平台给出合适抽象粒度的积木在编程教育里是至关重要的

就这点而言,目前很多灌入式的图形化编程并不适合编程教育,尤其不适合少儿编程,他们直接把驱动硬件代码包装到积木下就了事了,积木颗粒在抽象程度上与硬件文本编程无异。如何设计出合适抽象粒度的积木块,不是个简单的问题,我认为这块的从业者都该多看看cozmo和makecode

反驳完灌入式的优势,接着我们来谈谈交互式的优势何在,我先简单列出,之后逐条陈述

  1. 软件编程和硬件编程,不必区分,虚拟人物与现实硬件能彼此联动

罗列完交互式的优势后,我们来逐条陈述它们.

我认为这一条,对编程教育是至关重要的。

我们从REPL(Read-Eval-Print-Loop)说起,最早为我们带来。REPL是个交互式的编程环境,用户输入的表达式及时被求值运行,并输出,这对于学习一门新的编程语言有很大的帮助,因为它能立刻对初学者做出回应,所以这个概念被移植到很多编程语言环境里(Python, Scala , Java(since jdk-9)...)。这种交互式的编程环境使得探索性的编程和调试更加便捷,因为“读取-求值-输出”循环通常会比经典的“编辑-编译-运行-调试”模式要更快,这两者的差异很像交互式灌入式的差异。我自己使用REPL的一个强烈感受是,在REPL环境中(如ipython),我更乐于探索,对于不懂的api,我会直接做个实验,看看效果,获得直观感受。REPL鼓励每个人在探索中成为自己知识的构建者。而这点正式是早期致力于推广少儿编程的先驱们(艾伦凯、派普特)所追求的

我将硬件编程里的交互式编程方式,视为一种硬件编程的REPL。如同我在前头举例说的

在中一个非常惊艳的编程体验是:如果你不知道一个积木有什么作用,你不必去翻说明书,你只需要点击一下这个积木,cozmo立马执行这个积木的逻辑,你可以直观地理解陌生的积木。交互式编程所具有的及时反馈特性,鼓励学习者去探索系统。这是交互式编程给学习者心理上带来的影响之一。

对教学和平台而言,及时的反馈也能带来诸多好处,有了来自硬件的反馈信息,我们可以在平台中给出更多的提示信息,来指导学生修正错误,或者引导他抵达目标,目前国外社区已经有这块的试水者,我正在关注,之后有机会专门写一篇文章。

如果学习者写了一段较为复杂的代码,运行时没有达到预期效果,人们往往无法通过阅读代码找出问题(错误往往揭示了知识或思维盲区),它需要逐行运行代码,看看效果,然后判断究竟是哪一步出了问题,这就是单步调试之所以如此重要的原因,即便对于专业程序员,也是如此。在灌入式中我们无法做到单步调试,因为代码是一股脑灌入硬件的。但交互式允许我们这样做,因为每次都是消息通信,所以编程界面可以逐步地给硬件发送控制指令。如果你观察过学生在code.org中通过单步调试找到问题,并顺利前行,你就知道这个特性有多棒

软件编程和硬件编程,不必区分,虚拟角色与现实硬件能彼此联动

在图形化编程这块,学习者很可能是先学了软件编程,通过闯关式的学习,利用积木控制虚拟角色来达到目标,在这个过程中掌握编程概念。交互式硬件编程允许你把硬件也接入到这些web平台里。如此一来,无论是教学软件还是硬件,平台架构上将毫无差别,学生的编程体验也几乎没有差别。它们学习软件编程所积累的知识完全可以用于硬件部分。

而在创作类平台中(比如scratch),交互式编程允许虚拟角色与物理硬件彼此沟通,你可以自由联通虚拟与现实世界,制作体感游戏和富有表现力的故事。这将为我们带来更高的高天花板和更多的趣味性,从而点燃大家的热情

关于这块的有趣例子可以参考:

交互式还将为我们带来强大的可扩展性,和是很好的两个例子。因为基于消息通信,各个部分彼此解耦,这些系统本质上是分布式的,你可以接入任何东西,在中,硬件方面,我们已经接入了:

AI方面,我们接入了:

  • 一些简单的本地自然语言处理(移植了mit media lab的实验项目)

如果你愿意,你可以将小时候的玩具四驱车接入进来。

天色已晚,明天要早起,这部分就不多写了,之后单独讨论

一旦你理解了这个概念,就可以自己动手去硬件上实现了。

事实上,社区里的交互式项目(如S4A、snap4arduino、s4m)思路基本都是一样的

我把写作的过程都记录在博客里,如果你有兴趣,也可以根据最初的架构,自己实现:

我私下认为基于zeromq的实现也许是目前扩展性最好的,欢迎入坑 :)

灌入式编程可以在一定程度上,也可以实现交互特性,一种策略是采用通讯变量的概念, makeblock的mblock很好地利用了这点

利用通讯变量,你可以让上下位机实现彼此沟通

技术实现的话,也不会太难,在硬件里跑一个独立的通信进程就行,之后通过uart或其他通道与上位机沟通就行

你最好将这种方式视为一种补丁,通讯变量是一种补充策略,通过这种补丁,你无法做到交互式的所有特性,但这依然不失为一种很聪明的做法

}

我要回帖

更多关于 scratch如何让角色随机移动 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信