互联网 qkzz.net
全刊杂志网:首页 > 小学 > 文章正文
刊社推荐

想法-算法-软件:勾画思维、技能发展路线


□ 王爱胜

  自计算机文化论被提出后,计算机编程技术一度影响了全球教育,编程能力成为大学计算机教育非常看重的一项能力。随着图形界面的应用与发展,计算机工具论一度占了上风,编程教育有所弱化。也就在近几年,随着技能教育的回归,程序设计教学又迎来了新的生命。
  回顾编程教育的发展历程,对于计算机语言教学、算法教学和软件创作教学三个方向,教育实施者莫衷一是,也使编程技能的价值取向发生混乱——我们是教给学生计算机语言及其语法,还是教给学生用算法思想解决问题,还是让学生在创作软件中创新、创造?如果不明确以哪个作为课程的核心,必然会走进浅尝辄止的困境,让编程技术的价值缺失严重。
  在小学,不宜进行纯粹的程序算法教育。为什么呢?因为计算机算法是基于数理逻辑的推理设计,它离我们现实的生活规则还是有相当距离的。如果把基于计算机工作的逻辑规则运用于儿童的现实,其可接受度和对思维发展的干扰度还有待验证。所以首选的应是基于人机交互的可视化体验。从形象直观的界面,到人与计算机的交流、游戏,先后对基于表单的对象的创建、设置与控制进行理解,进而对人工智能进行尝试。可以结合可视化编程平台、计算机语言或者简易机器人实施教学。其次,结合LOGO等形象化编程语言,在对海龟画图的控制中体验与创新,对转向、重复、调用等编程特点进行认知。无论采用哪种教育平台,都要让学生通过程序控制实现自己的想法,体验人机互动的感性认识,培养创造精神。
  到初中,可以针对算法开展教学。第一个阶段,应是基础算法的教学,即把解决问题的思路向计算机程序解决方向转轨。这个过程很微妙,不仅要教授计算机语言的三种基本结构,还要结合生动、形象、恰当的实例,揭示用顺序结构的“从顶到下”特点确保“严格执行”;用分支结构进行判断实现“智能”;用循环结构反复执行达到“自动化”。例如,我们在程序中忌借用高斯公式通过简单的赋值语句求出“1+2+3……100”的值——这是人的算法,而不是计算机的算法。设计计算机的算法,要借助计算机判断准、运算快、可存储等特点。只要针对这些编程技术的核心价值,即使涉及搜索、筛选、递归等高级算法,也只是实现结构的难度不同,而不是新的技术难题。第二个阶段,或者结合趣味小软件制作,或者结合机器人编程控制,对软件内部的构造进行深入探索。其中,软件界面、功能设计将跳出小学的尝试性体验,机器人方案设计将跳出小学的功能性体验。
  在高中,算法这个核心将深入人心。首先,在必修课中通过编程经历解决问题的一般过程,对算法设计、代码编写、调试运行等环节提高认识。这样,一方面对编程的基本过程进行了明确,即明确了算法设计对规划的意义,代码编写对算法的实现作用,程序调试中的纠错、修订、改进等对算法的修订作用;另一方面通过实例对面向对象设计的思想进行明确,即对控件的功能分类作用、属性的数据封装作用、事件代码的响应驱动作用进行初步明确,以构建用底层代码解决问题的意识与素养,并在随后的选修课中通过软件研发项目(模型)的创意、规划、设计、运行等环节,在软件开发的实践意义上进行培养。
  三个学段算法教学的思维导图如下:
  
  无论到哪个阶段,由于编程是一种技术性很强、理解难度最大的教学内容,所以要特别注意两类问题。一是进行算法设计时要有体现计算机特点的针对性;二是进行软件设计时要有相对实践应用的价值性。防止出现“打印几行星号”、“两杯水互换”这类为举例而举例的现象,以免让知识成为教条,让技能虚化、价值弱化。
  (作者单位:山东青州市第一中学)
分享:
 

了解更多资讯,请关注“木兰百花园”
分享:
 
精彩图文
关键字
支持中国杂志产业发展,请购买、订阅纸质杂志,欢迎杂志社提供过刊、样刊及电子版。
关于我们 | 网站声明 | 刊社管理 | 网站地图 | 联系方式 | 中图分类法 | RSS 2.0订阅 | EMS快递查询
全刊杂志赏析网 2016