当前位置: 首页 > 公开课堂 > 编程解决排列组合问题——陈根乔公开课

编程解决排列组合问题——陈根乔公开课

2021年12月08日 10:28:51 来源:网校空间 访问量:694

阶段测试:编程实现给定四个数字取三个数组合

                                                                                                 ——陈根乔

 

教师评课记录:

裘愉峙:陈根乔老师本堂课上的比较成功,整堂课程设计很有层次感,脱离教材,自主设计教学内容过程,体现了教师本身的完善知识结构。对本节课我这里提以下几点感受:

  1. 课堂设计很有层次感,与学生交流沟通贯穿课堂始终。
  2. 本节课内容做好与之前学过的for语句的衔接。
  3. 学生在教师讲授结束之后,全部都动起来,根据分层任务的层次参与进来,兼顾学生进度的快慢。
  4. 要注意思维能力的培养,不要给出算法,由学生自己探索,可以适当给出提示。同时也可以给出文字算法描述,让学生自己完成代码的编写。
  5. 教师在平时教学过程中,要注意有天赋的学生,可以适当的挑选出来作为编程竞赛种子培养。告诉学生什么时间节点,有什么比赛,可以参考什么书籍进行学习。

c8038b0bded2b92a9aa2d65b0cedbcf9

谢兴亮:陈根乔老师本堂课教学内容把握从容不迫,教姿教态大方得体,学生全部都根据本节课的内容进行编程操作,教学效果较好。

我提几点教学形式:

  1. 任务驱动法,可以跟化学等科目一样,将任务交给学生,按任务来完成。
  2. 学生运行调试出现错误,辅助学生进行识别修改。
  3. 看代码错误位置,终止程序的运行。
  4. 注重学生逻辑思维的培养,挑选种子进行信息奥赛。

226a7a952a9ca1b9546d3425bf902dce

胡光淳:陈老师本堂课教学很精彩,内容安排得当。本节课内容我也在讲。我们可以在教学中关注以下几点:

  1. for语句的嵌套循环,在之前讲过,这里可以再次提一下。
  2. and判断的条件可以少讲。
  3. 分析问题,提出解决问题的思路,PPT可以稍微等一下学生作笔记。
  4. 学生的参与度非常高,每个学生都可以根据自己的学习情况,去完成相应难度的任务。

cf5fbda62ea2002cd44665b8c4199893

    汪家玉:陈老师在上课的过程中实时表扬学生,起到及时激励的效果,值得我们学习。本堂课教学过程流畅,内容条缕清晰,安排详略得当。在通过的过程中我观察到以下几点:

  1. 编程窗口,左右分开,观看起来更加方便。
  2. 在展示学生编写的程序时,学生讲解,大家都能理解。
  3. 分组探讨学习,学生可以互相帮助。
  4. 实时表扬,利用任务驱动,层层递进。

e0466fe21c56bc6b6adcc85af7f84201

陆金林:陈老师这节课上的很精彩,有很多地方值得我们学习。以下是我注意到学生的几点:

  1. 学生的参与的非常高,充分调动学生学习的积极性。
  2. 笔记没来得及做的同学,下课借其他同学的去记。
  3. 有难度的编程任务,学生照笔记抄写。


上课过程中学生与教师活动

e0466fe21c56bc6b6adcc85af7f84201

 


5d3369de13eafadc52ac6b47a10e2ca0

听课教师观看学生进行编程

226a7a952a9ca1b9546d3425bf902dce

 

                                                       493f7593dd080bda2484bb0c879739fc

                                                                  教师巡视指导学生完成任务

500b683e927f68780eaf6d6b99885d5c726b39052e35121c87dd98f82196e6304056f2b5d469eb2f72a08fdb09ef56c97873fbb0262b75a849d0396b324a53abb7d56039553f8bebb5d5a994a0467b12c221744bf6b4b8f168b3cf5b186aeb9a

 

 

陈根乔老师教学反思

上课结束后,听课的老师都为我提出了宝贵的意见和建议。这堂课我所教授的对象是初三的学生,在本堂课的教学之初,我曾想过两种教学模式。

第一种教学模式,在上课开始时先抛出高中数学排列组合的问题,引出学生的的思考,数学针对问题有数学的方式,那么,编程该怎么实现解决?

同学会思考,可否利用信息技术课所学的知识去实现。继而提出本节课简单的四位数组合问题,不提出特殊位置。接着带学生去分析给出的三个分层问题:

1.给定四个数字,完成随机抽取三个数字进行组合,

得到三位数,并输出。

2.利用之前所学的if判断语句,只有当三个数互不相同时才

输出这个三位数。

3.设置一个计数变量,负责统计,共有多少个不同的三位数。

第一层次程序分析:

1、定义变量abc分别为三位数的百位、十位和位,

abc的取值为1234。则这个三位数为:a*100+b*10+c

可使用for循环嵌套逐一生成所有可能的三位数abc

依次输出数可以使用两种方法:

for a in range(100,121):   #此方法从起始值截止小于终止值的最大整数

for a in(51,57,81):            #此方法依次输出括号内的值

第二层次程序分析:互不相同且无重复数字的含义:

a,b,c三个数字互不相等

a不等于b,b不等于c,c不等于a

以下表达式:

a!=b and b!=c and c!=a

第三层次程序分析:满足条件的三位数的个数如何实现?

使用变量来存储个数,初始为0,每输出一个满足条件

的三位数,则自增加1,当所有循环结束后,变量所存储

的值为个数。

i表示这个三位数的个数

则:

i=0      #初始变量值为0

自增加1有以下两种表示方法:

i=i+1

i+=1

以上三个分层问题分析结束后由学生去完成程序,编程过程中指导学生出错的地方。并且展示学生的完成程序。这种教学模式,整堂课比较好把握,上课效果较好,跟预期的效果相差不大。

第二种教学模式,在上开始时抛出本节课的教学分层目标:

1.给定四个数字,完成随机抽取三个数字进行组合,得到三位数,并输出。

2.利用之前所学的if判断语句,只有当三个数互不相同时才输出这个三位数。

3.设置一个计数变量,负责统计,共有多少个不同的三位数。

这种教学模式以任务驱动法为核心,充分调动学生的积极性,参与性,可以在过程中时时评价表扬学生的程序,通过小组合作、探究完成分层任务。以内驱力求知欲为出发点去完成本节课教学任务。但是这种模式的前提是,要求学生要有较好的编程思维和代码基础,能够根据任务要求去分析问题,解决问题,编程程序,调试程序,实现代码的编程。

考虑到上的公开课,我就没有选择这种不太好把握的教学模式。在以后的教学中可以根据老师们的建议,尝试新颖教学的突破,以更上一层楼。

 

 

 

编辑:陈根乔
评论区
发表评论

评论仅供会员表达个人看法,并不表明网校同意其观点或证实其描述
事业单位 教育部 中国现代教育网 不良信息 垃圾信息 网警110
郑重声明:本站全部内容均由本单位发布,本单位拥有全部运营和管理权,任何非本单位用户禁止注册。本站为教育公益服务站点,禁止将本站内容用于一切商业用途;如有任何内容侵权问题请务必联系本站站长,我们基于国家相关法律规定严格履行【通知—删除】义务。本单位一级域名因备案流程等原因,当前临时借用网校二级域名访问,使用此二级域名与本单位官网权属关系及运营管理权无关。新晃一中 特此声明。
新晃一中 版权所有 湘ICP备14001921号-1
联系地址:湖南省新晃侗族自治县新晃镇太阳坪路27号
邮箱:xhyzbgs@163.com
北京网笑科技有限公司 仅提供技术支持 违法和不良信息举报中心