高中生编程素养培养措施研究
江苏省海门中学 李海磊
新世纪以来,以计算机、网络为代表的信息技术产业发展日新月异,极大地改变了人们的生产、生活、思维方式。在可预见的未来,数字技术必将会更深刻地影响着社会变革。提高自身的信息技术素养,具备一定的编程能力是现代人为了适应未来社会而应作的必备功课。
一、中学生需要具备良好的编程素养
1.编程是一种生存技能
在欧美等发达国家,编程被视为人们必备的第四种素养。并被视为未来创新型人才应具备的基本技能之一。让学生早点接触计算机编程有助于他们更好地理解和使用计算机,有助于提高他们的学习、工作效率。同时,以高度数字化、网络化、智能化为标志的新一代工业技术革命已经悄然兴起。各国政府、企业、团体为了应对这个变革潮流都在紧锣密鼓地做着各种准备。我们的学生能不能在这个大变革中更好地生存发展,取决于他们现在所能掌握的知识和技能,也取决于我们能给他们提供什么样的教育。如果在中学阶段就对他们的计算机编程、程序设计能力进行有效训练,这必然会增加他们获胜的筹码。
2.编程有助于智力提升和其它科目的学习
程序本来就是为了解决实际问题而编写。只有对问题有着深刻的理解,强烈的创作冲动,新颖高效的设计思路,健壮的代码编写,和面对问题敢于动真碰硬、百折不挠的气概才能最终做出高效、优美的程序来。而这个过程,学生的思维能力、协作精神、积极的情感态度都会得到有效锻炼和提升。掌握一门编程技艺往往会对其他科目的学习带来有效帮助。无论是理科如数学、物理、化学,还是文科如政治、历史、地理等,当我们需要进行大规模数据计算的时候,计算机及编程都可以带来高效、优雅、廉价的解决方案。会编程无异于如虎添翼。
二、中学生计算机编程教育的现状
1.科目地位尴尬,课时严重不足
虽然有无数的专家、学者、IT人士在呼吁要重视信息技术教学,提升学生的信息素养,但是也难掩当前信息技术科目的尴尬地位。在以语数外等科目为重点考察对象的高考模式下,信息技术会考不过就是一个过关考试,很多学校都认为把时间分配给这个科目就是一种浪费,甚至在很多四星级学校、名校,这个科目的课时都被压缩到极限,仅能勉强保证会考通过。因此,总体来说,想在这么少的课时中进行有效的编程教学,那是不可能的。
2.教材有待更新,学生兴趣不足
信息技术的发展一日千里,但是教学用的教科书却不能有效地跟上时代变革。有些教学内容都是早已淘汰的技术,相关的软件更是老旧,书中的事例往往也跟不上时代,不容易和学生产生情感共鸣。其中,必修部分有关计算机编程的只有一小章节,所占比重很小,有的学校这个模块根本就不讲。其次,该模块所使用的编程环境,比如VC、VB等,绝大多数学生都是零基础,面对大量需要掌握的编程语法规范等,学生畏难情绪很高,根本提不起兴趣,更遑论要他们保持持续的编程热情了。要想熟练运用一门编程语言,就必须花费大量的时间来练习,在当前的课时安排下,这本身就是一个矛盾。因此,如何有效地进行计算机编程教学应该是每位信息技术教师都要认真探索的课题。
三、中学生编程能力培养措施研究
1.增加编程趣味性
爱因斯坦说:“兴趣是最好的老师”。当一个人对某个事物产生浓厚兴趣的时候,他的大脑、身体就会处于一种愉悦的、忘我的、投入的状态,自然学习效果就极佳。同时,兴趣对于激发学生持续的学习热情,积极肯定的情感态度,正确的学习动机,健康、健全的身体及人格都有重要作用。
(1)降低编程难度,融入趣味性。
计算机编程教学中往往会选用一些传统、经典的案例来进行主题教学,比如树论、图论、各种搜索算法等等,起点比较高,要求学生具备良好的数学基础及逻辑思维能力,所以能够适应这种模式都是一些数理成绩比较优秀的学生,不太适合向各年龄段的学生进行普及推广。其实,计算机编程不妨从游戏设计入手。游戏是学生的天性,在一些发达国家,游戏编程很受推崇。学生们可以在游戏中锻炼思维能力,提高动手能力,培养协作精神,因此,把游戏和编程相结合是增强学生编程兴趣的不二法门。
(2)选好编程软件,增加趣味性
当前中学生常用的编程环境,比如Vb、Vc等等,都无一例外地要求学生掌握相当多的编程语言的语法规范,这需要耗费非常多的精力。有没有一种既能锻炼学生的编程能力,又不需要花费大量时间去学习那些枯燥、细碎、艰涩难懂的编程语法就能编程的编程软件呢?答案是肯定的,比如,麻省理工学院开发的“Scratch”软件,这款编程软件主要是面向青少年、儿童的,极具趣味性。它提供各种各样具备不同功能的模块,在不需要掌握任何编程语言的情况下就可以像搭积木一样来编程。它的入门非常简单,即便是没有英文基础的人也可以照着示例做出非常棒的小游戏来。虽然它很容易使用,上手也非常快,但这并不意味它只能做一些很幼稚、很简单的程序,相反,世界上Scratch的拥趸者用它做出了不少具有复杂功能,生动有趣的程序来。像这一类的软件,老少咸宜,简单易学,而且程序设计所需要的洞察、思维,架构等能力一样能得到锻炼。所以选择这样的编程软件来推广计算机编程教学不失为一个很好的办法。事实上,国内外的很多地区,比如国内沿海发达地区,台湾地区,英美等国都在中小学中大力开展基于Scratch的编程教学,效果很好。
2.用好学生课余时间
现在很多学校都在开发自己的校本课程,一方面增加学校特色,另一方面丰富了学生课余生活。各学校可以利用好校本课程这个平台,积极开展计算机程序设计教学。
主要基于两种模式。一种是面向信息学奥赛的。它主要是针对想在未来从事程序设计专业方向的,或者对计算机编程、信息学奥赛有强烈兴趣的同学开设的,要求学生具备很好的数学思维,丰富的计算机编程经验,同时要求从教者也要具备相当深度的专业功底。并不是所有的学校都有这个条件开设这样的课程。另一种就是面向普通大众的。主要是为了栽培普通同学的计算机编程基础,培养编程的兴趣,养成编程的习惯。
高超的程序设计能力一定是实打实地做出来的。培养学生的计算机编程素养应该像培养学生的语言、阅读能力那样,要从小入手,勤学勤练,熟能生巧。在有限的教学条件下,教师要充分利用好学生的课余时间,即便不能让学生练就很强的编程能力,也要努力培养他们编程的兴趣和习惯。
3.提升从教者的程序设计能力
当前信息技术教学的主要方向还是在追求让学生掌握一门或几门应用软件的使用,提升信息技术素养,方便工作学习。因此,很多教师也就没有把自己的修炼重心放在编程上。这造成了很多老师的编程能力不足,不足以辅导学生编程设计。所以,教师一方面要紧跟时代的技术方向,从深从严夯实专业基础,提升编程能力,另一方面,不能固步自封,积极主动了解世界范围内计算机程序设计教学的发展,参考他们的有效做法,学习他们的有用经验,理解他们的思想,积极探讨适合本地区、本学校的教学模式。
四、结语
信息技术的一个重大特点就是技术更新发展的频率非常高,每天都有新的技术、理念被创造出来,如果我们不能养成终身学习的习惯和付出艰苦的努力,那么在不久的将来,首先被淘汰的就是我们自己。面对未来,我们绝不能松懈,要积极拥抱变革,教师和学生要相互促进、相互学习、共同努力面对未来的挑战。