农业院校非计算机专业程序设计课程教学改革探索
2012-09-06丁春荣
丁春荣,金 秀
(安徽农业大学信息与计算机学院,安徽合肥 230036)
教育部基础教学指导委员会指出:高校非计算机专业计算机教育的重点应放在具备计算机基础应用的能力,具有数据库管理系统的基本操作,掌握系统开发研制的能力,具有使用一种高级程序设计语言进行程序设计、分析调试等能力的培养上.当前随着社会信息化的快速推进,社会各个行业对从业人员的计算机技能要求也越来越高.农业类院校的计算机基础教学任务是培养既掌握各专业领域知识,又能熟练使用计算机的复合型人才,即各行业中所需的计算机应用人才.程序设计课程是计算机基础教学系列中的重要课程,开设这门课程的目的是为了提高学生利用计算机解决实际问题的能力,为学生将来在本专业领域应用计算机解决问题奠定基础[1].笔者对多所同类高校的非计算机专业程序设计课程教学现状作了调查研究,结合我校实际情况,对教学中存在的一些问题提出改革建议,以期为今后的教学提供参考.
1 存在的主要问题
笔者对我校2008年以来每年的非计算机专业程序设计课程做了数据统计,如表1所示,从中可以看出我校在课程设计、教学内容与教学形式等方面还存在一些问题,由于这些问题的存在使得每年学习程序设计的专业、选修人数及考试的分数都在不断的下降,如果问题得不到及时的发现和解决,将来势必导致程序设计课程在我校将难以开展下去.
1.1 课程设计与专业不符,目标定位不明确
随着高等教育的发展,大部分高等农业院校都在不断地扩大招生规模,增设新学科和新专业,逐步发展成为农、工、经、管、文、法、医等多学科、多专业共同发展的综合类院校.由于不同专业对学生掌握计算机基础的技术范畴要求不尽相同,而且本科教育的培养目标已经由“研究型人才”转向“应用型人才”,虽然从理论上而言,程序设计课程原理都是相通的,只需开设一门,其它语言可以通过自学来掌握,但是由于农业院校学生的学习能力与工科院校相比还存在一定差异,比如逻辑思维能力较弱,想象空间较窄等,另外不同的农业类专业对计算机技能的需求也不尽相同,因此如何针对专业需求选择符合专业的程序设计课程成为一个亟待解决的问题.近年来我校在设置程序设计课程时也存在一定问题,比如园艺教育专业,09级学生学习VB课程,10级学生学习VFP,11级学生又改学C,课程设计没有一定的延续性.
表1 我校2008~2012年农业类专业程序设计课程情况表
1.2 教学内容与专业知识相距甚远,学生兴趣不足
目前,我校农业类专业的程序设计课程教学目标和要求都是一致的,根本没有把专业技能和计算机技能结合起来.另外程序设计教材也都是通用的,内容大都与计算机专业所学教材一致,书中语法、语句讲的太多太细,忽略了对专业上的基本问题的求解.教材中的实例偏向于理工科中的数学内容,体现不出与学生所学的专业知识有任何联系,并且计算机课程与农业专业课在思维方法上也相距甚远,结果学生在学完课程后仍然不会用所学知识解决专业问题.久而久之,学生就会出现学习动力不足,逐渐失去学习兴趣,对学习计算机课程抱着一种被动的应付心理,这也失去了高校最初设置这门课程的本意.
1.3 学生整体素质层次不齐
与理工科院校相比,农业院校开展计算机基础教育工作相对困难较多,这是由于学生的生源主要来自农村,落后的条件导致这些学生计算机基础知识和操作技术较为薄弱.另外,学生在独立思考能力和学习能力等方面也有着较大的差距.这就要求在教学中不能用统一的方法,应注意授课对象不同,采取不同的教学方法.
1.4 学分制改革实践课学时不足
高等院校学分制改革使得计算机公共课的课时缩减,每学期实践课时只有30个,致使学生没有足够的上机实践的时间,形成了理论重、实践轻的局面,而实践操作对于程序设计课程而言是至关重要的,学生只有通过多上机练习编写程序、调试程序才能不断提高编程能力.而较少的实践操作也使得学生对程序的编写、录入、编译非常生疏,有许多学生对程序编译时出现的英文不认识,如undeclared identifier(未声明验证)、truncation(截去)等.如何在课时不足的情况下,使学生能够充分进行实践是教学改革需要解决的问题.
1.5 教学形式单一,缺乏师生交流
目前程序设计课程的课堂教学模式都是以教师讲授为主,学生听和记,由于课时少,教材内容又多,教师为了赶进度,往往无法与学生进行有效的沟通,教师不清楚学生的掌握情况,学生也极少主动问老师问题,课堂气氛显得枯燥乏味.有些学生上课不注意听讲,对程序设计中的本质缺乏理解,比如,许多学生对变量、常量、指针等意义不清楚,更不用说应用了.还有部分学生因为要参加一些学校组织的其它活动而无法上课,课外自学时遇到问题又无法及时得到解答,问题越积越多也就导致学生产生厌学情绪.
2 程序设计课程的改革探索
2.1 教学模式改革
以探究型教学模式取代传统的教学模式.探究型教学模式是指教师以课程内容和学生的学识积累为基础,引导学生创造性地运用知识和能力,自主地发现问题、研究问题和解决问题,是在研讨中积累知识、培养能力和锻炼思维的新型教学模式[2].相对于以单向性知识传授为主的传统教学模式而言,探究型教学模式能极大地引起学生对学科的兴趣,拓宽学生的视野,提高学生的学习积极性,从而对学科进行比较深入地探究.探究型教学模式与传统的教学模式的区别如表2所示.
表2 探究型教学模式与传统教学模式的区别
从表2中可以看出,探究型教学模式不再是传统教学模式中的“填鸭”式教学,而是一个具有能动性和创造性的教学过程,学生不再是对知识死记硬背,而是经过思考、探究、综合运用相关理论知识,并充分发挥自己的想象力和创造力.在教学的过程中,教师与学生的创造热情和积极主动性都能得到充分发挥.[3].
2.2 课程内容改革
(1)教学内容改革.农业类专业的程序设计课程在教学内容上不宜过分注重语法细节,而应该有所取舍,不该讲授的内容坚决不要介绍,以防因小失大.对农业类专业而言,掌握语言不是目的,真正的目的是掌握程序设计开发的基本思想与基本算法.笔者在教学中经常是在解决实际问题的过程中介绍C语言的语法规则及其本算法.例如,笔者在上种子科学与工程专业的C语言程序设计课程时,准备学习数据类型,这时笔者首先提出一个问题:如果要进行农作物种植最终收益的评估,需要考虑种子成本、肥料成本、人工成本、收割成本及销售收入等各种成本,让学生思考如何对这些数据加以表示.就种子成本数据而言,因为有种子编号,种子单价,每亩播种量等数据,这三种数据性质不同,在计算机内存中存储方式也不一样,因此要用不同的数据类型加以区分,从而引出数据类型的概念及如何使用数据类型定义变量.有了数据表示之后,接下来就是数据如何输入和输出的问题,于是又涉及到输入函数scanf()和输出函数printf()如何使用的问题,数据输入后接下又考虑到如何编写程序语句计算最终收益的问题.这种围绕问题来介绍概念和语法规则,具有一定的针对性,又结合了专业知识,容易引起学生的学习兴趣,往往会起到事半功倍的效果.
(2)实验内容改革.实践教学是程序设计课程的关键环节,实践过程中案例的选择非常重要.为了激发学生的学习兴趣,使其学习的知识具有一定的实用性,能够帮助学生解决学习中遇到的问题,就要求案例最好与专业知识相结合,设计案例时不仅要适合学生的知识层次和掌握能力,而且还要充分考虑案例的典型性和难易程度等.比如对农林专业,可以设计一些关于农作物种植收益的评估、农作物产量预测、农药用量问题、种植品种选择问题等和专业知识有联系的案例.针对农作物种植品种的选择问题可设计成一个项目:已知一块地实际面积大小,现有A、B、C和D四种作物可种植,已知每种作物的成本、产量、单价.求以亩为单位,种植每种作物的收益,选择哪一种收益最高?如何组合栽种可以获得最大收益,最大收益是多少?可将这些专业案例按层次分为:①基础验证性实验项目;②综合性设计性实验项目;③开放性探究性实验项目.基础验证性实验项目主要是针对基础知识训练学生的基本技能,在数量上要根据考核的知识点而设立,这类实验在布置时要求学生独立完成;综合性设计性实验主要是为了考核知识的综合运用情况,从而提高学生的应用开发能力,实验数目可以根据章节适当开设;开放性探究性实验是在学生掌握了一定的实验技能后,由学生自己设计实验方案,在教师的指导下,由小组内成员合作完成的实验项目,这种项目引导学生通过实验去拓展知识,提高动手能力、创新思维能力和解决实际应用问题的能力.教师可以在原有案例的基础上,逐步改变条件,产生新的应用,从而提高学生对程序的分析理解能力和举一反三能力[4].教师可引导学生找出案例中存在的问题,不断提出新的问题,这样学生不仅理解了知识点及知识点之间的联系,熟悉了程序设计的过程,还锻炼了思考能力.
2.3 教学方法改革
(1)活跃课堂气氛.不管是在多媒体教室还是在机房上机实践,让师生互动、学生互动都是解决课堂枯燥无味、提高学生兴趣的好方法,教师在教学时不应自顾自讲课,而应该鼓励学生参与到教学过程中来.比如,我们在学习了一个案例后,可以将编写完成的程序删去一部分代码,然后让学生重新编写出来,回答不上的同学可以寻求别的同学的帮助.或者是教师对给定问题先设计一种算法,然后要求学生用另外一种不同的方法来完成,从而达到举一反三的作用.教师可根据课程的实际情况使用相似的方法来调动课堂气氛,这样做的好处是,不仅促使学生认真听课,主动思考,同时也有助于相互协作,共同解决问题.不可否认的是同学之间的相互讨论有时比教师的苦口婆心的讲解还能达到事半功倍的效果.
(2)小组协作学习.在上机实践过程中,由于综合性设计性实验项目和开放性探究性实验项目难度较大,可以将学生进行分组,以小组为单位,组内成员共同制定计划,分工协作完成,这样有助于培养学生的团队精神和集体合作精神,并且可以让成绩优异的学生带动其他学生一起进步.在此教师应该根据实际情况,灵活把握分组的标准.一般而言,教师在课前应根据学习内容,结合学生的学习基础、能力、特长、性别等因素,按照“互补互助、协调和谐”的原则把学生编成小组.如果教师对新的班级不太熟悉,可以通过学生的自我评述或用以前的成绩作参照进行初步分组,过后再根据小组协作的不同阶段重新分组.教师也可让学生自由搭配.不管用什么方法进行分组,都要以建立团结、协作的团队为基础,因为只有这样才能最大限度地发挥每个人的智慧,产生最好的学习效果.教师应对项目结果进行评价,评价内容包括程序能运行出正确的结果、项目报告、项目答辩或随机提问,随机提问是为了防止抄袭,完成比较优秀的项目要给予表扬和展示,并在期末考核成绩中给予加分.
(3)利用网络平台,加强师生交流.WebQuest是基于网络的探究性学习,以调查研究为导向,引导学生自主获取、理解、运用相关学科知识解决问题,能培养学生的信息素养、协作精神和创造性的思维能力[5].程序设计课程内容丰富灵活,学生遇到的问题也多种多样,但是由于课时有限,许多问题很难在课堂上得到及时解决,课下学生与教师又很少接触,建立一个网络学习平台不仅能方便学生对内容的理解和自学,也为师生之间、学生之间提供了一个交流的平台,达到提高学生学习兴趣和积极性的目的,而且教师本人也能及时得到反馈信息,以便更好地调整教学过程.网络学习平台应包含以下功能:网络学习系统、教案下载、实验指导、在线测试、作业在线提交、等级考试应试指南、新技术交流、网上答疑、项目开发训练、热点问题讨论等.网络教学使学生由“要我学”转变成“我要学”,让学生真正感到了自己是学习的主体,对学习内容、学习形式等具有选择权,容易激发他们主动学习的精神[6].
表3 学生平时表现与对应分值一览表
2.4 考核方式改革
考核是评价教学效果和衡量学生学习效果的重要方式,应当以考核应用能力为主,建立以课业、研讨、实验评价和卷面考试相结合的综合能力素质的全方位考核体系.不能只局限于传统的笔试成绩,而应把上机操作以及课外的项目完成情况纳入考核范围,这就要求教师要建立良好的成绩评价准则,为每个学生建立平时学习成绩档案,如表3所示,以便于学期结束时结合期末考试成绩对学生的学习情况给出综合成绩.这种考核方式不但能客观地、公平公正地反映学生的学习情况,同时也能调动学生的学习积极性.
笔者针对目前农业院校非计算专业程序设计课程的教学中存在的主要问题进行了探索,并针对这些问题进行了一定的改革实践,在实际教学中以问题为导向的探究型教学模式,以案例为导向的小组协作学习模式都是在教学中以问题为导向,引发学生思考,并将科学研究的众多要素渗透到教学的各个环节中去,起到了一定的成效.
:
[1]朱惠明,姚青.程序设计语言课程教学改革探讨[J].山东工业大学学报,2000(2):85-86.
[2]籍建东.研究型教学模式与传统教学模式的比较[J].职教论坛,2011(5):43-45.
[3]苏丽,兰海.试论研究型教学模式——基于培养高级应用型人才的视角[J].黑龙江高教研究,2008(12):175-176.
[4]李秉章,徐亚平,罗烨.以提高应用能力为目标进行计算机专业课教学[J].计算机教育,2006(12):28-31.
[5]黎加厚.Moodle课程设计[M].上海:上海教育出版社,2007:134-135.
[6]章英.高等农业院校《C语言程序设计》教学探讨[J].计算机教学与教育信息化,2008(5):910-912.