摘要:算法和程序设计教学会加深学生对计算机科学的认识,使他们从游戏、聊天、打字、表格处理等对计算机工具作用的认识上升到计算机科学的高度上来,对学生的编程教育起到启蒙作用。笔者通过具体教学实例探讨在课程中扩展学生知识面、培养学生计算思维能力,依据高中生个人特点与算法和程序设计的教学情况,让学生在学习信息课程的过程中进一步提升核心素养,进一步提升计算思维能力。

关键词:计算思维;逻辑思维;推理

算法与程序设计模块教学旨在培养学生的计算思维、逻辑思维能力,培养学生把一个大问题分解成多个小问题,再用算法和计算机语言来解决问题的能力[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语言,其目的都是为了培养学生的计算思维,其核心都是算法,是对计算机解决问题的过程进行更好的阐述。总之,该模块的设置是时代发展的需要、人才培养的需要,对学生计算思维能力及其他方面能力的培养有极大的促进作用,将是信息技术教学中的“点睛之笔”。

参考文献:

[1]刘宝仙.高中信息技术《算法与程序设计》模块课堂教学有效性探究:与数学“算法初步”整合教学行动研究[J].海峡科学,2012(2).

[2]赵倩倩.基于计算思维的高中信息技术课程有效教学策略探究:以“算法与程序设计”模块为例[J].中国信息技术教育,2015(17).

[3]结城浩.程序员的数学[M].管杰,译.人民邮电出版社,2012.

作者:范云春 单位:徐州市侯集高级中学

阅读次数:人次

计算机算法对程序设计的作用,【程序设计论文】高中算法与程序设计教学意义及有效性(共3796字)...相关推荐

  1. 大学计算机基础线下作业,【计算机基础论文】大学计算机基础教学新形式探究(共4665字)...

    1"1+X"的计算机基础教学课程体系 实践育人是目前我国大学教育面临的新问题尽管多年来大学教育一直强调教学实践,但是如何完善实验环境,使实践教学与课堂教学有机融合,是我们面临的问题 ...

  2. 舞蹈里需要用计算机的地方,【舞蹈教学论文】计算机多媒体技术在舞蹈教学中的应用(共2080字)...

    1计算机多媒体技术在舞蹈教学中的应用 首先,在课堂中可以把声音.光影变化.动画.影片等素材有机的整合在一起,丰富课堂教学的内容,刺激学生学习的兴趣,使学生能够通过多媒体客观感受.感知评价自己的动作,及 ...

  3. 计算机对环境设计的作用,【环境设计论文】表现技法在环境设计专业的重要性(共2876字)...

    [摘要]现如今,在设计行业里,由于科技的发展,手绘的方式正逐渐减弱被很多学生所忽视.对于此现象,笔者将会结合实践之中的教学经验,针对环境设计专业教学,分析出手绘效果图表现技法课程的重要性. [关键词] ...

  4. C语言的广泛作用的论文,高职C语言课程教学论文

    高职C语言课程教学论文 时间: 2014-04-23 栏目: 高职C语言课程教学论文 提高高职C语言课程教学效果的研究与实践 文/杨晓明 刘淑婷 摘 要:C语言是高职院校学生接触的第一门计算机语言课, ...

  5. 计算机类教育实验学院,【计算机专业论文】计算机专业实验教学革新路径探索(共3994字)...

    一.计算机专业实验教学存在的问题 1.课程考核方式落后.计算机专业实验教学经过了多年的经验积累与教学改革,多数实验已由原来的课内实验变为独立开设的实验课程,实验教学已不再是理论教学的一部分,不再是理论 ...

  6. 计算机基础教育德育教学,【家庭教育论文】计算机基础教学的德育教育(共2650字)...

    摘要:在中职计算机教育开展的过程中,许多的教师往往只注重学生对于计算机基础知识的掌握情况,而并没有能够重视学生的综合素质的提升也就导致许多学生存在道德意识薄弱的情况,无法有效的提高学生的综合能力.本文 ...

  7. 计算机学业水平测试字处理多少分,【计算机应用论文】计算机应用基础学业水平的测试问题(共3624字)...

    [摘要]本文从学业水平测试的作用,以及学业水平测试的安排进行了阐述,并指出了当前教学中存在的问题和解决的策略,具有一定的借鉴意义. [关键词]学业水平测试:计算机 福建省于2016年下发了<福建 ...

  8. 计算机项目教学法探讨,【计算机教学论文】项目教学法在计算机教学中的应用(共3594字)...

    摘要:计算机教学质量的高低决定着技工院校学生计算机专业水平和实践能力的高低,将项目教学法应用于技工院校计算机教学中,能够弥补现有教学模式和教学方法的不足,对提高计算机教学质量有着积极促进作用.因此,笔 ...

  9. 计算机健康教育应用的意义,【计算机信息论文】计算机信息在心理健康教育中的实效性(共2561字)...

    一.计算机信息技术与心理健康教育课程团体辅导的有机整合 心理健康教育课程主要是针对学生的心理发展特点以及规律来开展的,在教学过程中,全体的学生为指导对象,技术与理论指导为团体心理辅导,并以各种活动的形 ...

最新文章

  1. 等我敲完这行代码,就和你离婚!
  2. 如何查看spark消耗的内存_Spark优化(三)----数据本地化及内存调优
  3. 云栖大会|十年阿里云存储进化史:今天最好的表现就是明天最低的要求
  4. UVa 400 (水题) Unix ls
  5. python学习笔记 程序执行过程 基本数据类型
  6. VUE基础篇Part5(内置指令)
  7. 定义一个描述学生通讯录的类AddressBook并输出
  8. 应用StarRocks实现存储引擎的收敛,保障高查询并发及低延迟要求
  9. 决策树——(一)决策树的思想
  10. hook C++类的虚表,替换成其他函数
  11. pmon下修改分辨率示范
  12. 首席谈判官的定义和职责
  13. EDIUS中怎么实现卡拉OK字幕的制作
  14. 中考计算机操作题试题文档,初中信息技术_中考信息技术操作题
  15. 万文长字总结「类别增量学习」的前世今生、开源工具包
  16. python+ pyqt5 实现最简单的计算器
  17. 最新!进返京不再查核酸、健康码
  18. python下vtk及mayavi的安装
  19. 微信APP支付-Java后台实现
  20. ghost后只剩下C盘的数据恢复方法

热门文章

  1. SAP中采购非评估收货应用分析实例
  2. 22年全国程序员1月薪资出炉,年收入 40 万以上的人为何那么多?
  3. Vue在线预览ppt,可嵌入组件显示也可新开页面显示
  4. 网络安全学习2个月,感觉什么都不会?
  5. 投入linux怀抱,拜拜win
  6. Nginx 配置图片反向代理
  7. 全球与中国导热凝胶市场竞争格局深度分析与运营投资研究报告2021年版
  8. 以是即便再闲也抽暇伴妻子瞅电瞅、游婆园
  9. Python统计某一只股票每天的开盘,收盘,最高,最低价格!
  10. 微信小程序 基础语法