资源简介 78 计算机应用基础教学参考书(Windows 7+Office 2010)(第2版)书第5章 程序设计入门 教案任务1 了解程序设计理念 教案1.教学设计方案教学单元名称 任务1 了解程序设计理念 课 时 1学时所属章节 第5章 程序设计入门 任务1 了解程序设计理念任务描述 情景1:在开始之前,让我们先来玩一个游戏—盲人指路。请同学两两组队,其中一人需戴上眼罩扮演盲人,另外一人需用语言指挥同伴绕过障碍物到达终点。比比看哪支队伍最先到达终点。 情景2:数学课上,老师讲解概率的含义,为了让同学们更好地理解,老师拿出了一枚硬币,让同学们抛100次这枚硬币,并记录下每次硬币落地后的正反面,然后统计出100次中抛出正面的概率。小华心想:抛100次硬币太费时,听说计算机是个运算速度特别快的家伙,它可以帮忙“抛”硬币吗?任务分析 情景1:在“盲人指路”的游戏中,负责指路的同学所发出的一系列指令就是一个“程序”,比如“前进”“左转”“右转”“停”等,这些指令所组成的序列最终让“盲人”同学顺利到达终点。通过“盲人指路”的游戏,模拟了一个最简单的“程序”。计算机程序设计就是让计算机按照一定步骤去解决某个问题或者完成某项任务。 情景2:计算机自诞生之日起就是以其超强的“计算”能力而著称。我国自主研制的神威·太湖之光超级计算机中安装了40960个“申威26010”众核处理器,每秒能运行九亿亿次。所以,即使让计算机“抛”1000次硬币,它也可以在不到1秒的时间内完成。不过,如何让计算机完成“抛”硬币的过程呢?我们需要先利用计算思维,将现实生活中的问题转化成计算机所能处理的形式,然后设计算法并编写程序来实现。教学目标 知识目标 认识程序设计 考 核 方 式 过程考核:学习知识掌握技能情况(20%);小组协作搜索信息、积极参与讨论与分享任务成果(50%) 终结考核:自我总结评价(30%)能力目标 了解程序设计基础知识 了解常见的程序设计语言 理解用程序设计解决问题的逻辑思维理念素养目标 降低对工作的畏难情绪。初步形成计算思维。思政目标 强化规矩意识和信息社会责任教学环境 为每位学生的计算机配置如下 软件环境—Microsoft Windows 102.教学设计实施教学 内容 教 师 行 动 学 生 行 动 组织 方式 教学方法 资源与 媒介 时间 /min任务 提出 导入任务情景 分析工作任务 集中 引导 启发 投影 视频 10在开始之前,让我们先来玩一个游戏—盲人指路。请同学两两组队,其中一人需戴上眼罩扮演盲人,另外一人需用语言指挥同伴绕过障碍物到达终点。比比看哪支队伍最先到达终点。 思考程序是如何一步步完成任务的。知识讲授与操作演示 引导学生共同探索程序设计基础知识,了解什么是指令和程序,程序是如何设计出的。 分组协作,搜集什么是指令和程序。 分组 协作 集中 展示 引导 启发 讲授 投影 屏幕 10引导学生共同搜集常见的程序设计语言 分组协作,搜集常见的程序设计语言。教师演示使用python编写抛硬币,引导学生理解用程序解决问题的逻辑思维理念 认真观看学习老师操作演示并记录操作过程。学生 练习 与 讨论 巡视检查、记录、倾听学生的讨论结果并点评 什么是程序员思维? 分组 讨论 展示 评价 搜集 信息 分享 成果 计算机 10常见的高级程序设计语言有哪些。 常见的高级程序设计语言的适用范围。在“抛硬币”学习概率的活动中,每次抛硬币,硬币落地后有哪几种状态?在计算机中如何表示硬币的状态?如何体现“抛硬币”的随机性?完成工作任务 巡视检查、记录 记录讨论结果 上传学习平台 独立 提炼关键信息 计算机总结 评价 根据先期观察记录,对学生的分组讨论情况进行初步点评 倾听点评 集中 自主 学习 计算机和投影屏幕 15对本次课的重点及要点进行总结,讲授评价标准 倾听总结,对自己的整个工作任务的完成过程进行总结 先集中 后独立 相互评价自我评价 计算机和投影屏幕3.教学实施过程任 务 提 出(10min)课堂情境引入: 情景1:在开始之前,让我们先来玩一个游戏—盲人指路。请同学两两组队,其中一人需戴上眼罩扮演盲人,另外一人需用语言指挥同伴绕过障碍物到达终点。比比看哪支队伍最先到达终点。 情景2:数学课上,老师讲解概率的含义,为了让同学们更好地理解,老师拿出了一枚硬币,让同学们抛100次这枚硬币,并记录下每次硬币落地后的正反面,然后统计出100次中抛出正面的概率。小华心想:抛100次硬币太费时,听说计算机是个运算速度特别快的家伙,它可以帮忙“抛”硬币吗? 任务分析: 情景1:在“盲人指路”的游戏中,负责指路的同学所发出的一系列指令就是一个“程序”,比如“前进”“左转”“右转”“停”等,这些指令所组成的序列最终让“盲人”同学顺利到达终点。通过“盲人指路”的游戏,模拟了一个最简单的“程序”。计算机程序设计就是让计算机按照一定步骤去解决某个问题或者完成某项任务。 情景2:计算机自诞生之日起就是以其超强的“计算”能力而著称。我国自主研制的神威·太湖之光超级计算机中安装了40960个“申威26010”众核处理器,每秒能运行九亿亿次。所以,即使让计算机“抛”1000次硬币,它也可以在不到1秒的时间内完成。不过,如何让计算机完成“抛”硬币的过程呢?我们需要先利用计算思维,将现实生活中的问题转化成计算机所能处理的形式,然后设计算法并编写程序来实现。知识讲授与操作演示(10min)一、了解程序设计基础知识 1.指令和程序 指令(Instruction)是给计算机下达的一个基本命令,它是一条语句或代码。例如“在输出窗口打印出hello world!”是一条指令;“计算20除以4的商”也是一条指令。 程序(Program)是为实现特定目标的一条或多条编程指令序列的集合。在“盲人指路”游戏中,指挥“盲人”从起点到终点所发出的一系列指令序列(例如:前进2步-左转-前进3步-右转-前进1步……)是一个程序;抛硬币并计算抛出正面的次数占比的过程也是一个程序。 事实上,生活中很多事情都有程序:一份菜谱里记录着这道菜的制作程序;一本活动策划书里记录着某个活动的流程;早上起床洗脸、刷牙、吃早餐的过程是一个程序;制作板凳时的打眼、组装、打磨也是一个程序…… 当计算机运行一个程序时,程序中的指令就会被连续自动执行,就像我们获得一份的菜谱之后,能自动按着菜谱中的操作步骤做出双面煎蛋一样,对于计算机来说,根据人设定好的程序自动完成一系列指令,叫作“自动化”。今天我们能很方便地使用一些计算机软件或App,是因为程序员编写了程序来告诉设备应该怎样做。 2.程序设计 计算机是一个没有生命的机器,是一个不知道自己该做什么、但却十分愿意服从命令的机器。手机如果没有“程序”,就是一堆没有用的零件,我们无法用它通话、上网和玩游戏。程序设计(Program Design)就是将问题解决的方法步骤编写成计算机可执行的程序的过程。简单来说,就是告诉计算机要做什么,并且每一个行为的细节和顺序都要说清楚、可执行。这样,计算机就能够很快速地、正确地完成所有“指令”,最终解决问题或完成任务。 常见的程序设计语言 1.低级语言和高级语言 我们和计算机沟通的语言就是程序设计语言,程序设计语言包括低级语言和高级语言。最开始的程序设计语言只有两个符号,要么是1,要么是0,它们分别代表电路“开”和“关”,这是一种比较底层的语言,称为二进制语言,又称为机器语言。虽然它能够实现我们与计算机的沟通,但是面对一大串毫无可读性的01代码,人们显然非常希望能够找到一种更加简便的方法来告诉计算机要做什么。为了降低程序编写和维护的难度,人们又发明了汇编语言,利用特定的助记符来帮助程序员记忆机器指令。但是,利用汇编语言编写的程序通常不能是大规模的,它和机器语言一样,都是直接面向机器的,与人们使用的自然语言有很大区别,机器语言和汇编语言统称为低级语言。后来,随着计算机语言的发展,高级语言终于诞生了。 2.常见的高级程序设计语言 C语言:C语言是一门通用计算机编程语言,功能丰富,使用灵活。同时,C语言还具有汇编语言的许多特点,比如能直接访问物理地址、进行位操作、直接对硬件进行操作等,因此,C语言也称为“中级语言”。C语言是编写应用软件、操作系统和编译程序的重要语言之一。 三、理解用程序设计解决问题的逻辑思维理念 运用所学知识和技能,通过界定问题、抽象特征、建立模型和组织数据等,将一个抽象的问题转化成计算机等信息技术可以处理的形式; 通过判断、分析和综合各种信息,运用信息技术工具和信息资源,设计算法形成解决问题的方案; 总结信息技术应用的方法和技巧,并迁移到与之类似的相关问题的解决过程中,包括自己的职业岗位和生活情境。 计算思维不仅体现在程序设计中,在我们的学习、生活和工作中,计算思维也同样重要,它能帮助我们去发现问题、分析问题和解决问题,是一项重要的思维能力。 四、将抽象问题转化成计算机能处理的形式 将一个问题转化成计算机能处理的形式,首先需要抽象出问题中的关键对象和对象之间的关系,然后建立起合适的模型,并用计算机语言表达出来。简单来说,这是一个对问题进行重新表述的过程。问题的类型千千万万,其表述方式并不唯一,有的问题可以用数学模型来表述,有的问题可以用文字、表格或图形等形式表述。 每次抛硬币,落地后要么是正面,要么是反面,这便是硬币落地后的两种状态。在计算机中,我们可以用两个数字来表示两种不同的状态,这种方法也可称为“编码”。例如,我们用数字1表示抛出正面,用数字0表示抛出反面(当然,你也可以用其他数字或其他计算机能处理的形式分别表示正面和反面状态)抛硬币的结果具有随机性,每次可能出现正面,也可能出现反面,就好比“抽签”一样。在Python程序设计语言中,提供了一个用于“抽签”的工具箱—random随机数模块,其中提供了一些用于产生随机数的“工具”。我们将“工具箱”random模块导入程序,就可以使用其中的所有“工具”了。例如,randint(a,b)是random模块中的一个“工具”,用于从a~b中随机产生一个整数,因此,“抛硬币”的过程可以用下面这行语句进行表达: 操作过程 Python语句 抛硬币 result = random.randint(0,1) 注:result代表抛硬币的结果,result = random.randint(0,1)表示0~1中随机产生一个数,并把这个随机数赋给result。result的值要么是0,要么是1。 当result的值是0时,代表抛硬币的结果是反面;当result的值是1时,代表抛硬币的结果是正面。在Python中,可以用关系运算符“==”来表达两个对象之间的相等关系,因此,抛硬币的结果可以表述为Python逻辑表达式。 这样,我们就通过编码、程序语句和逻辑表达式,将“抛硬币”问题用一种计算机能够处理的形式进行了重新表述。接下来,需要着手设计具体的解决方案,即设计算法。 1.设计算法 在程序设计中,算法(Algorithm)就是程序执行的流程,是解决问题的步骤。 2.问题分解。 对于较为复杂的问题,可以首先根据功能、流程或从其他角度将问题分解,并且分解出的子问题也可以根据需要进一步分解,如图5-3所示;之后,再对每个子问题设计详细的解决步骤,各个击破。 3.反思和迁移 下载并运行下面的示例程序tossCoin.py,体会一下用计算机解决“抛硬币”问题的过程,看看抛100次硬币得到正面的概率是多少?当抛硬币的次数更多时,抛出正面的概率接近于哪个数? 4.算法、程序流程图和程序基本结构完成工作任务(10min)什么是程序员思维? 常见的高级程序设计语言有哪些。 常见的高级程序设计语言的适用范围。 在“抛硬币”学习概率的活动中,每次抛硬币,硬币落地后有哪几种状态?在计算机中如何表示硬币的状态?如何体现“抛硬币”的随机性?总结评价与提高(15min)【总结评价】 ① 教师依据学生讨论交流及完成工作过程中的行动记录,挑选出具有代表性的几个小组的结论汇总在平台中,随机抽取几个学生对其进行点评,说出好的与不足之处 ② 教师总结各组的讨论结果,点评在讨论和分享过程中表现出色的小组和个人,对于讨论结果进行正向引导,提升学生学习信息技术课程的兴趣。 ③ 学生对自己完成的工作进行总结与反思,主要总结自己在小组讨论与自己完成工作任务过程中的收获 ④ 最后教师给出本次课的学习成绩。评分依据—过程考核:学习知识掌握技能情况(20%),分组协作讨论并展示情况(50%);终结考核:自我总结评价(30%)004 展开更多...... 收起↑ 资源预览