第三章 算法基础教学设计.docx
《第三章 算法基础教学设计.docx》由会员分享,可在线阅读,更多相关《第三章 算法基础教学设计.docx(23页珍藏版)》请在冰豆网上搜索。
第三章算法基础教学设计
第三章算法基础
教学设计
一、项目简介
项目主题
项目背景
目前,中国的桥、路、车、港口、网络规模都做得了世界第一,一个个奇迹般的工程,让人民切实感受到生活的便捷、美好和幸福。
当从A市到B市没有直达的交通工具时(不考虑水上交通工具),人们可以利用铁路公司、汽车客运公司和航空公司公布的信息,设计出最优的旅行路线。
为了获得高效的交通出行安排,人们根据需求设计好不同阶段的交通工具使用方案,方案中会设计到多条不同方式不同时间的交通工具的排列组合,编写程序来找出哪种方案最佳,比用人工寻找效率更高。
在运用计算机解决实际问题的过程中,需要先分析问题,设计解决问题的方法和策略,运用具体的算法。
需要了解程序相关的知识,包括计算机语言、计算机程序、解决问题的算法等。
对应教材
广东教育出版社普通高中教科书信息技术必修1《数据与计算》第三章
课时安排
3课时
二、课程标准及目标分析
(一)课程标准及教材分析
1.本章对应课标的内容要求
从生活实例出发,概述算法的概念与特征,运用恰当的描述方法和控制结构表示简单算法。
2.本章对应的学业要求
A-3:
掌握数字化学习的方法。
(信息意识、数字化学习与创新)
A-4:
能根据需要选用合适的数字化工具开展学习。
(信息意识、数字化学习与创新)
A-6:
能够利用软件工具或平台对数据进行整理、组织、计算与呈现。
(信息社会责任、计算思维)
A-8:
在数据分析的基础上,完成分析报告。
(信息社会责任、计算思维)
A-9:
依据解决问题的需要,设计和表示简单算法。
(计算思维)
3.本章的地位和作用
本章是《数据与计算》的第三章,也是学习第四章、选择性必修模块《数据管理与分析》、选修模块《算法初步》的基础知识与技能准备。
本章以培养信息素养为目标,以知识技能为载体,以项目学习活动为途径,开展自主、协作、探究学习,让学生理解算法的概念与特征,能够运用算法描述和三种基本控制结构合理表示算法。
(二)学科核心素养
信息意识:
针对特定的信息问题,自觉、主动地比较不同的信息源,能描述数据与信息的关系,确定合适的信息获取策略。
根据不同受众的特征,能选择恰当的方式进行有效的交流。
依据特定任务需求,甄别不同信息获取方法的优劣,并能利用适当途径甄别信息。
主动关注信息技术工具发展中的新动向和新趋势,有意识地使用新技术处理信息。
计算思维:
针对给定的任务进行需求分析,明确需要解决的关键问题。
能提取问题的基本特征,进行抽象处理,并用形式化的方法表述问题。
运用基本算法设计解决问题的方案。
数字化学习与创新:
针对特定的学习任务,运用一定的数字化学习策略管理学习过程与资源,完成任务,创作作品。
在网络学习空间中开展协作学习,建构知识。
信息社会责任:
在信息交流或合作中,尊重不同的信息文化,积极、主动地融入信息社会中。
(三)目标分析
1.项目目标
本章通过“设计从A市到B市最佳的旅行路线方案”项目,组织学生进行自主、协作、探究学习,让学生体验计算机解决问题的过程,理解和概述算法的概念与特征,能够运用恰当的描述方法和控制结构表示简单算法,懂得描述程序设计语言产生与发展的过程,了解不同种类程序设计语言的特点,从而将知识建构、技能培养与思维发展融入运用数字化工具解决问题和完成任务的过程中,促进本章对应课标的学科核心素养达成,完成项目学习目标。
2.学业目标
(1)针对特定的信息问题,自觉、主动地比较不同的信息源,能描述数据与信息的关系,确定合适的信息获取策略。
(信息意识1)
(2)根据不同受众的特征,能选择恰当的方式进行有效的交流。
(信息意识1)
(3)依据特定任务需求,甄别不同信息获取方法的优劣,并能利用适当途径甄别信息。
(信息意识1)
(4)主动关注信息技术工具发展中的新动向和新趋势,有意识地使用新技术处理信息。
(信息意识1)
(5)针对给定的任务进行需求分析,明确需要解决的关键问题。
(计算思维1)
(6)能提取问题的基本特征,进行抽象处理,并用形式化的方法表述问题。
(计算思维1)
(7)运用基本算法设计解决问题的方案。
(计算思维1)
(8)针对特定的学习任务,运用一定的数字化学习策略管理学习过程与资源,完成任务,创作作品。
(数字化学习与创新1)
(9)在网络学习空间中开展协作学习,建构知识。
(数字化学习与创新1)
(10)在信息交流或合作中,尊重不同的信息文化,积极、主动地融入信息社会中。
(信息社会责任1)
✧重点:
(1)计算机解决问题的过程。
(2)算法的特征与描述方法。
(3)程序设计语言的产生与发展。
✧难点:
(1)计算机解决问题的过程。
(2)算法的描述方法。
三、学情分析
学生经过前面两章的学习,对项目式学习的过程和方法有所了解,具有一定的数字化学习能力、一定的信息加工处理能力和数据分析处理能力。
然而,对于编写计算机程序解决问题的相关知识了解不多,大部分同学处于零起点状态。
结合新课程内容标准,在教学中要紧紧围绕学科核心素养,以项目方式整合课堂教学,重构教学组织方式,充份利用教材和数字化环境、资源,引导学生在数字化学习的过程中,领悟数字化环境对个人发展的影响,养成终身学习的习惯。
四、教学方法和策略
创设基于生活需求的活动情境,组织学生在分析和解决问题的过程中探究编制计算机程序解决问题的过程和方法,通过小组项目的自主、协作、探究学习,完成算法、计算机语言和程序设计相关知识的了解。
五、资源列表
资源名称
清单及描述
形式(类型)
来源
课件
第三章算法基础(课件)
演示文稿
教师制作
微课
本章课程介绍
本章项目范例
《Python的安装与调试》
《算法的常用描述方法》
《程序的三种基本结构》
《计算机程序运行原理》
《语言的编译与解释》
微课视频
教师制作
软件工具
Python3.*
软件
Python官方网站
六、学习活动流程
七、学习活动设计
范例学习
项目主题
设计从A市到B市耗时最少旅行路线方案
项目背景
当从A市到B市没有直达的交通工具时,人们可以利用铁路公司、汽车客运公司和航空公司公布的信息,设计出耗时最少的旅行路线,在运用计算机解决最优路线的过程中,最重要的是算法以及用计算机语言实现的计算机程序。
项目目标
通过项目的完成,体验计算机解决问题的过程,了解算法的概念与特征,并能运用不同的方法描述算法过程,了解计算机程序和计算机语言的产生与发展,能设计解决问题的算法并描述其算法过程,从而实现项目学习目标。
工具和方法
利用思维导图工具和“头脑风暴”的方法组建团队、明确任务;利用搜索技术了解相关知识,通过数学建模方法分析问题设计算法,实施探究。
实施过程
(1)明确项目问题;
(2)规划设计:
制订项目学习的学习规划;
(3)探究活动与项目实施:
通过探究活动了解计算机解决问题的过程、算法和算法的描述、计算机程序与程序设计语言,设计问题的算法并运用适当的方法描述算法流程;
(4)作品制作:
找到从A市到B市的最优旅行路线;
(5)成果交流;
(6)活动评价。
成果
从A市到B市耗时最少的旅行路线方案可视化报告
项目选题
教师活动
提供更多的选题,并参与到小组的选题讨论中。
学生活动
根据教材选题、教师提供的附加选题或自拟,小组头脑风暴后确定项目选题,以小组为单位,填写《项目学习活动记录表》“项目选题”栏目。
项目规划
教师活动
强调项目目标及学习目标,引导学生分析项目问题,指导小组完成项目规划,组织开展方案交流。
学生活动
小组依照项目范例,结合本组选题,利用思维导图制订本组项目规划方案,填写《项目学习活动记录表》“项目规划”栏目。
探究活动
项目实施
活动1:
结合本组选题,通过学习和交流,体验计算机解决问题的过程。
教师活动
以项目范例为例,引导学生对项目问题进行分析和思考,探讨寻找最优路线的方法,引导学生通过课程提供的教学资源(包括样例数据和范例程序)体验计算机解决问题的过程。
学生活动
通过学习,对小组项目问题进行分析和思考,了解计算机解决问题的过程,通过课程教学资源体验用计算机程序求解最少耗时旅行路线的方案,填写《项目学习活动记录表》“探究活动项目实施”栏目中的“活动1”的内容。
活动2:
通过观察、学习和实践尝试,了解算法及其描述方法,完成小组项目问题的算法设计及其描述
教师活动
引导学生观察和分析课本中数学方程解的算法步骤,了解算法的概念,引导学生分组研究和交流三种常用算法描述方法,提供学习资源,并指导学生用流程图描述出欧几里得算法流程,引导学生完成相应项目问题的算法设计和描述。
学生活动
分析、学习算法概念及算法描述方法,探究用流程图描述欧几里得算法,小组讨论完成项目问题的算法设计,并使用适合的方法将算法流程描述出来。
同时填写《项目学习活动记录表》“探究活动项目实施”栏目中的“活动2”的内容。
活动3:
通过讨论、学习、网上检索了解计算机程序和程序设计语言,尝试下载、安装和运行相应的程序设计软件。
教师活动
引导学生讨论、网上检索认识计算机程序,了解程序设计语言,提供学习资源和程序设计软件,并指导学生安装和运行程序设计软件。
学生活动
通过讨论确定认识计算机程序的问题,通过学习和网上检索了解什么是计算机程序,计算机程序设计语言的发展历程,计算机语言的分类。
下载、安装并尝试运行计算机程序设计软件,同时填写《项目学习活动记录表》“探究活动项目实施”栏目中的“活动3”的内容。
项目实施
各小组参照项目范例的样式,运用数字化学习工具,如腾讯文档、演示文稿等,归纳所学知识,梳理探究活动的成果,撰写相应的项目成果报告。
成果交流
各小组运用数字化学习工具将完成的项目成果,在小组或班级上进行展示与交流,共享创造、分享快乐。
活动评价
各小组根据项目选题、拟订的项目方案、实施情况以及所形成的项目成果,利用“作品评价量规”及教科书附录2的“项目活动评价表”,开展项目学习活动评价。
八、学习成果
“设计从A市到B市的最优旅行路线方案”可视化报告
九、评价方案
(一)评价时间线
(二)评价工具
评价方法/工具
评价的过程和目标
项目范例报告
用于整个活动,主要作用是为学生项目实施和作品制作提供示范和引领。
(见附件1)
项目学习活动记录表
用于整个学习活动,主要作用是指导学生开展项目学习活动,明确项目学习内容,记录学习过程及阶段性成果。
(见附件2)
作品评价量规
使用量规项目来帮助学生创作高品质的作品,确保达到项目预期。
同时用量规为同伴的作品提供反馈。
教师使用量规来评价。
(见附件3)
项目活动评价表
对整个项目学习过程中各环节,学科核心素养达成的情况进行评价。
(见教科书附录2)
十、项目实施说明
(一)关于课时分配
建议课时分配如下:
第1课时:
范例学习、项目选题与项目规划、探究活动(活动1)
第2课时:
探究活动(活动2)、项目实施
第3课时:
项目探究(活动3)、项目实施、成果交流、活动评价
(二)关于项目范例
本章教师通过“设计从A市到B市的最少耗时旅行路线方案”项目范例,引导学生学习“算法基础”。
(三)关于项目选题
围绕本章项目学习活动大主题“设计从A市到B市最佳的旅行路线方案”,根据生活中常见的最佳旅行路线方案,细化项目学习活动的主题,组织学生开展学习。
(1)设计从A市到B市耗时最少的旅行路线方案;
(2)设计从A市到B市交通费最少的旅行路线方案;
(3)设计从A市到B市路程最短的旅行路线方案;
(4)在不超预算的情况下,设计从A市到B市耗时最少的旅行路线方案;
(5)自拟……
(四)关于探究活动
“探究活动”对应项目范例的主题,串联知识点,学生在学习范例的同时自选项目主题,结合范例学习,完成自选主题的项目探究活动。
“探究活动”的设计,使得学生在做项目的过程中学习知识、建构知识。
教师提供记录表单和学习资源对学生的自主探究给予帮助和支持,以提高学生的学习效率和维持学生的学习兴趣。
十一、附件
附件1:
项目范例可视化报告
从A市到B市耗时最少的旅行路线方案设计报告
一、引言
数据在信息社会中具有重要价值,掌握数据处理的基本方法与技能具有重要意义。
随着数据的快速增长,人工方式处理海量数据的效率正变得低下,因此掌握利用计算机和算法更高效地分析和解决问题的方法在计算机科学界的作用日益凸显。
二、设计目的
中国桥、中国路、中国车、中国港、中国网,一个个奇迹般建造起来的工程,让人民切切实实感受到生活的便捷、美好和幸福。
截至2017年10月,中国高速公路里程13.1万千米,位居世界第一,2020年将达15万千米;高铁里程2.2万千米,位居世界第一;城市轨道交通4153千米,位居世界第一;光缆线路3041万千米,位居世界第一;世界前10的斜拉桥,中国占7座;世界前10的悬索桥,中国占6座;港口吞吐量世界前10名中国占7席。
当从A市到B市没有直达的交通工具时,人们可以利用铁路公司、汽车客运公司和航空公司公布的信息,设计出最佳的旅行路线。
体验计算机解决问题的过程,理解和概述算法的概念与特征,学会运用恰当的描述方法和控制结构表示简单算法,懂得描述程序设计语言产生与发展的过程,了解不同种类程序设计语言的特点。
三、需求分析和功能描述
1.需求分析
需求由以下三部分构成:
(1)体验人工与计算机解决问题的过程。
(2)探究计算机解决问题的算法。
(3)了解计算机解决问题的程序。
2.功能描述
(1)设计从A市到B市耗时最少旅行路线的问题分析。
(2)设计从A市到B市耗时最少旅行路线的算法。
(3)编写求解从A市到B市耗时最少的旅行路线问题的程序。
四、设计工具和方法
利用思维导图工具和“头脑风暴”的方法组建团队、明确任务;采用搜索技术,实施探究。
五、设计步骤与过程
1.设计从A市到B市耗时最少旅行路线的问题分析
我们从铁路公司、各航空公司和汽车客运公司网站得知,直达B市的交通工具只有火车和汽车两种,出发地有B1,B2,…,Bk市(没有A市),从A市出发到B1,B2,…,Bk市的交通工具有飞机、火车和汽车三种,这样从A市经B1,B2,…,Bk市到B市的交通情况如右图所示。
由于从A市到B1,B2,…,Bk市有不同的交通工具,每一种交通工具又有不同的班次,因此从A市出发到中转城市B1,B2,…,Bk市就有M1、M2,…,Mk种班次。
同样,从中转城市B1,B2,…,Bk市到B市也有不同的交通工具,每一种交通工具有不同的班次,因此从中转城市B1,B2,…,Bk市到B市就有N1,N2,…,Nk种班次。
于是从A市经B1,
B2,…,Bk市到B市的交通班车(班机)数共有:
S=M1×N1+M2×N2+…+Mk×Nk
寻找从A市到B市耗时最少的旅行路线问题就转化为在S种联运班次中找到一种耗时最少的联运班次。
这样就需要遍历每一个班次进行比较,人工方式找到能够中转且等待时间和行驶时间最少的班次,工作量极其浩大!
假设从A市到B市的中转城市只有B1,B2市,从A市经B1,B2市到B市的交通情况如表3-2和表3-3所示。
于是,从A市经B1市到B市的联运班次有7×9=63班;从A市经B2市到B市的联运班次有12×9=108班,合计为S=63+108=171班。
然后在171班次中找到能够中转且等待时间加上行驶时间最少的联运班次,如下图所示。
当数据量很大,人工处理效率很低时,我们可以借助计算机,通过编写计算机程序解决问题。
在利用计算机解决问题之前,我们首先要分析问题的需求情况、已知条件和需要解决的问题。
在从A市到B市耗时最少的旅行路线问题中,在不知道有多少个中转城市和每个城市有多少班车(或飞机)的情况下,我们可以利用大数据挖掘技术中的爬虫程序(参见配套学习资源包“第三章\课本素材\程序3-1”)到铁路网站、各航空公司和汽车客运公司网站获取从A市经中转城市B1,B2,…,Bk市到达B市的交通班次信息,经过数据清洗,形成结构化的数据存储为Excel文件。
2.设计从A市到B市耗时最少旅行路线的算法
从A市到B市耗时最少的旅行路线问题,根据获取的从A市到B市的中转城市B1,B2,…,Bk的班次,以及各城市各交通班次的发车时间和行驶时间等信息,采用以下的思想找出耗时最少的联运班次问题,即算法如下:
(1)分别找出能够中转的从A市经B1,B2,…,Bk市到达B市的联运班次,并计算所用的时间。
(2)分别找到能够中转的从A市经B1,B2,…,Bk市到达B市的联运班次中耗时最少的联运班次,共k条线路。
(3)取k条线路中耗时最少的联运班次为最佳旅行路线。
3.编写求解从A市到B市耗时最少的旅行路线问题的程序
Python语言编写从A市到B市耗时最少的旅行路线问题的算法的程序可参见配套学习资源包“第三章\课本素材\程序3-1”。
其中,找出能够从A市经Bi(i=1,2,…,k)市到达B市的中转联运班次,并计算所用的时间以及找到耗时最少的联运路线的关键程序段如下。
六、设计成果
1.计算机解决问题更高效、更便捷
在现实生活中,我们经常需要对数据进行统计、分析。
当数据量不多时,我们可以采用人工方法来处理;然而,当数据量变多时,运用计算机解决问题将是一种更高效、更便捷的方法。
在从A市到B市耗时最少的旅行路线问题中,我们分析并设计了算法和编写了程序之后,可以快速地找出从A市到B市耗时最少的旅行路线问题的结果,如下图所示。
2.算法是计算机解决问题的核心
算法是指在有限步骤内求解某一问题所使用的一组定义明确的规则。
通俗地说,算法就是用计算机求解某一问题的方法,是能被机械地执行的动作或指令的有穷集合。
描述算法的常用方法有自然语言描述算法、流程图描述算法和伪代码描述算法。
3.计算机程序就是指计算机可以识别运行的指令集合
计算机程序是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。
简而言之,计算机程序就是指计算机可以识别运行的指令集合。
在用计算机解决问题时,用自然语言、流程图或是伪代码所描述的解决问题的算法都不能被计算机直接执行,还必须将算法按照一定的规则编写成计算机能够识别和运行的程序。
而人们编写程序的时候需要遵循的规则就是计算机语言规则。
计算机程序设计语言,是指一组用来定义计算机程序的语法规则,通常简称为“编程语言”。
它是一种被标准化的交流技巧,用于向计算机发出指令。
正确地使用计算机程序设计语言,能让程序员准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应执行的命令。
七、结语
本章通过“设计从A市到B市最佳的旅行路线方案”项目,进行自主、协作、探究学习,让同学们体验计算机解决问题的过程,理解和概述算法的概念与特征,学会运用恰当的描述方法和控制结构表示简单算法,懂得描述程序设计语言产生与发展的过程,了解不同种类程序设计语言的特点,从而将知识建构、技能培养与思维发展融入运用数字化工具解决问题和完成任务的过程中,促进信息技术学科核心素养达成,完成项目学习目标。
附件2:
项目学习活动记录表
第三章项目学习活动记录表
班级小组编号
项目选题
项目主题
项目目的
小组成员及分工
组长:
记录人:
备注或其它说明:
项目规划
问题列表
编号
问题内容
方法
项目规划(思维导图):
探究活动
项目实施
活动1:
结合本组选题,通过学习和交流,体验计算机解决问题的过程。
知识技能(计算机解决问题的过程)
分析问题
设计算法
编写程序
调试运行程序
人工解决与计算机解决问题方式的异同讨论记录
求解问题的方式
相同点
不同点
人工求解问题
用计算机求解问题
小组项目成果(学习小结)
活动2:
通过观察、学习和实践尝试,了解算法及其描述方法,完成小组项目问题的算法设计及其描述。
知识技能
算法的定义
算法的特征
三种算法描述方法比较:
算法描述方法
优势
不足
自然语言描述法
流程图描述法
伪代码描述法
用流程图描述欧几里得算法:
小组项目成果
设计项目问题的算法(用自然语言描述):
设计项目问题的算法(用流程图描述):
活动3:
通过讨论、学习、网上检索了解计算机程序和程序设计语言,尝试下载、安装和运行相应的程序设计软件。
知识技能
认识计算机程序的问题列表及分工
问题
信息的获取过程
选择信息来源
确定信息获取方法
评价信息
分工及实际安排
认知程度(认识/了解/描述/掌握)
问题1:
什么是计算机程序?
问题2:
程序设计语言有哪些?
问题3:
问题4:
问题结论(选择上表中一个问题,将了解的结果记录下来):
三代语言优势与不足:
语言类型
是否翻译(编译)
优势
不足
机器语言
汇编语言
高级语言
两类语言比较:
语言种类
优势
不足
编译型语言
解释型语言
完善下列高级程序语言的编译过程与解释过程流程图:
附件3:
作品评价量规
项目及分值
评分标准与分值
得分
自评
互评
作品选题
20
准确把握项目学习的意义和目的。
5
选题切合实际、符合科学。
5
选题有应用价值、创新价值。
5
选题适宜解决、可行性高。
5
规划与分析
15
准确分析设计的目的。
5
准确分析方案的需求。
5
准确描述方案的功能。
5
工具与方法
10
合理使用数字化工具及资源。
5
围绕项目进行自主、协作学习。
5
步骤与过程
30
交流与沟通的团队合作能力。
5
能完整经历计算机解决问题的过程。
5
运用流程图描述算法。
10
通过探讨和网络检索了解计算机程序和计算机语言。
10
成果与报告
15
明确问题,设计出最优线路选择的合适算法。
10
能运用三种常用方法之一描述项目问题的算法流程。
10
报告内容完整,结构清晰,排版美观。
5
合计得分
100