- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
参透算法要诀,剑指问题解决
李维明,教育部普通高中信息技术课标修订组核心成员,正高级教师(教授)
普通高中信息技术新课标实施之教学专题一
必修模块1的教学
必修模块1的教学概述
必修模块1的教学建议—单元1:数据与信息
必修模块1的教学建议—单元2:数据处理与应用
必修模块1的教学建议—单元3:算法与程序实现(含了解人工智能)
必修模块1的教学测评
参透“算法”
算法是指一个有穷规则的集合,也就是一个解决某一特定类型问题的运算序列。在计算机科学中,为保证计算机有序执行指令,算法都具有指定输入、指定输出、确定性、有效性和有限性五个基本属性——这些定义是比较专业而又抽象的。而在《标准》中,对算法学习的要求并不是那么专业,只是“从生活实例出发,概述算法的概念与特征,运用恰当的描述方法和控制结构表示简单算法”。这里提到的算法的“概念与特征”用前述的一段文字就可概括;对如何“运用恰当的描述方法和控制结构表示简单算法”也可以分别来认识。
首先什么才是描述算法“恰当的”的方法,《标准》里并没有明确指出,但在目前教育部已经审定的几套教材中,几乎都有着同样的表述——描述算法的方法有“自然语言”“流程图”和“伪代码”等三种,而对“控制结构”也同样说明有“顺序结构”“选择结构”和“循环结构”等三种。
然后就是如何“运用”这些方法和控制结构来描述算法。《标准》中提出:“创设程序设计的活动情境,组织学生在解决问题的过程中探究顺序结构、选择结构和循环结构的特点,通过小组学习,分析问题,设计解决问题的算法。”这里提到的创设“活动情境”,是什么样的情境呢?教材中也将其具体化了:有描述洗衣机“洗衣流程”的,也有描述“红灯变绿灯”的,还有A市到B市“最短路线”的……不管设置什么样的情境,都是便于学生“探究”方法结构的特点,“设计”解决问题的算法。
倚重“编程”
所谓“编程”,就是使用某种语言进行程序设计,从而实现算法的通俗说法。在《标准》中,对编程的要求首先是“掌握一种程序设计语言的基本知识”,这是《标准》中少有的提法。何为“掌握”?一般的解释是:能理解学习材料的内涵和意义,并能在熟悉的基础上加以灵活运用。由此可见《标准》要求的“掌握一种程序设计语言的基本知识”就是要求学生能理解“程序设计语言”的内涵和意义,在熟悉“程序设计语言”的基础上,能灵活运用,从而达到“使用程序设计语言实现简单算法”的要求。
“掌握”的含义不仅仅如此,更需要“通过解决实际问题,体验程序设计的基本流程,感受算法的效率,掌握程序调试与运行的方法”。什么是实际问题呢?《标准》给出了一些例子。例如,通过编程实现枚举法中的“百钱买百鸡”等经典案例,体验程序设计的基本过程,学习程序设计的基本方法;通过设计“选课系统”“趣味小游戏”等具有一定实用价值的程序,培养学生利用程序设计解决实际问题的基本能力。
其中“百钱买百鸡”的问题,是我国古代的一道经典的数学题,解决时需要先分析问题,寻找解决问题的方法,然后再将其抽象,建立数学模型,设计出算法,用计算机语言设计程序,运算出结果。而对于选课系统,趣味小游戏则需要花更多的时间去进行需求分析,搞清楚需要解决的问题是什么,然后才能建立模型设计算法,最终达到解决问题的目的。所以,不管解决什么样的实际问题,都需要亲历计算机解决问题的一般过程:分析问题—设计算法—编写程序—调试运行。
从以上分析可以看出,编程是实现算法、解决问题的重要手段,也是《标准》必修模块1教学的重难点所在,建议教学时预留足够的课时,让学生动手设计程序、调试程序,从而掌握编程解决真实问题的基本技能,以达成本模块的教学目标。
如果把眼界再放开来看,整个高中的信息技术课程,用“数据”“算法”可以将其贯穿,而实现算法、处理数据的方法其实都与编程解决问题息息相关(如下页图)。
由此可见,“掌握一种程序设计语言的基本知识”、编程“解决实际問题”的技能何其重要。在教学中一定要对其高度重视,特别是在必修模块1的教学中,绝不能掉以轻心。
至于学习编程时选择什么语言,《标准》并未指定,不过从教育部新审定通过的五套教材来看,全都不约而同选择了当今最为流行的编程语言:Python。这是因为Python有相对较少的关键字,结构简单,有一个明确定义的语法,学习起来更加简单;Python代码定义得更清晰,易于阅读;Python的源代码易于维护;Python语言是免费使用的,获得也十分容易。当然,选择什么语言并不重要,因地制宜才是正确的选择之道。
这里的几个关键词是“剖析”“了解”“认识”,这正好表明了对人工智能部分学习要求的程度,其中最难把握的是“剖析”。《中国现代汉语大词典》对“剖析”的解释是:“【剖析】动分析、解说。”这是动词,是需要在教学中对“人工智能典型案例”进行“分析”“解说”,从而达到“了解”和“认识”的作用。那什
文档评论(0)