首页 > 文章中心 > 正文

计算机程序设计教学项目教学

计算机程序设计教学项目教学

[论文关键词]建构主义理论项目教学法计算机程序设计教学

[论文摘要]项目教学法是师生通过共同实施一个完整的项目工作而进行的教学活动。在计算机程序设计教学中采用项目教学法的目的是在课堂中把理论与实践教学有机地结合起来,充分发掘学生的创造潜能,提高学生用计算机语言解决实际问题的综合能力。

中等职业学校是培养高素质专门技术人才的基地,肩负着向特定的行业和岗位培养合格的操作技能型人才的使命。现代科学技术的迅速发展,促使社会体系、经济体系和教育体系不断地变化,社会对技术人才的需求也在变化,要求越来越高,从过去的对相对单一型人才的需求转变为现在的对多元化、复合型人才的需求。尤其是计算机专业的毕业生,知识结构与能力更是难以满足现代企业的需求,大量的毕业生在社会上找不到与所学专业相吻合的工作。因此,面对严峻的就业形势,教学必须适应社会对人才的需求变化,改变传统的以“知识为本位”的教学目标,代替以“能力为本位”,以“就业为导向”的教学目标,教师应改变传统教学方法,重视对学生能力和创造性的培养,以适应培养学生综合能力的要求。而因地制宜的运用项目教学法就能够培养学生的动手能力、解决实际问题的能力。

一、项目教学法的必要性

程序设计课程是计算机专业课程体系中重要组成部分,也具有较大难度。我校计算机专业开设的程序设计课程主要包括QBASIC、C、VFP、VB、数据结构等。QBASIC是低年级的入门语言,主要是引导学生从算法语言层面逐步认识计算机处理问题的方法,C语言是一种概念复杂,理论性和实践性均很强的程序设计语言,要求学生有较好的程序设计基础。不管是哪一门课程,程序设计教学的最终目的都是要培养学生分析和设计程序的思维方法和能力,也就是要会用语言这个工具去解决实际问题。传统的教学方法大都是从理论入手,虽然能系统完整地讲解各章各节各个知识点,但由于内容比较枯燥,对于基本素质、自学能力和自控能力都停留在比较低的层次上的职校学生来讲,仅能够灌输到一点基本概念和理论,根本谈不上能用语言这个工具去编写实际的程序。笔者在多年的计算机程序设计教学实践中,结合教学内容和教学对象的实际情况,逐步总结出采用项目教学法能够极大地提高学生学习的积极性和主动性,使他们的动手能力、解决实际问题的能力得到很大的提高。

项目学习法是一种教和学的模式,它集中关注于某一学科的中心概念和原则,旨在把学生融入有意义的任务完成的过程中,让学生积极地学习、自主地进行知识的建构,以现实的学生生成的知识和培养起来的能力为最高成就目标。项目学习可以成为概念的教与学所赖以存在的中心环节,而不仅仅是在努力学习过程之后进行的一种辅助性的充实。

项目教学法是符合建构主义理论促进学生全面发展的科学教学方法。建构主义学习理论认为,知识不是通过教师传授得到的,而是学生在一定的情景下,借助他人(包括教师和同学)的帮助,利用必要的学习资料。通过意义建构的方式而获得。基于建构主义的教学法要求,在学习过程中,要以学生为中心,教师应起帮助者角色,利用情景、协作、会话等学习环境要素,充分发挥学生的主体性和创新精神,使学生有效地达到对当前所学知识的意义建构。

二、项目教学法的实施

项目教学法是师生通过共同实施一个完整的项目工作而进行的教学活动。通过选取工程项目来创设情境,通过协作学习的方式开展学习,通过完成工程项目来达到意义建构。它突破了传统的教学模式,通过解决学生身边的一些现实问题来实现学生对知识的掌握,大大提高了学生学习的积极性和主动性。通过项目教学法学习的学生,他们的动手能力、解决实际问题的能力有很大的提高。这种方法不但适合职业学校的计算机程序设计课程教学,尤其适用于学生水平参差、学生自控能力比较薄弱、课程的应用性比较强的教学。

项目教学法是从职业学校计算机程序设计课程教学中总结出来的,与程序设计模块化的思想相吻合,所以特别适用于培养“软件蓝领”专业的教学。

下面以《C程序设计》课程中函数这一章采用项目教学法教学为例,具体说明该方法基本的教学步骤。

C语言中的函数相当于其他高级语言中的子程序,是C语言中实现模块化编程的基础,也是学生初步形成模块化开发软件的基础。在未学函数这一章之前,学生已经编写了一个成绩处理程序,该程序的主要功能有成绩的输入、输出、求总分、求平均分、求最高分、排序等。在花了5课时讲解了函数的基本知识及概念后,要求学生用所学函数知识将前述程序改写成一个完全模块化的程序。

1、情境设置。创设学生当前所学习的内容与现实情况基本相接近的情境-给出原先所编的学生成绩处理程序,要求用函数部分的知识将该程序进行模块划分,把学生引入到需要通过函数来解决现实问题的教学环境。我所选取的学生成绩处理项目中,有成绩的输入、输出、求总分、求平均分、求最高分、排序等。这是一个贴近实际,学生比较熟悉,难度适合的项目,这样容易调动学生解决问题的积极性。

2、操作示范。围绕当前学习的知识点,以便于学生“知识迁移”的要求,选择合适的小项目,并示范完成项目的过程。我选择成绩输入这个小项目,示范用自定义函数来实现该模块的功能。

3、独立探索。让学生独立思考,对知识点进行理解,消化成绩输入这个示范项目的解决要点,为解决练习项目打下基础。要消化的要点主要有函数定义部分的参数定义、返回值的确定,以及函数的调用,函数的原型声明等。

4、分组并确定各小组的项目。小组通过研究讨论,并在教师的指导下,将成绩的输出、求总分、求平均分、求最高分、排序等划分好的小项目分配给各小组。

5、协作学习。各小组开展交流、讨论,组员分工协作,调试运行,完成项目。采取分组协作学习的方式时,每组人数应适中,组员的个性、能力方面应采取互补方式搭配好,设立一小组长,协调组内成员分工,有利于同学之间互相学习。最后各小组充分运用其他小组已编写好的模块集成出一个完全模块化的程序。因为本项目中的各个模块即小项目是由各小组分别用函数完成的,最后必须将各小组编写的集成起来才能得到一个完全模块化的程序。

6、学习评价。学生学习的效果直接由完成工程项目的情况来衡量,包括教师评价、学习小组评价和自评三部分。分三级来考核:第一级是由教师对小组完成项目情况进行评定:能否共同协作,实现预定功能;程序的优化;是否具有创新意识。第二级是由各小组成员根据各组员对本小组贡献的情况进行互评,组员的参与意识;第三级是由学生本人进行自评,是否在原有基础上有所提高。综合三级评定情况来确定每一名学生的学习成绩。

三、项目教学法应用注意点

项目教学法是行为引导型教学方法中的一种。在整个教学过程中既发挥了教师的主导作用又体现了学生的主体作用,使课堂教学的质量和效益得到大幅度的提高。但在具体使用时还应重点注意以下几点:

1、项目的选择与教材的处理

项目的选取是学习的关键。选取项目要以教学的内容为依据,可大可小,既要包含基本的教学知识点,又能调动学生解决问题的积极性,让学生既能运用学过的知识,又可以创造发挥。教师和学生可以共同参与项目的选取。作为教师对知识点进行讲解的实例,所选取的项目必须简单和典型,以此实例作为学生初始学习的例子,便于学生对知识的迁移;另外一个项目要有一定的难度,可促使学生学习和运用新的知识、技能,解决过去从未遇到过的实际问题。

教材是一个问题。由于现行的教材基本根据学科知识系统进行编写,教师实施项目教学法时,不能够完全按照教材一章一节地讲授,所以要求教师在设计教学时,必须重点选好示范项目,紧密结合教材内容,适当编写讲义,甚至编写教材。

2、正确处理项目教学法与传统教学法的关系

项目教学法并不是日常教学的全部,它只是教学环节中一个非常重要的部分却不可能替代全部的正规教学,它侧重于对学生能力的培养,在应用性比较强的程序设计课程教学中表现出一定的优势;而传统教学法具有完整的理论体系,所以学生对知识点和知识体系的掌握都比较牢固,这在理论课表的教学中表现出一定的优势。在具体运用中中两者可以交叉使用,重视项目的完成,但不能忽略基础知识的掌握;注意吸取传统教学法的长处,把总目标细分成一个个小目标,每个小目标体现在项目中的小模块上,从而让学生建构一个系统的、全面的知识框架

3、教师的角色定位

在教学过程中,教师的地位是经常变化的,当学生学习新技能时,教师是知识的传授者,当学生运用已学技能时,教师是导航员,当学生自主活动时,教师是观察员,当学生以小组进行活动时,教师又需要充当协调员。

教师应当创设学生学习的资源和协作学习的环境,让学生有多种的机会在不同的情景下来应用所学习的知识,充分运用现代教育技术的手段给学生提供多种学习的资源;协商解决各个难关,使学生群体的思维与智慧为每个学生所共享,从而达到全体学生共同完成意义的建构。教师应当做好对各项目的评估总结,在评估中要指出问题的所在及解决的方法,要总结比较各组的特点,引导他们学习别人的长处来改进和提高自己的设计,使学生的各种能力在评估中得到提高。教师应当发挥好协助作用,让学生根据自身行为的信息来实现自我反馈。

通过项目教学法在计算机程序设计课程教学中的应用与实践,笔者深刻体会到:项目教学法把理论教学与实践教学有机的结合起来,不仅有利于学生加深理解和掌握书本的理论知识,更使他们懂得怎样灵活应用这些知识。项目教学法充分发掘了学生的创造潜能,全面培养了学生分析问题和解决问题的思想和方法,提高了学生对程序设计的意义建构,充分地展示了中等职业学校教学“以能力为本位”的价值取向。

[参考文献]

[1]何克抗.建构主义——革新传统教学的理论基础[A].学校教育现代化建设[M].国家教委电教办樟木头培训中心,1998,(3).

[2]赵建华,李克东.协作学习及协作学习模式[J].中国电化教育,2000,(10).