论文网
首页 基础教育信息技术教学正文

每个人都应该学习编程

  • 投稿夏天
  • 更新时间2015-09-02
  • 阅读量436次
  • 评分4
  • 71
  • 0

【摘 要】中小学阶段开展编程教育,其目的不是培养程序员,也不是仅仅学会编程,而是通过教学活动,向学生渗透程序设计思想,促进学生高级思维的发展,为培养创新人才打好基础。在开展程序设计教学时,将编程思想的建立和代码的编写技巧两个难点分散到两门课中,分阶段进行教学,以降低课程的学习难度,提升学生的学习乐趣和信心。Scratch图形化编程语言具备易入手、交互性强等特点,比较适宜作为现阶段中小学编程教育的入门软件。

【关键字】信息技术;编程教育;程序设计;Scratch

【中图分类号】G718 【文献标识码】B

【论文编号】1671-7384(2014)07/08-0158-03

史蒂夫·乔布斯曾说过这么一句话“每个人都应该学习编程,因为它教会你如何思考,会编程的人总想改变点什么。”乔布斯创立了苹果,iPhone、iPad、iPod每一样产品都在改变着我们的日常生活。在我们生活的这个时代,你会发现有类似乔布斯的这样一群人,他们对世界的影响越来越大。比尔·盖茨创立了微软;谢尔盖·布林和拉里·佩奇创立了 Google;马克·扎克伯格创立了Facebook……他们为什么会创造奇迹?奇怪的是他们都具有一个共同的特点:在他们年少的时候都酷爱计算机编程。计算机编程究竟具有怎样的非凡魔力?计算机编程是否给他们带来了与常人不同的思维或思考方式?是不是计算机编程为他们开启了不一样的人生道路?

同样,最近一则新闻也让我们有所启迪:美国肯塔基州最近通过一项法案,规定该州的高中生可以用编程语言替代外语修满足够的学分。在该州,高中生要想进入大学,需修满22个学分,其中2个学分为外语,而计算机语言并不属于必修课。根据最新的法案,计算机语言将被视为一种外语供学生选修。几天之后,新墨西哥州的一名议员也提出了类似的法案。两个州相继推动相关法案,旨在普及编程教育,让编程跟阅读、算术一样成为一项所有人都必须掌握的技能。

回顾我国信息技术课程的发展历程,在20世纪80年代末,改革开放的总设计师邓小平同志提出了“计算机要从娃娃抓起”, 吹响了我国中小学信息技术(计算机)教育的号角。曾几何时,全国中小学生都在学BASIC,甚至计算机课程只教BASIC程序设计,但是,随着信息技术工具的发展变化,人们更加关注信息技术的现实应用。在若干年后的今天,中国几乎所有的中小学信息技术课程又全都不教程序设计了。程序设计作为教学内容越来越被当前中小学信息技术教材边缘化,甚至完全被应用技术教育所代替。程序设计在中小学生中,就只有参加信息学奥赛的极少数学生能掌握,而超过99%的学生都完全不学,甚至不知道程序设计。

为何要让编程教育重新主导信息技术课程

1.在操作弱化的背景下,信息技术课程更加凸显了信息科学原理内容的必要性

信息技术日新月异,计算机、移动设备等数码产品在日常生活、学习和工作的方方面面的普及与应用,以应用技术教育为主的信息技术课程正面临着操作弱化的问题。一方面随着信息技术的发展,信息技术操作越来越简单易学,信息技术软件的使用越来越人性化、“傻瓜化”,有的工具软件的使用频率在减少,甚至被淘汰;另一方面信息技术设备的普及和大众化使得学生比以前更容易在学校课堂教学之外接触到信息技术,学生在课堂之外就已掌握了基本的信息技术操作技能。所以,在操作弱化的背景下,信息技术课程的重点不应再是系统地学习这些技术,在信息技术课程内容建构的过程中更加凸显了信息科学原理内容的必要性。我们不能仅仅教学生知道如何消费技术,更应该教学生去探究计算机“屏幕背后”的技术,进一步成为技术的创造者。“程序设计”作为信息技术(计算机)学科的一个最古老的课程,其核心地位毋庸置疑。它不仅是计算机解决一切问题的根本,更是计算机的机理、原理之所在。了解和掌握程序设计的思想、过程、方法和技术,不应只是软件开发人员的事,每一位使用计算机的人,最好也能了解一些程序设计的相关知识。所谓“知其然还要知其所以然”。只有这样,我们才能揭开计算机的神秘面纱,从容、自信、熟练地掌握和驾驭它。

2.学习编程有利于学生理解这个时代,以一种全新的方式看世界

当下这个时代,程序员几乎主宰了整个世界,控制着人类生活的方方面面。我们使用的各种电子数码产品,以及我们去ATM机取钱、坐电梯、开汽车、坐飞机、坐火车——你坐火车时有没有想过,一条铁轨上同时运行的那么多列火车是如何调度才没有导致它们相撞呢?这个时代很难想象还有什么不是通过计算机程序控制的。如果想理解这个时代,就必须得理解计算机编程,编程会让我们更深地了解身边的技术,以一种全新的方式看世界。

3.学习编程不仅仅是学会编程,更是在学习一种思维方式

学习编程意味着要学习跟人的正常思维不同的思维方式,计算机要求我们的思维比平时更加逻辑化、顺序化和更加精确,所以在学习编程的过程中还可以提高我们的逻辑推理能力、批判性思维和动手解决问题的能力。实践证明,学习了计算机编程的中小学生,思考问题的方式会变得非常逻辑化,学会了严密的逻辑推理方法,编程的思路及技能即便不直接用于编程,也无形中把它应用到其他学科的学习中。学习计算机编程本质上是在学习一种思维方式——编程思维,它是一种思维体操。

中小学信息技术课程中实施编程教育的定位和措施

笔者认为,中小学阶段开展编程教育。其目的不是培养程序员,也不是仅仅学会编程,而是通过教学活动,向学生渗透程序设计思想,促进学生高级思维的发展,为培养创新人才打好基础。考虑中小学生的年龄、心智、知识、理解能力,在开展编程教育教学时,将编程思想的建立和代码的编写技巧两个难点分散到两门课中,分阶段进行教学,以降低课程的学习难度,提升学生学习的乐趣和信心。作为中小学生的第一门编程课,最重要的是培养学生兴趣,学习程序设计的思想、思路和方法,采用直观且容易理解图形化的编程方式,摒弃繁杂易错的代码,以接近自然语言的方式表达程序逻辑,并以一种比较直观的形式进行验证。在掌握基本的编程概念和编程思想后,可以在第二门编程课里顺利地过渡到专业的程序设计语言,着重学习语法、语义和代码编写技巧。借20世纪80年代初编程教育的前车之鉴,具体教学时还应注意以下两点。

首先,我们不能再简单地将大学的计算机专业编程教育下放到中小学来学习。混淆程序设计和程序设计语言的概念,一味地讲解语义、语法,不自觉地把程序设计的课上成了“程序语言”课。导致学生在学习过程中被语法错误所困扰,寸步难行,根本体会不到学习的乐趣。从而让学生身心俱疲,备感恐惧,最终失去学习的兴趣而放弃编程学习。

其次,当时的编程教育最终失败的一个重要原因,是因为当时软硬件资源匮乏,选择学习编程的软件余地很小,而且大多数编程软件是针对大学生专业学习而设计的,当时中小学编程教育教学中普遍使用的Basic和Logo编程语言易用性不高、交互性不强,导致学生学习兴趣也不大。所以选择一款适宜中小学学生编程教学使用的编程软件至关重要,笔者认为作为中小学编程教育的入门软件应满足以下三个要求。

(1)使初学者尽可能容易地学习。

(2)使学习者在学习中感到乐趣。

(3)编程概念跟现今的专业编程语言尽可能地相似,能够顺利地过渡到专业的程序设计语言。

幸运的是,现在各种编程软件不断推陈出新,给我们更多的选择,笔者经过多年编程教学实践探索,推荐Scratch图形化编程语言作为中小学编程教育的入门软件。

Scratch图形化程式语言简介

Scratch是一种可免费使用的图形化编程语言,由美国麻省理工学院媒体实验室及加州大学教育与资讯研究院的KIDS小组共同研发,特别为8岁或以上的青少年而设计。其几乎完全颠覆了传统编程软件的设计理念,并具备传统编程软件所没有的几个特点。

1.Scratch图形化程式语言学习门槛低、效益高它不需要像传统编程软件那样一行一行地“敲”代码,而采用类似于乐高积木的方式“堆叠”程序形成逻辑,只要使用简易的鼠标拖曳方式,将已定义好的指令从程式指令区移进程序脚本区即可,取代文字输入,排除打字或语法出错的机会。为了不让初学者遇到比较困难的语法问题,Scratch的语句块形状经特别设计,只允许合乎程序逻辑时才能结合到一起,而且每一类功能的形状和颜色也易于区别,防止错误配置。因此,用它编程不用担心语法错误,可以让学生在不知不觉中,学习程式语言的概念,通过实验的方式理解编程思想,进而增加推理能力、掌握逻辑概念。

2.Scratch图形化编程语言多媒体功能强大,交互性强

Scratch具有方便强大的多媒体功能,不但集成了图片、声效、动作、外观等编程部件,还集成了键盘、鼠标等事件部件。利用动作部件,可以让角色移动、旋转等;利用外观部件可以设置角色的造型、给造型添加特效等;利用声音部件,可设置各种声音特效;利用事件部件,可控制角色并构建出良好的人机交互界面。所以,利用Scratch可以很方便地制作具互动性的故事、游戏、动画等多媒体程序。教学中采用寓教于乐的方式,学生能很自然地掌握编程思想和编程技巧。3.Scratch图形化编程语言体现的编程概念跟专业语言是类似的,可以顺利过渡到专业编程语言的学习

Scratch编程部件不但包含了常见的编程概念,如顺序、循环、条件语句、变量和链表(数组)等,而且作为一种现代的编程工具,Scratch还引入了事件、线程、协调和同步的概念,完全可以顺利过渡到其他专业编程语言的学习。

笔者认为,把Scratch图形化程式语言作为中小学编程教育的教学平台,既能了解掌握编程的基本思想、算法和技巧,又能培养学生学习编程的兴趣,又有利于进一步学习其他专业编程语言。

让编程教育再次主导信息技术课程,需要信息技术教师自己开拓创新,不断总结,摸着石头过河,更需要有关教育部门政策上的支持。由于在目前国内应试教育的体系下,信息技术并未被纳入中考、高考范畴,很难真正受到家长和学生的关注。考虑到经济发展的不均衡性和数字鸿沟,将编程作为统一考试的必考科目有失公平。如今正值高考方案大调整阶段,我国教育部门若可以效仿美国将编程作为高考可选的考试科目,这无疑将有助于中小学编程教育的推广。

(作者单位:浙江宁波市鄞州区董玉娣中学)