APP下载

高中算法与程序设计教学的意义和有效性

2020-01-08范云春

科学咨询 2020年11期
关键词:程序设计思维能力计算机

范云春

(徐州市侯集高级中学 江苏徐州 221000)

算法与程序设计模块教学旨在培养学生的计算思维、逻辑思维能力,培养学生把一个大问题分解成多个小问题,再用算法和计算机语言来解决问题的能力[1]。该模块的教学与计算机技术的发展和社会对人才的需求密切联系,能激发许多优秀学生的学习兴趣,启发他们的智慧,促进综合素质的提高。

一、算法和程序设计教学的意义

如今,人类社会对信息技术高度依赖,计算机科学越发重要,培养学生的计算思维能力成为必然。如何有效培养这方面的能力,成为国内外计算机教育界与科学界关注的焦点。中学算法和程序设计的教学对学生的全面发展具有重要意义。

(一)算法和程序设计教学拓展了学生知识面,引领学生走进信息科学的殿堂

编程教育在世界各国已经成为孩子继阅读、写作、算术这三项基本能力外需要掌握的第四项必备技能。而计算思维属于三大科学思维的范畴,是人应该具备的重要能力之一[2],与我们的生活息息相关,更关乎对学生创新能力的培养。算法与程序设计的教学会帮助学生推开一扇门,让他们在一个0和1的世界中去创造和发现,让感兴趣的学生及早步入信息科学的殿堂。

算法与程序设计课程可以拓展学生的知识面,激发学生的求知欲。例如,在学生学习语言的过程中,教师要讲信息的二进制表示,在这个0和1、有和无的世界中,计算机是怎么用简单的0和1表示五彩缤纷的信息的,还要讲字符信息的编码ASCII码。在讲进位制或按位计数法的过程中,教师会讲二进制、十进制、八进制、十六进制,让学生知道不同位的意义。教师还可以加上不使用按位计数法的罗马数字,用钟表表盘上的罗马数字来拓宽学生的知识面。I表示1,IV表示4,V表示5,X表示10,L表示50。古罗马人已经学会把IIIII看成一个单元V,即5来表示了。人类很早就掌握了把大问题分解成小问题来解决的方法。这是计算机算法设计的一个重要内容,也是生活中问题求解的步骤和方法。教师可以带领学生重温人类计数的历史和文明的演化,在网上搜索相关图片并做成精美课件。学生会对此产生浓厚的兴趣,恍然大悟:原来人类计数的历史这么悠久和丰富多彩。现在的计算机使用的二进制,其速度和应用的广度都是人类计算领域的进步。

(二)培养学生的探索精神及解决问题、自主学习的能力

程序设计的步骤是分析问题、设计算法、编写程序、调试运行[3]。算法设计是程序设计的核心。学生要分析教师给出的问题,开动脑筋设计出解决问题的算法,最后编写计算机程序来解决。这既培养了学生探索精神,又使学生的计算思维得到了启发和锻炼。例如,在猴子吃桃的例子中,猴子每天吃的数量是树上桃子的一半再多1个,第十天,树上还剩下1个桃子。那么,第一天有多少个桃子?学生要分析第九天、第八天桃子的数量,从而找出规律,找到递推公式,设计出算法。面对兔子繁衍、汉诺塔、阶乘等问题,学生也要学会把复杂的问题变成简单的问题,把大问题变成小问题,找出规律和方法。这也是人们解决日常生活中的问题的方法和步骤。

算法和程序设计教学使数学和程序设计融合在一起。算法设计离不开数学,提高了学生学习数学的兴趣。例如,在求最大公约数时,可用迭代法;在求素数时,可用枚举法;在解决猴子摘桃问题时,可用倒推法;在解决排列组合问题时,可用归纳法;在数组排序问题中,可用冒泡、选择、插入排序方法;在查找中,可用顺序查找和二分法查找。学生通过学习算法和程序设计,能把数学和程序设计紧密联系起来。学生要从问题中提炼出数学模型,设计算法、编写程序,用计算机语言解读,培养计算解题的能力,也就是计算思维的能力。

在学习高级语言的过程中,感兴趣的学生会迫不及待地去学习一些超前知识点,如顺序结构、选择结构、循环结构、数组排序等,很多都可以自学完成。例如,在递归函数的教学中,在求解阶乘、裴波那切数列、汉诺塔等递归调用问题时,有的学生会自己在网上查找资料,深入地探究学习,探索设计算法。这样的学习和计算机编程实践能培养学生自学能力和探索精神。自学能力是学生将来学习、工作和生活必备的法宝。

(三)培养学生严谨、细心的做事习惯

在算法和程序设计教学中,学生要设计算法和编写代码。算法的设计要严谨、准确,不能模棱两可。在程序代码输入的过程中,学生难免会出现错误。每一个代码的错误都会使程序无法执行。在查找错误时,学生要不断调试和完善,最终得出正确的结果。这能培养学生耐心、细致、严谨、有条不紊的做事习惯。计算机解决问题的步骤是严谨的,是不可以跳跃和省略的。学生可就此认识到,计算机需要一条、一条地执行语句。编程会培养学生细心的习惯。一种好的习惯会影响到各个学科的学习,对学生的终身教育和发展具有促进作用。

(四)培养学生计算思维能力

算法和程序设计课程的教学能培养学生全面发展,尤其是培养学生的计算思维能力。计算思维能力的培养体现在学科教学的全过程中。计算思维需要学生拥有较强的创新能力。而有效培养学生思维能力,则是培养创新能力的最终目的。计算思维是培养创新性人才的主要目标。这就需要教师以计算思维为中心,将其体现在不同课程中。目前,各个学科的发展对信息技术的依赖程度越来越高,要求学生必须具备计算思维。算法和程序设计的教学也能培养学生这方面的能力。

二、教学策略的选择

算法与程序设计课程的理论与实践是一体的,实践性较强,需要学生上机实践操作,验证自己设计的算法和程序,理论和实践相互促进。在上机过程中,教师应适时提供帮助,也可以把学得好的学生培养成小老师,有助于培养团队精神。将“讲授、演示、练习”的传统模式转变为“重视模仿、练习、创新”的模式,相较于发现与探究对策,效果明显更好。

(一)确立发展计算思维的教学目标

教学目标是在教学完成后,学生尽可能达到知识技能、过程方法及情感态度价值观等方面的要求,被视为教学任务是否完成的参考依据之一,也被视为某节课的核心。教师在明确三维目标的过程中,需要考虑的问题主要包括以下几点:本节课学生需要学习什么内容?需要掌握什么技能?运用哪种方式实现?学生最终需要获取哪方面的情感体验?对此,教师应将学生的计算思维能力发展编入教学过程和方法中,也列入情感态度价值观的培养中。这就是学生需要在思维层面达到的目标。教师要明确把培养计算思维写入教学设计,具体到例题。

(二)细化任务模块,发展计算思维

教学目标的具体化过程就是设定教学任务的过程。合理的教学任务往往具有较强的可行性和趣味性,对学生计算思维能力的培养有促进作用。在算法与程序设计教学中,教师应该明确学生要做的事情是什么,需要解决什么问题,最终要达到什么目标。学生在收到任务后,应该探究任务的完成步骤,在脑海中形成完成任务的思路,制定初步的实施方案。具体步骤如下:第一,分析问题,找出问题关键点;第二,数据分类,对其进行抽象处理;第三,启发推理,用最自然的语言将预期方案表述出来;第四,创建相关模型或流程图;第五,编写程序代码;第六,上机对数据进行调试;第七,整理研究重点。教师设计任务无需十全十美,可以采取较为灵活的方式,将部分思考空间留给学生,引导他们主动尝试和探究,从不同方面学会运用各异的方法解决问题,避免思维固化。

算法与程序设计是高中信息技术教育中不容忽视的一个模块。设置本模块是为了培养学生使用计算机解决问题的能力,不管是现在使用的VB程序设计,还是即将使用的Python语言,其目的都是为了培养学生的计算思维,其核心都是算法,是对计算机解决问题的过程进行更好的阐述。总之,该模块的设置是时代发展的需要、人才培养的需要,对学生计算思维能力及其他方面能力的培养有极大的促进作用,将是信息技术教学中的“点睛之笔”。

猜你喜欢

程序设计思维能力计算机
计算机操作系统
医学专业“Python程序设计”课程教学改革总结与思考
培养思维能力
基于Visual Studio Code的C语言程序设计实践教学探索
基于计算机自然语言处理的机器翻译技术应用与简介
计算机多媒体技术应用初探
从细节入手,谈PLC程序设计技巧
信息系统审计中计算机审计的应用
高职高专院校C语言程序设计教学改革探索