建构主义在C语言教学中的应用

2012-04-29 00:44迪丽拜尔王晶
电脑知识与技术 2012年35期
关键词:项目教学建构主义教学模式

迪丽拜尔 王晶

摘要:该文介绍了我们以建构主义为指导思想,以项目教学为基本教学模式的对《C语言程序设计》教学所进行的教学改革,详细阐述了在《C语言程序设计》教学中教学目标的设置,教学项目的选择和教学过程的组织,并讨论了一些有益的经验。

关键词:建构主义;项目教学;教学模式

中图分类号:G424 文献标识码:A 文章编号:1009-3044(2012)35-8428-03

1C语言教学改革的目标设置

在我多年的《C语言程序设计》的教学实践中,无论是在课程学习初期还是课程学习结束后,我经常会遇到学生问我诸如“C语言有什么用?”,“我们为什么要学C语言”这样的问题。《C语言程序设计》的教学目的究竟是什么呢?《C语言程序设计》教学大纲的表述如下:课程的教学目的是使学生掌握一门高级程序设计语言,了解结构化程序设计的基本概念与方法,进而学会利用C语言学会解决一般应用问题,并为后续课程奠定程序设计基础。从这个表述看,《C语言程序设计》的教学目标被设定为两个层次:C语言语法的教学、程序设计能力的教学。

但在我多年的教学实践中,学生通常都会感觉到C语言比较困难。在结束课程学习后,即使一些考核得到了高分的学生在被要求应用C语言去解决一些实际问题时,也往往表现地无所适从,不知从何处下手,并没有达到教学目标要求。实际上我们在课程教学中很重视对语法的讲授,教材按照语法体系编写,教学用例围绕语法设计,考核以语法考核为主。我们都遇到过类似这样的例子或作业:

请阅读以下程序并写出结果:

main(){

inta=0,b=1,c;

c=++a+++b;

printf(“%d”,c);}

这样的例子除了说明运算符优先级语法外,没有任何其他意义,同时这种写法也不应是被提倡的程序设计风格。类似的例子充斥了现在的教材和我们的教学实践,是因为我们目前教学的首要目标是讲授语法。正是在这种语法优先的教学实践中,我们反而忽视了编程能力的培养,好比学生们拥有了各种食材,我们却忘记了教他们如何烹饪。因此我们将《C语言程序设计》教学改革的目的设置为设计一种教学模式,以培养学生的编程能力为核心目标,能提高学生的学习兴趣,充分发挥学生的主观能动性,真正达到“授人以渔”的教学目标。

2教学模式的选择

从充分发挥学生的主观能动性,培养学生的创新精神与实践能力角度出发,皮亚杰和维果茨基等学者奠定的建构主义理论无疑是最合适的选择。建构主义理论认为:学习是一个意义建构和“协商”活动的过程,是一种真实情境的体验。学习者在学习新的知识单元时通过个体对知识单元的经验解释从而将知识转变成了自己的内部表述。知识的获得是学习个体与外部环境交互作用的结果。外部世界的知识既可以同化到原来的认知结构中.又可以通过顺化机制改变已有的认知结构。学习过程并非是机械地接受过程,在知识的传递过程中,学习者是一个极活跃的因素。知识的传递者不仅肩负着“传”的使命,还肩负着调动学习者积极性的使命。

目前在高职高专教学中得到广泛应用的项目教学法就是在建构主义学习理论基础上发展起来的一种教学方法。该方法是2003年7月德国联邦职教所制定的“以行动为导向,师生通过共同实施一个完整的项目工作而进行的教学活动”。项目教学法最显著的特点是,“以项目为主线,学生为主体。教师为主导”,即不再把教师掌握的现成知识技能传递给学生作为追求的目标,或者说不是简单的让学生按照教师的安排和讲授去得到一个结果,而是在教师的指导下,学生去寻找得到这个结果的途径,最终得到这个结果,并进行展示和自我评价。学生的重点在学习过程而非学习结果,他们在这个过程中锻炼各种能力。从实践效果来看,对提高学生的实践能力有着非常显著的效果。

但建构主义理论并非完美无缺,在实施过程中也往往因为强调学生的主体作用而忽视了教师的主导作用,从而造成教学质量的下降。北师大何克抗教授在《关于建构主义的教育思想与哲学基础》①一文中就指出:“建构主义的教育思想不应是‘以学生为中心,而应是‘主导—主体相结合;建构主义的认识论不应是主观主义,而应是主客观相统一。从此认识出发,我们选择了项目教学法做为《C语言程序设计》教学改革的基本教学模式,并在此基础上进行了一定的改进。

3《C语言程序设计》的教学实施

3.1项目的设计

建构主义理论强调一种真实情境的体验。项目设计实际上就是学习环境的设计,或者说是为学习过程抛下一个锚。因此项目的设计是《C语言程序设计》教学的核心问题。在项目设计过程中需要遵循以下几个原则:

1)项目应该系统地覆盖教学大纲中规定的知识点,遵循“自易而难,循序渐进”的原则设计。由于《C语言程序设计》教学目标是分层次的,项目设计也必需涵盖各层次教学目标的需要,即有覆盖单一或少数几个知识点的项目,也要有具有高度综合性,有一定规模和难度的项目。

2)项目难度要适中,要避免因直接使用难度过大的项目而打击学生的信心,进而丧失学习兴趣的情况;但设置一些有一定规模和难度,包含对多个知识点地综合应用,对大多数学生来说都需要付出相当努力才能够完成的任务是保障教学效果的必要条件。

3)项目必需具有一定的实用价值,同时最好具有一定的趣味性。项目设计应以能够充分激发学生的学习兴趣为出发点,学生通过展示能解决实际问题的结果而充分获得成就感,进而激发更大的学习欲望。

遵循这几个设计原则,我们将《C语言程序设计》划分为四个项目,分别是:

项目一:C程序的基本组成,项目目标为掌握C语言程序的基本结构并掌握编辑环境的使用方法。

项目二:程序的基本结构,项目目标为能熟练应用掌握顺序、分支、循环三种程序结构编写程序,解决实际问题。

项目三:函数、数组、指针和结构:项目目标为完整掌握C语言语法,能使用函数、数组、指针和结构解决实际问题。

项目四:C语言综合应用:综合应用C语言解决实际问题。

其中前三个项目为常规授课,学时安排共14周,每周6学时。每个项目均包含两个层次的任务:第一层次是基本任务,包含若干个子任务,每个子任务规模一般限定在四十行以下,通常选择有一定代表性和趣味性的问题,如“百钱百鸡”、“汉诺塔”、“约瑟夫问题”等。第二层次是综合任务,此任务具有一定的难度,要求一定的综合应用能力,通常任务规模限定在100行至200行,要求具备一定的使用价值。其中项目一的综合任务为在屏幕上绘制一个图案,项目二为编写一个电脑算命程序,项目三设定了两个综合任务,一个为编写“井字棋”游戏,一个是编写一个个人通讯录。第四个项目以课程大作业形式完成,完成时间为连续的两周共四十学时,仅设定了一个对知识的综合应用能力要求比较强的任务,即模拟一个银行排队机的实现,项目规模在300行左右。

3.2教学的组织

在教学中以每个项目为一个周期。视项目难易程度,每个周期需要2-7周完成。每个周期的教学实施步骤如下图所示:

在项目开始后,首先将项目说明书下发到学生手中。每份项目说明书包含内容如下图所示:

和项目说明书同步下发的还包括各任务的标准结果及做为参考资料的电子书及讲授该项目所涉及知识的电子课件。

在任务明确后,教师开始着手“脚手架”的搭建。脚手架是一个借鉴于建筑行业的概念,来源于维果斯基的“最邻近发展区”理论。在学生的学习活动中,要解决的问题和原有能力之间可能存在差异,通过教学,学生在教师帮助下可以消除这种差异,这个差异就是“最邻近发展区”。教师需要在教学过程中为学生提供对问题的进一步理解所需要的概念框架,以帮助学生达到新的更高水平,这个概念框架就是“脚手架”。在本课程的教学实践中,我们通过对涉及知识点的讲授来搭建“脚手架”。要注意的是教学绝不应消极地适应学生的已有水平,而应当走在发展的前面。因此讲解不仅是为了向学生灌输知识,更重要的是指明其下一步前进的方向。讲解内容切忌过长过细,一般每次不超过30分钟,总时间严格控制在项目时间的1/4以下为宜。讲授时间被离散地镶嵌在项目实施过程中,即仅当学生发现了新问题后,我们开始下一层“脚手架”的搭建。

为提高学生学习兴趣,培养学生的协作精神,我借鉴了现在在实际程序开发中普遍采用的“结对编程”方法:要求学生每两人一组,一人负责编写程序,一人则负责观察另一人编写出的程序,两人必需以不少于1句/30秒的频率持续交流,每一个小时进行一次角色转换。实际应用效果非常好。

一般在项目执行了三分之一时间后就有人完成了基本任务,在项目执行了二分之一时间后,大部分学生就都可以完成基本任务。此时我们会组织一次集体讨论,一般由完成比较好的组在讲台上对某个任务的实现思路进行讲解后,再由大家提出改进思路,最后由教师进行讲评,并对涉及的知识点进行总结。

此后学生继续完成综合任务,并在项目结束后提交一份项目报告做为项目成果,每份项目报告包括了对主要知识点的总结,每个任务的设计思路和源程序,心得体会三部分。项目报告做为该项目的考核依据,由任课教师进行评价。课程最终成绩由各项目报告成绩按一定比例得出,不再另行举行考试。在考核中,我坚持“因人施教”的原则,每份报告均由教师和报告作者共同完成评价,考核同时也指出他的优缺点,以促进其进步。

3.3教师的作用

在这种教学模式下,教师的作用需要从教学的主体转换为主导,我认为教师在教学中应该承担以下几个角色:

1)项目实施的组织者:教师需要负责完成任务的设定、项目进度的控制工作,需要决定何时进入哪一个教学阶段。

2)项目现场的咨询者:教师是一个平等的项目参与者,而且是首席参与者。他应该协助学生解决项目过程中遇到的困难,有时可以直接解答,有时则只需要指出解决问题的途径。

3)项目效果的评价者:教师需要对项目成果给出明确的评价,对项目实施方式的优劣给出明确的评价。

4)鼓励者与督促者:每个学生都渴望得到教师的承认,也总会有人在遇到困难时失去信心而放弃。教师需要及时对学生的进步表示鼓励,督促帮助那些准备放弃的学生继续克服困难前进

同传统教学模式相比,这种教学模式教师讲授的时间大大减少了,教师的工作似乎是更轻松了。事实上却恰恰相反,教师需要精心设计项目,为每个学生遇到的困难做出针对性指导,及时地对每个人给予鼓励或者督促,反而需要付出更多的时间和精力。不强调教师的主导作用,这种模式的教学必然是“老师放假,学生放羊”,教学效果也就可想而知了。

4在教学实施中的注意事项

4.1建立宽松、开放的教学环境

建构主义强调学习是一个积极主动的建构过程,学习者不是被动地接受外在信息,而是主动地根据先前的认知结构注意和有选择地知觉外在信息、建构当前事物的意义。但实际上我们的学生多年的学习习惯使他们非常依赖于教师对知识的灌输,对于主动的探索往往会感觉到困难。一个宽松、开放的、和传统课堂相区别的教学环境有利于学习者摆脱过去的学习习惯,更好地融入教师设置的教学场景。在我们的教学实践中,教师和学生是平等的,每个人都可以随时站上讲台发表自己的想法。学生可以在项目规定的框架中自由地选择学习内容,学习方式,随时可以在课堂上自由组织讨论。从实际效果上看,开放的教学环境增加了学生学习的主动性和投入程度,保障了教学效果。

4.2注重个体差异,实施“因材施教”

“因材施教”是教育学最基本的原则,教师在项目实施过程中必需积极地观察每一个学生,及时根据每个学生的特点予以针对性地引导。引导并不仅仅是直接的讲解,通常我对一个学生的问题有三种处理方式:对于比较具体的问题一般是直接予以解答或提示;综合性比较强或者比较模糊的问题则告诉学生可以查阅哪些相关资料来解决;而比较简单,很容易能够从教材上获取答案的问题一般不予回答。引导还包括及时对学生进步的肯定以及对学生学习进程地督促。教师应尽量了解学生,对学习能力比较弱的学生要讲解多一些,学习能力强的学生则要多要求他们自己去解决问题。对后进的学生则应给予更多的关注,要创造机会让他们展示自己的成就以获得成就感,进而激发学生的学习兴趣。

4.3采取多种方式的协作学习

建构主义理论认为,个人根据自己的经验所建构的对外部世界的理解是不同的,也存在着局限性,通过意义的共享和协调.才能使理解更加准确、丰富和全面。因此采取协作学习可以有效提高学习效果。协作学习可以有多种形式,在我的教学实践中借鉴了极限编程方法中的“结对编程”,采用了“结对学习”方式:即学生两人一组,一人编写程序,另一人观察,两人以不少于1句/30秒的频率持续交流,每一个小时两人互换一次角色。从执行效果看,这种方法减少了学生学习过程中的枯燥感,开拓了学生的编程思路,加深了学生的理解深度,同时也培养了学生的团队精神,效果很明显。此外我们还适时采取讨论,竞赛等多种方式的协作学习来提高教学效果,也都取得了不错的效果。

4.4让学生持续感受到“成就感”

学生能够持续保持学习的兴趣是因为他持续地从学习中获得成就感,一旦学生无法继续获得成就感,他学习的兴趣就会迅速减弱甚至放弃学习。因此让学生在学习中持续获得“成就感”是保证学生投入程度的关键问题。要让学生持续感受到“成就感”,首先是任务设置的合理性,太简单或太难的任务都容易使学生丧失兴趣,任务因按照“先易后难,循序渐进”的原则设置,以略超过当前学生的实际能力为佳。任务应能解决实际问题,任务越接近于实际,学生就越容易获得成就感。其次是不要吝惜夸奖,对学生的任何进步都要给予明确地肯定,对后进学生则应给予更多的肯定而不是批评。应该创造类似让学生上讲台展示成果这样的机会来加强他们的“成就感”。

5结论

我们以建构主义为指导思想,以项目教学法为基本教学模式进行了《C语言程序设计》教学改革。通过两年的教学实践,建立了一套完整的教学模式,取得了一些很有价值的教学经验,实践了“学生为主体,教师为主导”的教育思想,取得了比较好的教学效果。

参考文献:

[1]何克抗.关于建构主义的教育思想与哲学基础[J].中国大学教学,2004(7).

[2]戴香粮.建构主义学习理论与计算机教学[J].中国科教创新导刊,2009(17).

[3]周启生.建构主义理论在C语言程序设计教学中的应用研究[J].科技信息,2009(13).

[4]夏丽华,齐景嘉,郑俊.问题式学习模式在程序设计教学中的应用[J].中国科技信息,2008(9).

[5]朱腊梅.由“教”为“导”,让任务驱动教学[J].中国信息技术教育,2009(2).

猜你喜欢
项目教学建构主义教学模式
群文阅读教学模式探讨
旁批:建构主义视域下的语文助读抓手——以统编初中教材为例
借鉴建构主义思想培养财会专业人才
基于项目教学的高校服装设计教学现状及对策
基于多元智能理论的高职项目教学分组学习探讨
基于项目教学的人才培养模式改革
“一精三多”教学模式的探索与实践
“导航杯”实践教学模式的做法与成效
5E教学模式对我国中学数学教学的启示
多媒体技术在建构主义教学模式中的应用