探究性学习在中职计算机专业C语言程序设计基础课程中的应用
2015-02-20余小荣
余小荣
(重庆市奉节职业教育中心)
一、引言
当前中等职业教育面临的问题很多,最重要的是学生学习态度的问题和教师教学方式方法的问题。如果老师采用一种很好的教学方法来调动学生的积极性,使这两方面充分地发挥它们的优势,中职教育将会大展前途。
1.中职计算机专业C 语言程序设计基础的教学现状
(1)中职学生学习现状
表1 奉节职教中心中职学生情况表
从上表可以看出,近些年来,由于各学校的扩招和国家资助的影响,中职学校的门槛实在是低得不能再低了。初中毕业的学生、未毕业的学生、社会青年等一同进入中职校园。其文化课基础相对较差,许多学生的学习兴趣、主动性和积极性也不高,混日子、混文凭的学生大有人在,这些都是不争的事实。对于C 语言这门课程来讲,它是一门理论性很强的专业课,同时要借助一定的数学功底。因此,用传统的教学方式,中职学生学着就像天方夜谭,想入非非、进入梦乡了。
(2)中职计算机专业教师教学现状
目前在中等职业学校的计算机教学中,大都借鉴其他学科的教学模式和教学方法,对计算机的学科特点没有引起广泛重视。我国中等职业学校现有的计算机教学模式主要有以下几种:
①以讲授为主的“黑板加粉笔”的教学模式。
②以演示为主的多媒体视频教学模式。
③讲练结合的机房上机教学模式。
表2 奉节职教中心计算机专业课教师采用教学模式人数分配表(单位:人)
从上表可以看出,我校计算机专业课教师采用以上三种教学模式的有24 人,占92.3%。这三种教学模式各有利弊,但都存在同样的问题:学生掌握知识的基础建立在教师的单向授课上,按统一步调进行;未注意到学生的个别差异,未能激发学生深层学习的动机和兴趣。没有留给学生足够的时间和空间去独立思考;缺乏人际互动、合作交流和对学生学习能力的培养,课堂教学效率低下等,甚至自己就赖得讲了。
2.中职计算机专业C 语言程序设计基础课程的重要性
C 语言是用来编写其他系统软件和硬件接口的计算机高级语言。C 语言程序设计基础这门课程,针对于计算机专业来说,它是一门理论与实践性特强的专业课程;对于中职计算机专业的学生来说,它又是一门必修高考课程。要学好这门课程,培养学生正确的学习动机和浓厚的学习兴趣,调动学生的主动性和积极性尤为重要。只有产生了兴趣,才会有动机,思维活动才得以启动运行,获得信息,检验信息,使自己的知识水平由量变到质变,才能结出丰硕的成果。所以作为中职计算机教师,首先就应该调动学生学习的积极性,激发他们的学习动机,培养他们学习计算机的兴趣,明确他们的专业任务,正确地引导学生学习。如何学好这门课程,选用什么方法来学好这门课程显得尤为重要。
二、探究性学习法
1.探究性学习法的核心内容
探究性学习(inquiry learning)是一种积极的学习过程,主要指的是学生在学科中自己探索问题的学习方式。新课程突出强调创新精神和实践能力的培养,而学生创新精神和实践能力的培养需要通过学生具体的探究活动来实现。因此,科学探究成为新课程改革所倡导的重要理念。它不仅是一种重要的学习方式,而且也是学科课程的重要内容。自主地进行探究性学习,是培养学生主动探究、勇于创新的重要途径。
2.探究性学习在中职计算机专业C 语言程序设计基础课程中的实施
作为一名中职计算机专业课教师,我从教C 语言程序设计基础这门课程多年来,我一直都在探索到底用什么样的方法,能让我的课上得轻松,让我的学生学得更轻松,掌握得更加牢固,且能够结合实际灵活应用,快速地编写出程序代码,解决数学中的难题、生活中的实际问题。
今天,在新课程改革的指引下,我终于找到了它——探究性学习法来解决我教学中的难点。那么,如何引导学生主动地进行探究性的学习C 语言程序设计这门课程呢?我在教学实践中主要的实施过程如下图所示:
图1 探究性学习法在C 语言课程中的实施环节图
(1)养成中职学生课前预习的好习惯,鼓励学生课前质疑
大家知道,中职学生最不喜欢的就是学习,更不要说是课前预习。引导中职学生质疑,很多教师认为难度很大,更不能谈鼓励学生课前质疑了?觉得这是天方夜谭。事实情况是怎样的呢?我对五个计算机专业班的学生做了调查,情况如下:
表3 奉节职教中心计算机专业学生上课非主动性调查统计表
从上表可以看出,事实确实如此:每一个学生,在幼儿时期,因为天真无邪、好奇心强总喜欢发问,并且还问得千奇百怪,老师、父母难以正面回答;到了小学,由于应试教育的影响,很多老师看重分数,打击学生幼小的心灵,一次次的学生家长会,让家长也觉得孩子给他们丢了脸面;到初中时,学生的心里开始有了灰色的天空,不愿再与父母、老师沟通,再加上生理的影响,开始出现叛逆。又加上高考时的落榜,到了中职校园,就更不知道该说什么、该做什么了……同时老师、父母都不愿给他(她)们时间与空间,甚至还有一点不看重他(她),嫌其烦。这样扼杀了学生的好奇心、求知欲,削弱了学生的主动意识和进取精神,如果还是因循守旧,穿新鞋,走老路,谈发挥学生的主体作用,倡导什么自主、合作、探究的学习方式永远是一句空话。
因此,在C 语言程序设计基础这门课程中,要求中职学生进行课前预习,教师不能提出过高的要求,让学生试着提出自己的问题,并教给学生一些预习的方法,让他们在书上用自己喜欢的符号标一标,画一画。如在学习“计算自增自减表达式的值”这一章节时,勾画出前面没有见过的表达式:X++,X--,++X,--X;运算符:++、--。同时看看课本中的“眼下留神”后,做做其提问。
(2)鼓励学生主动提问,设想答案并验证正确性
能够主动提问的学生,思维较少受思维定式的影响,学习过程中表现出求知欲旺盛、学习效率高的特点,培养学生主动提问的意识应是解决教学问题的关键。
好奇心是人对新异事物进行探究的心理倾向。在课堂教学中,教师提供启发引导学生思考的材料愈新奇、愈有挑战性,那么学生追求解决问题的内驱力就愈强。如:在学习C 语言程序设计基础课程中的“为C 程序输入数据”时,教师让学生用下列不同的语句为变量分别输入数据:x=49,y=65,z=97
scanf(“%d%d%d”,&x,&y,&z);
scanf(“%d,%d,%d”,&x,&y,&z);
scanf(“x=%d,y=%d,z=%d”,&x,&y,&z);
scanf(“%c%c%c”,&x,&y,&z);
开始学生觉得只是从键盘录入几个数就行了,这有什么好想的呢。过了一会儿,有人在窃窃私语,有人举起了手,说:“数据输入后,程序中断了。”有的说:“x 有值,y 和z 没有值。”有的说:“它们的值不对。为什么会出现这种情况呢,难道是我的输入出错了。”这时就引起了学生的疑问,C 语言中数据的输入不是那么简单的问题,到底应该如何输入呢?经过一段时间的思考后,有的学生就提出:“可以将几个数用空格分隔,输入字符数据时不加单引号。”这样,在C 语言程序中如何输入数据的讨论就自然而然展开了。
鼓励猜想是培养学生主动探索意识的重要手段。在C 语言教学中,我们可以让学生猜想C 语句的基本格式,猜想数据输入的形式和输入后可能出现的问题,程序运行时输出的结果,猜想编写程序的方法和种类,猜想程序填空中他人的思维方式等等,让学生主动地探求知识,然后上机验证,自己的猜想是否正确,根据系统的提示找出出错的原因。
(3)引导设疑,创设宽松环境,让学生真正成为课堂学习的主人
在课堂教学时,我讲授的时间和内容大幅度减少,只起一个点拨、引导的作用,更多的是学生的讨论和发言。学生积极主动地发言,既能锻炼他们的胆量,又能提高学生的口头表达能力,还可以培养他们的主动意识。要想让他们成为课堂上演说的主人,关键要创设良好环境和氛围,增进教学民主,消除学生在课堂上的紧张感、压抑感和焦虑感。宽松、民主、和谐的课堂氛围,是传授知识的无声媒介,是开启智慧的无形钥匙,是陶冶情操的潜在力量。只有在民主和谐的氛围中,学生才敢张扬个性,在探索未知的知识时,释放出巨大的潜能。如在学习程序中数据的输出时,我首先是根据教材拿出了一个程序段让他们猜想其程序运行结果。然后上机实践:
main( )
{int m=65;floatx=123.5;char ch=’a’;
printf(“%d%f%c”,m,x,ch); printf(“%c%d”,m,m);
printf(“%d%c”,ch,ch); printf(“%d%f”,x,m,);
printf(“%d”,m,x); printf(“%d%f%c”,m,x);}
通过实践,得出格式输出函数的一般形式,各种数据类型又将如何输出,执行过程,输出的内容与预想的差距,得出存在的问题。最后将存在的问题加以讲解。
让学生成为课堂学习的主人,更重要的是要让他们成为知识的探求者、发现者,所以教学过程中必须让学生有充分的思维和自我表现的时间和空间。我在课堂上努力做到问题由学生提出,思路由学生探索,方法由学生寻找,意义由学生概括,让学生找出规律,难点由学生突破,课堂上学生可以不举手发言,学生学习的热情在涌动。
学生的思维被激活,自我表现和交流的机会很多,成功的喜悦常常挂在他们的脸上。我想只要学生自始至终积极参与学习的全过程,他们也就真正成为课堂学习的主人。这样,他们对C 语言程序设计探究的欲望就直线上升。
(4)探究的情境,让学生经历探究的过程
以往的教学,我们所关注的是一节课中学生学到了多少知识,作为教师,总是想在最短的时间内,教给学生最多的知识。而现在是新教法,不仅要关注学生掌握知识的多少,更重要的是关注学生是否亲身经历探究问题解决过程,进而使学生在获得知识理解的同时,在思维能力、情感态度与价值观等多方面是否得到进一步的发展,更加重视学生在教学关系上和教学过程中的主体地位。
因此,教师应创设情境引导学生进行思考,不能替代学生的独立思考活动。学生可以根据自己的实际,用自己的思维方式自主地思考,做出各种猜想,进行验证等探究性的学习活动,例如:我曾经在教学“if 语句的应用和解决实际问题”前,创设了这样的生活情境:①张三手持银行卡到农业银行的取款机上取钱,取款机器提示:“请插入本行的银行卡。”张三插入了银行卡,取款机又提示:“请输入密码。”张三输入了三次,都提示密码不正确,最后取款机又给出了提示:“密码有误,银行卡被没收。”请用文字描述取款机完成的功能。②“我们要上网聊天,必须输入QQ 号和QQ 密码,而且两者必须同时正确,才可以登录软件,找你的对象聊天。”请用文字描述其功能。这样的习题,可以使学生的生活经验程序化、程序设计知识实践化的过程中感受到,计算机程序就在我们的生活中。
(5)注重实践应用
实践应用就是学生把学到的知识运用到解决实际的问题实践中,更好地体现C 语言程序设计从生活中来,再回到生活中去,使学生认识到编写程序、开发软件与人们生活有着密切的联系。学生在学校中学到的东西,只有与丰富的社会实践相结合,才能变得鲜活起来;只有经过自己的亲身实践,知识才能变得丰满、深刻。国际学习科学研究领域有句名言:听来的忘得快,看到的记得住,动手做更能学得好。这里所强调的就是学以致用、勇于实践的重要性。因此,教师在教学中不仅要注重学生自主探索研究的过程,更要注重培养学生在实践中解决问题的能力。如,我们开展的“我的舞台”活动。它采取自主合作的新型才艺展示实践活动模式,由各班学生自主确定活动主题,自主设计活动方案,自主主持活动内容,自主进行活动评价。
3.探究式学习在中职计算机专业C 语言程序设计基础课程中实施的效果
(1)与传统的讲授法相比
从课堂气氛来说,再也没有上课玩手机的,更没有上课睡觉打呼噜的了;从学习时间的持续性来看,100%的同学都可以认真学习30 分钟,90%的同学可以达到40 分钟;从知识的拓展方面来看,由原来的15%上升到70%;从动手能力(实际操作)来看,由原来的20%上升到100%;从应试教育的教学效果来看,由原来的35%及格率达到了75%。效果是很明显的,现用图表来说明:
图2 传统教学法与探究式学习法比较图表(以60人45分钟为基准)
(2)与任务驱动法相比
探究式学习法的优势在于,学生能使学习到的书本知识达到举一反三的效果,对生活中实际问题更能够理解与解决。比如,他们现在明白了移动盘连接计算机后为什么会读取数据,监控器为什么会自动录像,自动取款机又将是怎么一回事等等,而且对生活中的这些问题特别感兴趣。
4.探究式学习在中职计算机专业C 语言程序设计基础课程中的注意事项
(1)适用性
探究式教学要从知识的特点出发,充分考虑探究式教学的必要性和可能性,把学生的探究性学习与其他学习方式结合起来。切勿所有知识都用探究式来进行教学。我们强调课堂教学要给学生充分的探究机会,并不是要否定知识传授的独特作用。接受式学习模式运用得好,可以使学生学习知识更加主动、有效。本人采用的是以探究式为主,同时与讲授式、任务驱动式、实践操作相结合的学习方法。赢得了计算机专业学生的欢迎,激发了他们学习C 语言的兴趣。
(2)目的性
探究性教学要有明确的知识、能力和思想等方面的目标,并且要精心设计教学活动。探究活动的形式和方法应多样化、灵活化,不被固定的程序或模式所限制。如果只懂得要“开放”和“自主”,让学生完全独立学习,其结果就会导致无序化状态的出现。
(3)要注意学生探究学习的质量
在探究性教学中,既要关注探究的过程和步骤,更要注意探究学习的质量,不仅要让学生体验探究过程,更要让学生学会科学探究的一般方法,领悟探究学习的重要性。
总之,在教学中引导学生主动地进行探究性学习,是培养21世纪创新人才的真谛。“科教兴国,教育是关键。”的确教育关系着民族的未来,它是一项长期的艰巨的任务,我们每位教师应当责无旁贷。在教育教学中,教师应引导、培养学生课前预习的好习惯。鼓励学生主动提问,大胆质疑。给学生创设宽松的环境,为他们搭建一个展示自我的平台,并注重实践应用,从而提高教育教学质量。
张正琼,任艳群.C 语言程序设计基础教程[M].重庆大学出版社,2003.