信息技术课程授课教案
授课
题目
Python——列表
学情分析
  高一年级的学生通过一段时间的算法与Python程序设计的学习,已经熟悉Python的编程环境,包括输出、输入函数、分支结构、循环结构、随机函数等简单语法。学生能编写一些简单的程序,同时学生对利用编程解决问题有一定的兴趣。
教学
目标
★知识与技能:
1.类比生活中的实例、对比程序代码,理解抽奖程序模块化设计的优点;
2.分析具体代码,掌握列表的定义规则和使用方法,了解列表创建和函数使用的过程。
★过程与方法:
1. 在实践活动中体验用计算机解决问题的一般过程,能运用合理的算法形成解决问题的方案。
2. 在体验使用列表实现抽奖程序模块化的过程中,建立将一个程序分解为多个过程,逐个实现的程序设计思想;
3. 通过“观察、比较、总结、实践”体验使用列表的特点,提高自主探究的兴趣。★情感、态度和价值观:
1.在模块化算法设计的过程中,激发使用模块化思想解决生活实际问题的兴趣;
2.在反复优化算法、调试程序过程中,培养高效、严谨的算法思维方式。
教学
重点
1.掌握列表的定义、创建方法及序号;
2.体验抽奖程序模块化编程思想的优势。
教学
难点
1.牢记列表中元素的序号,在调用过程中谨防出现序号混淆导致调用错误;
2.结合前面学习的循环结构,灵活运用循环解决名单重复抽出的问题。
教学
方法
启发式分步教学、任务驱动、讲授法
教学方式:讲授undefined    探究undefined  问答undefined  实验□  演示undefined  练习undefined  其他□
授课
类型
理论课undefined  讨论课□  实验课□  练习课□  其他□
内容讲解
教学环节
教师活动
学生活动
设计意图
一、
创设情境 ,引入新课
演示一个抽奖程序:从已有的名单(本班学生的)中按比例抽取一等奖、二等奖和三等奖,且中奖名单不重复。
【引导】思考:
1.抽奖程序中的名单是怎样得来的?
2.怎样抽出三等奖?
3.怎样保证中奖名单不重复?
观察抽奖游戏的运行,思考抽奖游戏的主要功能(随机抽取名单、分辨奖项、计时器……)和程序代码组织形式。
模块化设计的优点
以熟悉的游戏引入,充分激发学生的学习兴趣,为后面分析案例、自我探究抽奖程序的设计作铺垫。
二、
实践体验,
学习新知
1.什么是列表?
教师展示三个列表:
名单=['张三','李四','王五']
list=['a','b','c','d','e']
a=['一班','二班',3,'w']
【提问】这三个列表有哪些共同点呢?请大家总结出列表的构成方式。
【定义】学生回答后,教师对列表进行定义:
列表是由一组用中括号[]括起来的数据,这些数据可以是字符、数字等各种类型的数据,数据之间用逗号隔开。
格式:<列表名>=[<元素1>,<元素2>......]
功能:创建列表。列表是包含0个或者多个数据的有序序列,列表中的元素可以是任何数据类型。
2.创建列表的方式
【提问】我们在抽奖的时候,抽中的名字来自哪里呢?
【引导】学生进行“头脑风暴”,自由提出列表创建的方式,如有一些是现场填表抽奖的,有一些是从已有的名单中抽取的。
【细读程序
教师点名回答,综合学生的想法,对学生的猜想作评价并在屏幕上展示两种创建列表的方式(基础代码):
【提问】在第二种创建列表的方式中,如何把你想要的元素添加进去,添加完成后如何退出循环呢?
【讲解】
strip()函数去掉字符变量name中的空格
append( )函数:将姓名添加到抽奖“名单”列表中。
3.列表中的元素的序号
【活动】请大家来排排序!
教师把刚才的三个列表展示在PPT上,先让学生来猜列表“名单”中的‘张三’是第几个元素、序号为多少。
学生回答错误后,教师进行修正,告诉同学们列表排序的特殊性:第一个元素的序号为“0”,提醒学生在调用元素时注意。
1.学生观察PPT上的三个列表,个人或者小组讨论,完成导学案的填空。
2.学生思考,举手回答。
3.学生思考回答,并完成余下两个列表的序号填写。
1.鼓励学生通过观察得出列表的定义,培养学生的主观能力,增加他们的自信心。
2.从学生实践体验中遇到的问题入手,引导学生自主思考,利于激发学习积极性,同时自然过渡到过程的使用。
3.通过小组竞赛完成任务的方式,学生自己主动探究,
三、深入学习
1.教师引导学生使用之前学习的随机函数random.randint()抽取三等奖。
2.【提问】抽取出三等奖后,你希望抽取二等奖时仍然存在这些已经抽取的名吗?
【讲解】由此引入del()函数
del列表名[i]:从列表中删除第i个元素。
学生思考,听讲并在导学案上做笔记。
四、
自主探究,
知识迁移
教师运行从已有名单抽取三等奖的程序,让学生体验程序的可行性
【自主探究】完成余下抽取二等奖、一等奖的程序。
学生可以在学习资料包内查看刚才教师演示的代码,然后尝试自己独立完成题目余下的部分。
理论与实践相结合,更利于学生掌握知识。
五、复习巩固
完成两道与本相关的选择题
1.下列哪一项是列表?
A.a={'1','2','3'}                           
B.校园=[“学生”,”老师”,]
C.apple=[“tree”,a,12,“red”]
D.h=('IT','信息')
2.有一个列表为class=[56,'o',89,'home','52'],请问class[4]是下列哪一项?
A.['home']      B.['56']
C.[52]          D.['52']
学生在规定时间内作答并提交答卷。
教师利用极域软件对学生进行检测,并通过结果统计及时获得本节课学生掌握知识程度的反馈,为下一节课做好准备。
课堂小结
帮助学生形成系统的知识体系。
板书设计
Python程序设计——列表的创建与应用
1.列表的结构:
格式:<列表名>=[<元素1>,<元素2>......]
2.列表的创建:
1 直接创建;
2 结合输入input()函数、循环结构,自主添加。
strip()函数去掉字符变量name中的空格
append( )函数:将姓名添加到抽奖“名单”列表中。