如何引导中学生进入编程世界
中学生进入编程世界
?刘雅林
教育部颁发的信息技术课程大纲,要求中学生
必须掌握一门计算机高级语言,这是高中信息技术
课程教学中公认的难点.中学信息技术教材中的计
算机高级语言多为Pascal.笔者曾多次参加相关教
材的编写,觉得Pascal语言虽然相对于中学生来说
比较难学,但是教师能正确采用相应的教学方法,
学习这门语言应该是不困难的.为了对比不同的效
果,笔者选用了两个不同水平的班级——树人学校
高2004级和重庆八中高2004级的学生.树人学校
的学生水平比较一般,八中的学生水平是全市一流
的.八中学生教学的方法是完全依据教材的进度及
内容安排,称为传统教学法;在树人学校则不依照
程序设计的常见学法,称为框架填补法.
一
,关于框架填补法
传统的编程学习是从复杂的语法格式开始,一
步一步地”系统”地学习.这种教学方法容易使学生
一
开始就陷入到复杂的语法规则中,不少学生在学
习到后面的顺序,分支,循环程序设计时才明白前
面内容的意思,此时大部分学生已对编程丧失信
粗”,让学生直到后面 心.这种教学方法是”先细后
阶段才真正明白什么是程序.而框架填补法是先让
学生明白程序的框架,从整体上对编写程序有整体
的认识,然后再细化框架,在细化的同时再融人具
体的语法规则,此时,一个框架就被逐步填补成一
个完整的程序了.此法是”先粗后细”,让一个程序
的”思想”逐步完善成具体的程序.
二,传统教学法的教学安排
传统教学法完全按照教学大纲要求,安排为
14课时,学习的内容为:计算机语言的分类(1课
时),Pascal语言的编辑界面(1课时),Pascal语言的
基本符号(1课时),Pascal语言的程序格式(1课
时),标准函数和
达式(1课时),输入输出语句(1
课时),顺序程序设计(2课时),条件语句(2课时),
分支程序设计(2课时),过程和函数(2课时).
笔者就按照这种
,从最基本的内容一
步一步讲下来.第一节课,学生学习计算机语言的
分类时,由于介绍了大量的新东西,学生听得比较
轻松,而且学习积极性高.在学习第二节课时,学生
开始觉得比较空洞了.因为他们还不知道什么是程
序就要进入编程界面去熟悉各种操作.第三节课就
觉得很枯燥了,觉得好像在背很枯燥的英语单词,
开始有人不听课了.从第四节课开始,学生满腔激
情开始淡漠,听得很吃力,又不知道记那么多的标
准函数做什么,开始被动地接受东西了,反正教师
讲什么就听什么,但不知道学了这些东西有什么
用.到了第7节课左右,已经有50%左右的学生已
经跟不上教师的进度,表现的状况是上机不能编写
程序,上课听不懂.到了内容的末期,60%的学生完
全听不懂教师讲的内容,20%的学生能听懂大部分,
但不能编写程序.只有20%的学生能跟上教师的进
度,在教师的帮助下能正确调试出程序.下图即是
综合这个过程,能跟上教学进度的学生比例曲线:
能100%
听
懂75%
的
学5O‰
生
比
例20%
三,框架填补法的教学方法
笔者发现,不少学生在学完编程课程后连什么
是程序都不知道.许多教师在讲授程序课时过多地
沉溺于编写程序的规则上去了,一开始就让学生记
忆很多符号和保留字,在编写程序时没有从整体上
去把握思路而陷入具体的语法中.于是,在树人学
校的教学过程中,笔者没有按照大纲的顺序,而是
以生活中的实例讲什么是程序,程序设计的思路,
如何画流程图,如何将流程图细化及如何将自然语
言转换成Pascal语言.到此为止,程序就设计出来
了.以这种方法,笔者的教学内容及课时安排如下:
内容1,什么是计算机语言,语言的分类(1课
时,与传统教学法无异).
内容2,什么是程序,以生活中的事为例,让学
生明白程序其实很简单(1课时).如:早晨起床的
?最早实现国产化,替代进口的展示台专业制造商,为您的演示增添无穷的魅力系列多媒体
实物展示台184倍全自动聚焦,8种数码特技功能,中控切换
:051l——88l04sl4882”7844
一导衙,导
,U一??,一弓
程序如下:从床上醒来——穿衣——洗漱——吃早
餐——收拾书包上学.马上有同学说”穿衣——洗
漱——吃早餐”可以交换顺序.于是笔者告诉学生
在编写程序时哪些步骤可以交换,哪些不能交换,
学生记忆深刻.
内容3,用流程图来表示程序(2课时).在本课
时里,不分顺序,分支以及循环三大章节的内容,全
部纳在一起讲解.如:
笔者发现,经过这两节课后,将教材中的课后
练习中较难的题让学生去完成流程图,80%左右的
学生都能完成.这个结果让笔者倍感欣慰.
主要让学生将粗略的流程图中的每一步细化,以适
合程序设计的习惯.比如,”找出两个数中的最大
找出两个数J给变量B读入一个数
中的最大数l比较A,B的大小,取最大数
将最大数存入变量c中
时).这一步的工作量最大,主要是将自然语言转化
转化为”A:---5”.在这个程序上再将保留字,标准函
‘
只是作为查找语法及函数的资料.笔者当场在黑板
但没有动不起笔的学生.而这道题,笔者在八中学
生中测试的结果显示仅30%左右的学生能写出程
上一步就已经穿插进来了,学生只需记住几个常用
的操作步骤就可以完成程序的编译.
内容7,扩展知识的讲解.在八中,学生到最后
一
节课时早就被”折磨”得痛苦不堪了,根本不敢扩
展.而在树人学校,学生已经处于不同的高度了,笔
者从结构化程序讲到面向对象程序设计,从Pascal
讲到VC,从J2EE讲到.NET,让他们明白这些编程
工具很多只是语法上的差异,关键是掌握编程的整
体思想.
可以用下图来表示树人学校学生掌握知识水
平的情况:
能100%
听
管75%
的
学50%
生
比
例20%
四,两种方法的对比
两种不同教学方法对比效果,由下表可见一斑:
\方法传统教学法框架填补法
类别\(/k中学生)(树人学生)
课时14节14节
学习兴趣逐渐减弱,最后几稍有减少,大部分同学
乎没有兴趣一直保持浓厚的兴趣
基本语法的教完即忘,翻开书也借助书本查找其用途
掌握程度不知道是什么意思
编写程序的能力20%的同学能完成65%的同学能完成
调试程序的能力差较强
五,结束语
两种方法的教学效果相差非常明显,但为什么
现在的教材不改变教学模式呢?原因是这样:Pascal
语言一直都是大学的教材,很多年来大学教材都是
按照最传统的模式编写,这对于大学生来说能够接
受,其矛盾还不是很突出.后来将Pascal引入中学
后,习惯上的模式难以改变,同时也为了追求”系
统”的编写模式,所以给中学教学带来了很大的麻
烦.笔者在框架填补法中很少用到教材,也没有刻
意去区分顺序,分支,循环程序设计之间的差别,先
给学生建立一个编写程序的”思想”,再让这个”思
想”逐步成为具体的程序,取得的教学效果是相当
明显的.
(请本文作者速与本社联系)