APP下载

《算法与程序实现》教学内容初探

2019-11-20王飞

中国信息技术教育 2019年20期
关键词:课标算法案例

王飞

《算法与程序实现》是高中信息技术学科得以立足的核心内容之一,充分体现了学科特色与价值。在新课标的引领下,如何落实《算法与程序实现》相关内容?如何把握这部分内容的精髓,引领学生构建学科特有的思想方法和操作范式,从而提升学生的计算思维能力?这些都是每位信息技术教师需要思索与探究的问题。

《算法与程序实现》教学并不是一个新的内容,它是我们这个学科的立身之本。早期的教学注重语句命令的解读、调试,如今的教学更加关注学生思维和意识的培养。在对这部分教学内容的长期教学实践与研究过程中,信息技术学科教师积累了大量丰富的经验和实践案例。随着技术的飞速发展,相关知识结构和体系也在发生着变化;对学科教学理解的不断深入和教育理念的不断更新,促使我们需要花费更多的精力去研习这部分内容,以使教学始终跟上时代发展的步伐。近些年人工智能教育探索的深入,要求我们更多地思考算法、编程、人工智能之间的关系是什么,如何在《算法与程序实现》中体现更多的新知与价值。

《课标》的启示与思考

在《普通高中信息技术课程标准(2017年版)》(以下简称《课标》)中,《算法与程序实现》包含在必修模块1“数据与计算”中,人工智能相关的内容也建构在这一部分基础之上。通过对《课标》的研读,笔者认为与以往相比,《算法与程序实现》这部分有以下几个新的特点。

1.注重学科思想方法,突出学科核心价值

在以往的教学过程中,我们通常将算法与程序实现当作教学过程的一个重要内容,更多地从知识层面去落实经典算法的原理与实现过程,关注具体语句的落实、程序的调试等工作。在《课标》中,《算法与程序实现》的相关内容延伸到整个课程体系中。教学强调对综合任务的解决过程,关注利用算法和程序设计将实际问题落地。在这个转变中,《算法与程序实现》的定位就不再仅仅是其中的一个教学内容,更要将其定位成贯穿于整个学科的思想方法与解决问题的操作范式,是构建整个学科的方法论和实践指南。它需要教师引导学生将算法与程序实现作为信息技术学科处理实际问题的一种有效的方法和手段,强调知识体系的构建与实践经验的结合。

2.关注实际生活,建立抽象模型

在内容要求和教学提示部分,《课标》多次强调基于生活中的问题情境创设,从生活中的实例出发,引导学生对问题进行理解。在这个过程中,要引导学生从生活实例中提炼本质问题,设计解决问题的一般方法,建立抽象模型。在以往的教学中,教师通常会直接抛出一个算法问题,引导学生分析解决,编程实现。而学生可能更加关注问題解决方法的意义和实践价值,单纯的算法学习可能会降低他们的学习兴趣,同时不利于学生对知识的深化理解。因此,在讲解算法的过程中,可以从具体的实例入手,引导学生去理解现实中需要解决的核心问题,找到影响问题解决的关键要素,通过分析各要素之间的关系,以适当的方式表达出来,构建出抽象的描绘问题的模型,转化成相应的算法和程序代码,运行、调试,解决问题。在实现基本过程后,还要在原来实例的基础上进行拓展与发散,完成深层次的探索与应用。

3.项目学习引导,关注数据的运算与处理

从对《课标》的阅读中不难发现,《算法与程序实现》内容置于数据与计算模块之中,强调算法在数据处理中的重要作用。在教学过程中,建议采用项目学习方式,在项目完成过程中深化算法原理,内化知识点,完善编程技术的实践操作内容,将实际问题转换成为数据处理的算法问题,利用程序落实数据相关的操作。在每个环节中,需要关注的问题如右图所示。

教材内容分析与重组

与其他学科相比,由于信息技术知识更新快,地区间信息化差异大,学情复杂,因此,信息技术学科对教材的依赖程度相对较小,需要教师灵活处理教材,在把握教材核心内容的同时,要根据情况对内容进行合理加工。分析教材是完成进一步优化教学内容的第一步,以人教版必修一内容为例,在《算法与程序实现》单元(包含人工智能内容),案例与知识点内容呈现如表1所示。

《算法与程序实现》被安排在第二章,以自动红绿灯系统为贯穿整章节的线索,在涉及到具体知识点与程序结构和基础算法时引入了常用的数学经典案例,如枚举、排序等问题,尝试在知识上进行突破。人工智能体验环节则是在第四章,在完成基本内容后,在Python模块使用的基础上,引入itchat模块和函数调用相关的知识,完成信息值守机器人应用的开发。整个《算法与程序实现》的过程与项目的实践过程紧密相连。笔者认为,在使用教材时,应该关注如下问题。

1.及时搭建脚手架,帮助学生克服学习困难

从表1不难看出,与原来的教材相比,这部分在内容处理和案例选择环节变化较大。以综合案例为基础,详尽阐述问题解决的思维路线,并试图将相关的算法内容进行整合与引申,但解决与实践层面缺乏完整的技术路线,对于刚刚接触Python的教师而言,很难从中梳理出一条清晰的线路去组织教学,对于几乎处于零基础的学生而言,这些案例相对综合,在学习过程中缺少专业知识和脚手架的支持。

从知识结构看,项目学习的方式侧重问题解决的过程,知识框架被打散。对于还没有构建起知识体系的学生而言,直接引入综合案例不利于理解,同时不利于知识结构的搭建,无法形成清晰的知识线路和思维脉络,在这样的情况下,照本宣科不利于教学内容的落实。

从技术实践与操作层面上看,教材中给出了宏观的操作范式,具体的落实细节则是以一种粗线条的方式,通过知识链接进行过渡,并没有给全完整的代码和解决方案。在这种情况下教师如何根据学生的学情搭建脚手架,是亟待解决的问题。

2.基础知识的落实与知识的重构

通过上述分析可知,在进行课堂教学和案例加工时需要关注具体知识点的渗透与知识的重组,尤其要关注Python语言特质内容在《算法与程序实现》过程中发挥的作用。笔者认为在教学过程中,Python的基础知识和程序设计的精髓内容一定不能忽略,要在构建基本知识框架的前提下聚焦方法引领、任务的解决和项目的设计。

猜你喜欢

课标算法案例
样板案例
NSE 9A-Module 4-Unit 2案例设计
Travellng thg World Full—time for Rree
学习算法的“三种境界”
算法框图的补全
算法初步知识盘点
2016年全国课标卷透视与2017年备考展示
“转化策略”在课标卷选考题中的应用途径探析
随机变量分布及统计案例拔稿卷
难以一致的统计结果