关注
4
粉丝
7
帖子
肥罗-阿勇
04月30日

【教学设计】石头剪刀布(二)

一、基本信息

作品名称 第十一课 石头剪刀布(二)

作者姓名 张勇

作者单位 广东省佛山市顺德区大墩初级中学

教材名称 《信息技术》八年级下册

教育部中小学信息技术教育试验区实验教材,新世纪出版社

教材类型 实验区实验教材

教材简介 这是实验区实验教材《信息技术》,教材里所采用的是Microbit,我校在2018年就购买了一批掌控板,我们觉得掌控板功能更强大,更适合中学生使用。而两者在很多使用方面是差不多的,因此我们在教学中教材照样用,只是教材的Microbit全部替换成掌控板,编程平台全部替换成mpython。

执教年级 八年级

课时长度 1课时

涉及器材 掌控板

涉及软件 Mpython

文件清单 教学设计、教学课件、配套代码、配套演示视频

二、作品内容

第十一课 石头剪刀布(二)(1课时)

【硬件搭建】

所需材料掌控板和数据线,用数据线将掌控板和电脑连接。

【作品功能】

在Mpython中编写程序,上传到掌控板,实现在掌控板显示屏上显示“石头剪刀布游戏,玩家1按A键,玩家2按B键,系统自动判断谁输谁赢,按P键开始玩”静态字样(如图2)


图2

【教材与学情分析】:

本课是《信息技术》教材第十一课,利用掌控板编写石头剪刀布的游戏,在第七课已经学习了石头剪刀布(一),第七课是人工判断谁输谁赢,重点是学会利用掌控板显示图案。本课是在第七课的基础之上进行系统自动判断,重点在于利用之前所学的所有知识点,制作一个完整的作品,除了作品的功能以外还要考虑作品的整体完整性。

本课授课对象是八年级学生,他们在此之前已经学习过Scratch和python,对于硬件编程虽然是第一次,但是对此非常感兴趣,特别是男生,平时对学习不感兴趣的男生都对此非常感兴趣,这是一件好事。本节课之前已经学习了十节课的掌控板,所以本节课的知识点对于他们来说并不太难。难的是要把所有知识点串起来做成一个完整的作品,这种整体意识对于他们而言有一定的难度。

【学习目标】:

(一)知识与技能目标

1、学会按钮的使用

2、学会条件语句的使用

3、学会变量的使用

(二)过程与方法目标

1、学会用计算机的方式去思考问题

2、学会用整体思维去完善我们的任务

3、学会用编程思维去思考如何解决问题

(三)情感态度与价值观

1、通过自主思考和协作区去解决问题

2、学会整体思考问题

3、学会思考如何不断完善自我

【学习重难点】

重点:

1、如何分析问题

2、如何利用现有知识去解决问题

难点:

1、用计算机的思维去解决问题

2、用整体思维方式去解决问题,发现问题,完善方案。

【教学资源】:

学生机房,电脑一人一机,掌控板一人一块, 学生机与教师机局域互联并安装Mpython软件。

【预设流程】

环节一、情景导入,抛出问题

教师活动1:

展示PPT,PPT上有一本书的图片《人人都是产品经理》,为什么要介绍这本书呢?老师希望所有同学都要有产品经理的思维模式。


为什么要引入产品经理这个概念呢?

在过去的学习中老师发现很多同学每个单独的知识点都掌握了,但是一到老师布置具体的任务就什么都不会做。就像玩拼图游戏一样,每个拼图都有,但就是拼不成一副完整的图画,为什么呢?因为脑子里没有完整的图画画面,如果有完整的图画画面,就会知道某个位置需要什么模块。而产品经理就是一个脑子里随时有完整画面的人,因此引入产品经理这个概念

教师活动2:

播放《啥是佩奇》的短片。


老师:短片里的爷爷就是一个产品经理。孙子是用户,需求是要一个佩奇,周期是年前

而在课堂上,其实我们每一个同学也都是产品经理?

用户是谁?(学生:老师)

那需求是什么?(学生:老师的任务)

那周期呢?(学生:一节课)

对了,我们每个同心都是产品经理,就要把产品经理分析问题——思考解决方案——制作产品——跟踪反馈,解决程序存在的问题,不断优化的整个过程搬到我们的课堂上。

学生活动:1.观看PPT和视频。

2.边听老师讲解,边回答老师的问题。

3.思考到底什么是产品经理。

设计意图:在过去的学习中老师发现很多同学每个单独的知识点都掌握了,但是一到老师布置具体的任务就什么都不会做。就像玩拼图游戏一样,每个拼图都有,但就是拼不成一副完整的图画,为什么呢?因为脑子里没有完整的图画画面,如果有完整的图画画面,就会知道某个位置需要什么模块。而产品经理就是一个脑子里随时有完整画面的人,因此引入产品经理这个概念。

环节二、头脑风暴,寻找策略

教师活动1:

在第七课中我们已经学会了,如何利用掌控板制作一个剪刀石头布的游戏,但是在那个游戏中,主要是学习如何利用掌控板显示图案,由人工来判断谁输谁赢。在后面的课程中,我们学习了条件判断,循环,函数等一系列知识,本节课请利用所学知识,完善石头剪刀布的游戏,由系统自动判断谁输谁赢。

请每个同学记住:你是一个产品经理。

你的用户是谁?(学生:老师)

对,你们要好好分析你的用户到底要什么?还要你们的产品用户会不会满意?要做成这样的产品需要哪些条件(知识储备)。产品的难点在哪里?可以如何解决?小组进行讨论,制定一套方案。

学生活动1:

小组进行讨论,并展示。

现在问题主要有两个:1是什么时候开始判断?2是如何进行判断?

老师活动2:

很好,同学们都找到了问题的关键。

要解决问题,我们先来看看已经会了哪些知识。


已经学过了掌控板显示图片和文字,AB按钮的使用,变量的使用,基本的编程知识。

系统能判断石头剪刀布谁输谁赢吗?(学生:不可以)

那我们如何判断呢?我们先来看看我们之前做的程序代码。



学生:老师,我知道了,直接判断X和Y之间的关系就可以了。

老师:对的,在之前我们引入了两个变量X和Y,他们的取值是1-3的随机数,1是石头,2是剪刀,3是布,我们要判断输赢只需要判断X和Y之间的数值关系就可以了。

老师:那是不是谁大谁就赢了呢?

学生:不是的!

老师:那我们来探讨一下X和Y有哪些关系?

学生活动2:

学生讨论X和Y有哪些关系?


老师活动3:

很好,同学们把如何判断的问题解决了。

那请问什么时候开始判断呢?

学生:A和B都按过了!

老师:那如何判断A和B都按过了呢?

学生:……

老师:我们可以一开始讲X和Y都初始化,都初始化为0.

学生:我知道了,当X和Y都不为0的时候就开始判断。

老师:对的。好,请同学们根据刚才的讨论,完成程序编写。

学生活动3:

学生开始动手编写程序并进行调试。

教师活动4:

哪个小组同学展示一下自己的作品?

学生活动4:

什么时候开始判断代码:


判断函数代码:


运行结果如下,一切正常。


环节三、灵活运用,掌握技巧

教师活动1:

同学们,刚才展示的这个小组他们的程序有没有问题呢?

学生:有!

教师:什么问题?

学生:只能运行一次,第一次运行正常,第二次运行只按A,系统就开始判断。

教师:这是为什么呢?

学生:因为这个时候XY都不为0了。

教师:问题找到了,那该如何解决呢?

学生:判断完将XY设为0.

学生活动1:

加入判断完之后设置XY都为0

教师活动2:

教师:同学们,这样问题解决了吗?

学生:还没有,第二次运行按A,上次的图案都还在。

教师:那如何解决呢?

学生:加入一个按钮,重置整个游戏。

学生活动2:

加入按钮P,重置游戏。代码如下:


教师活动3:

教师:现在还有问题吗?

学生:……

教师:假如你是一个用户,别人给你一个掌控板,上面黑麻麻的,什么都没有,他怎么知道要干什么?

学生:是的,要加入说明界面。

学生活动3:

学生动手制作游戏界面和说明:




环节四、重点推进,突破难点

教师活动1:

教师:同学们,一个比较完整的游戏作品是做好了,但是如果你是一个产品经理,那你的工作还没有结束。产品经理一方面要不断优化自己的产品,使产品更好,另一方面要收集客户意见,进行改造。同时还要想着如何升级自己的产品。

教师:我们先来看看我们的产品有什么可以优化的?

学生:很多重复代码

教师:重复代码怎么办?

学生:用函数!

教师:是的,函数可以帮我们精简代码!同学们动手试一试

学生活动1:

用函数精简显示的代码


教师活动2:

教师:还有可以优化的代码吗?

学生:……

教师:我们来看看判断这个代码挺多挺复杂的,看看能不能把它也精简一下。我们会发现,实际上XY之间只有三种关系,打平,X赢,Y赢,我们再进一步通过对XY进行分析会发现他们之间的关系可以进行简化


教师:同学们,看明白了吗?

学生:明白了!

教师:那该如何修改代码呢?动手试一试。

学生活动2:

学生优化判断函数里的代码。


最终整个程序如下:


是不是简洁了很多。

设计目的:

可能我们的同学会有疑问,这样的程序并没有减少很多内容,反而更复杂了,那为什么要这么做呢?

这样做至少有几个好处

1、我们可以把函数进行折叠,整个程序看上去就很简洁

2、我们把函数折叠之后,就可以把主要精力放到主程序的整个流程和逻辑上这样更容易理解程序设计的思路和流程。

3、锻炼我们归纳整理的能力

环节五、延伸思维,启发创新

教师活动1:

教师:同学们,我们的作品应该说完成得还不错。但是我们的工作并没有结束,任何产品再好,也要不断更新换代,否则就会被追赶,被超越,甚至被淘汰。当年iPhone刚发布的时候震惊了整个世界,但是如果它不更新不进步就会被赶超,因此它也在不断升级更新。我们的程序也是如此,要不断升级更新。

引入版本号的概念。

版本号:

一般来说软件的版本号为X.X.X,比如3.4.7版,那这代表是什么意思呢?

一开始程序是1.0.0版本 当发现一个新问题,解决了之后版本就变成了1.0.1 当发现并解决了十个问题之后就变成了1.1.0 以此类推 当升级了一个大的功能或改变,版本就会升级为2.0.0,再不断发现新问题,解决新问题,版本号不断增加。

如果我们这个版本是1.0.0版,我们要如何升级到下一个版本呢?

A、一种方法是不断测试,寻找程序的bug,想办法解决。

B、另一种方法是找一些测试用户,听取他们的意见,根据反馈进行升级。

C、还有一种方法就是增加新的功能。

教师:同学们,我们还可以如何升级我们的这个作品呢?

学生:……

教师:好了,同学们,你们的很多创意都非常棒,老师都迫不及待想看看你们升级后的作品,老师就把这个任务作为课后作业,大家回去完成自己的优化升级,下节课展示给大家看。

环节六、课堂小结,归纳拓展

教师活动1:

同学们,本节课我们利用之前所学的知识把石头剪刀布游戏进行了完善,在本节课中我们用到了掌控板的按钮功能,显示功能,编程方面,我们用到了变量、判断、函数等一系列知识,第一次做出了一个完整的作品。

我们在本节课引入了一个产品经理的概念,为什么呢?

我们来看看产品经理一般是如何工作的。


老师希望同学对待自己的作品就像一个产品经理,学会用产品经理的思维方式去分析问题,思考问题,解决问题,发现新问题,解决新问题,完善优化,更新升级等一系列思维方式,不断去完善自己,升级自己。

同学们要回去完成老师布置的作业,下节课展示更优秀的作品。

【教学反思】

1、 从教学结果来看,所有学生能完成基本的程序。

2、 但是对于优化很多同学还做的不够好。

3、 对于拓展,估计只有小部分同学能完成,这个拓展很有意义,有必要增加一课去完成这个拓展。对于他们进一步理解产品经理思维在编程中的运用很有帮助。

造成这个问题的原因在于他们第一没有真正思考我们所学知识可以做什么,第二没有用计算机的思维方式和方法,当然这些需要长期的训练。在今后的学习中要不断去训练。

对于存在的问题,在下节课我们将重点解决。

教学过程和编程过程也是一样的,这个过程就是发现BUG,解决BUG 的过程。老师也需要有产品经理思维,需要站在用户(学生)的角度去看待问题,思考问题。


3

点赞

747 次阅读2 条评论3 人赞4 人订阅
2条评论