LEAD阳光

标题: 朱房村儿童计算机(八)课程提纲 [打印本页]

作者: 弓木华    时间: 2012-5-21 23:08
标题: 朱房村儿童计算机(八)课程提纲
本帖最后由 angelisnear 于 2016-6-15 15:03 编辑

授课目标: 主要目标:让孩子学会思考如何使用之前学过的乐跑机器人命令实现预定的 目标 次要目标:教授机器人判断命令 授课内容: 1、完成机器人向前跨栏动作,完成机器人向后跨栏动作,完成机器人来回跨 栏动作 2、时间充足,则引入判断命令if 授课提纲: 1、强调课堂纪律,2' 2、发放打印的打印问题答案连线表,让孩子们做题,格式如下,5' 问题 命令 每个机器人程序必须要有的一个命令 让机器人停止的命令 trun_off() 让机器人前进一步的命令 move() 让机器人左转的命令 turn_left() 用来定义一个函数的命令,函数的作用 是使用一条命令让机器人连续做多个动作, def 这些动作可以是不重复的动作 定义一个右转命令,让机器人做三次左转动作 def ______(): turn_left() turn_left() turn_left() 定义一个前进命令,让机器人连续前进3步 def ______(): move() move() move() 同一种命令的多次重复动作, 可用什么命令简化 repeat 使用一个命令让机器人重复前进5次 repeat(move,5) 使用一个命令让机器人连续左转4次 repeat(turn_left,4) 完成练习后,提问,10' Q1:定义一个命令让机器人左转一下,然后前进一步 Q2:定义一个命令让机器人左转一下,然后连续前进两步 Q3:定义一个命令让机器人连续左转三下,然后连续前进三步 3、演示机器人来回跨栏的程序,说明本节课目标是完成这个程序 老师会演示如何完成前跨栏,演示阶段按照老师提问,同学回答,老师操作 的方式进行 同学们完成来回跨栏 4、演示完成前跨栏程序,目的是演示思考如何达成目标的过程 4.1、第一个命令是让机器人停下来, turn_off() 4.2、首先前进一步 move() 4.2、再前进会撞墙 turn_left() 4.3、前进一步 move() 4.4、右转 turn_left() turn_left() turn_left() 4.5、前进一步 move() 4.6、右转 turn_left() turn_left() turn_left() 4.7、前进一步 move() 4.8、左转 turn_left() 4.9、提问:是不是后面的几次跨栏和第一次一样? 所以我们可以偷懒一下直接拷贝4次就可以了 4.10、上述每一步完成后演示效果 10' 4.11、同学们自己按照之前老师说的步骤完成机器人前跨栏程序15' 4.12、保存程序名为前跨栏,提问是否可以减少命令的数目? 4.13、怎么样定义函数, 10' 首先找到相同的命令段,比如说从第3行到第6行和第8行到第11行相同 ,那么我们就可以为第3行到第6行定义一个函数 第二步定义函数,函数要放在所有命令前定义,想一个函数名字,比 如说AAAA,那么可以定义函数了。 def AAAA(): 第3行 第4行 第5行 第6行 第三步就是使用定义的函数名替代所有和第3行到第6行相同的命令,直 接删除这些命令,写上AAAA()就可以了 4.14、同学们看一看前爬栏程序哪些命令可以定义成一个函数呢? 孩子们回答后,大家开始定义函数,简化程序吧。10' 4.15、怎么让机器人往回跨栏走呢? 15' 首先要让机器人怎么动?调个方向对不对? 然后引导大家想象机器人要怎么往回跨栏, 大家再想下前跨栏是怎么走的,与后跨栏有什么区别呢? 是不是只要调换下前跨栏中一些命令的顺序就可以了 大家写个后跨栏的程序吧 4.16、机器人是不是回到最开始的位置了,但是有点不一样?3' 对,方向不同,要再转回来,就变成跟一开始一样了 4.17、有没有同学想到怎么样让机器人来回来回的跨栏呢?10' 之前说过相同的一段命令就可以定义一个函数代替,大家想想每个来回是不 是都是相同的一段命令。现在我们是不是可以定义一个函数来表示一次来回 跨栏了呢? 4.18、定义函数 4.19、使用repeat让机器人来回跑个几次 助教要求 1、按照授课流程完成来回跨栏跑程序 2、观察孩子的闪光点,并提醒主讲加以表扬 3、带u盘拷贝孩子作品 目前最终代码: def qianzuo(): move() turn_left() def qianyou(): move() repeat(turn_left,3) def qiankualan(): qianzuo() repeat(qianyou,2) qianzuo() def houkualan(): qianyou() repeat(qianzuo,2) qianyou() def laihui(): repeat(qiankualan,4) move() repeat(turn_left,2) repeat(houkualan,4) move() repeat(turn_left,2) repeat(laihui,10) turn_off()
作者: 蕾蕾豆    时间: 2012-5-22 09:09
好高调嘛,每次都单开一贴。。。。。
作者: 兰晴子    时间: 2012-5-22 11:16
本帖最后由 angelisnear 于 2016-6-15 15:03 编辑

……想旁听……
作者: 弓木华    时间: 2012-5-22 22:02
本帖最后由 angelisnear 于 2016-6-15 15:03 编辑

我发现开贴分多 单开贴大家能看到,
作者: 弓木华    时间: 2012-5-22 22:05
本帖最后由 angelisnear 于 2016-6-15 15:03 编辑

热烈欢迎。心动不如行动,
作者: 蕾蕾豆    时间: 2012-5-23 11:32
回复 4# 弓木华


    计算机组的越来越自恋了。。。。
作者: 弓木华    时间: 2012-5-24 00:13
本帖最后由 angelisnear 于 2016-6-15 15:03 编辑

思考方式不是一个方向的,自恋都能被你看出来
作者: Breezefu    时间: 2012-5-24 00:36
本帖最后由 angelisnear 于 2016-6-15 15:03 编辑

很详尽仔细的上课提纲,思路很清晰,不过最终的代码感觉有些复杂化了,没有太大的必要定义qianzuo,qianyou这两个命令。 下面是大于写的机器人教案里的跨栏程序,跨一个栏的各步操作用一个命令来表示简化,对孩子们来说应该会更简单好理解一些。 def you(): repeat(turn_left,3) def kualan(): move() turn_left() move() you() move() you() move() turn_left() repeat(kualan,4) move() turn_off()
作者: 弓木华    时间: 2012-5-24 22:49
本帖最后由 angelisnear 于 2016-6-15 15:03 编辑

那个是因为当使用来回跨栏的时候,能减少一两行代码。 到时看时间,如果进度慢的话就少做一些函数定义




欢迎光临 LEAD阳光 (http://ygclub.org/bbs/) Powered by Discuz! X3