高职院校“程序设计”课程教学改革探析

2009-01-20 01:55覃晓康盛雪丰
计算机教育 2009年24期
关键词:相关性分析程序设计高职院校

覃晓康 盛雪丰

摘要:本文根据高职院校计算机教育课程体系的特点,用事实、客观、具体的数据阐述了“程序设计”类课程在教学中存在的一些问题,从课程、学生、教学方式等方面探求分析了问题产生的原因,并且针对问题提出有关改革课程体系、教学模式、教学方式的一些办法与措施。

关键词:高职院校;程序设计;教学改革;相关性分析

中图分类号:G642 文献标识码:B

计算机软件(程序)是使计算机系统发挥强大功能的灵魂,掌握了程序设计就可以了解程序的运作方式,帮助解决软件在使用中所出现的问题,因此,“程序设计”也就成为各高职院校绝大多数专业必学的一门技术基础课。但是,由于课程本身概念抽象、不易记忆、枯燥无味,再加上高职学生生源复杂,综合素质不一等因素,课程的教学效果并不理想。

本文所引用的数据来源于一所民办性质的高职学院,虽不能以偏概全,却也可以让我们看到课程教学的一些现状,促使我们对课程进行不断地改革探索和调整。

1“程序设计”课程教学的现状

早在1997年,教育部高教司发布的“155号文件”中,就明确提出了对大学生进行计算机教育的内容和目标,制定了非计算机专业三层次教育的思想模式。目前高职计算机教育也是遵循这一模式。全国高校计算机基础教育研究会在“中国高职院校计算机教育课程体系2007”(CVC2007)中,将它描述为三个阶段:第一阶段面向各个专业的学生,课程为“信息技术应用基础”;第二阶段面向各大专业,侧重服务于专业教学的程序设计类技术课程,如“高级程序设计语言”或“数据库与程序设计”等;第三阶段为应用于专业和职业的计算机技术课程。

在进入第二层次开始学习程序设计类技术课程时,各高职院校基本上还是沿袭传统的教学模式:即用一种高级语言(如C、VB或者VFP)的书做教材,以这种语言自身的语句体系为脉络展开教学,详细地讲解语句、语法甚至一些细节内容,学生学习一个语句就做一些与该语句有关的习题。学习过程中学生积极性低,难于动手,时常课程学完了可编程水平、分析解决实际问题的能力还是没有得到提高,收获甚微。并且,就课程本身的考核成绩来说,也都不太理想,有时候教师不得不采用将考试成绩“开平方根乘以10”的办法来提高成绩。

2009年春季学期,本人在开设的“从问题到程序”选修课里对来自于全院各专业的80名学生进行了摸底测试,并对其中刚刚学完C语言的08级相关专业50名学生的成绩进行了统计与分析,其中最高分只有56分,平均分只有30.4分,可以说成绩相当不理想。表1是某高职学院近三年来参加全国计算机等级二级考试(C、VB、VFP)的成绩汇总表。

全国计算机等级考试是一门以掌握程序设计语言为内容的考试,考试方法简单,题目愈出愈偏,难以真正体现出“程序设计”课程重实践应用的特点,因而不能拿它作为衡量课程教学效果的标准。但正是由于它教考分离、统一标准的测试方式,却能比较客观地反映出一些问题。

虽然一所学校的成绩不能代表整体教学的情况,但从这些较低的成绩与通过率上还是反映出“程序设计”课程教学现状的严峻形势。

2产生问题的主要原因

2.1课程本身的问题

对于我们高职学生来说,难学的课程通常是诸如“数学”等概念抽象、逻辑性强的课程,像Photoshop等直观形象的课程,教学效果较好。而程序设计类的课程,和数学一样,几乎都有自己的一套封闭的名词术语和运行机制,其抽象的特征使课程既难教也难学。

学生学习C语言,一般在刚开始的“数据类型”、“运算符与表达式”时就出现了问题。“数的定长表示”、“变量”等与他们高中所学知识的相异,“数据类型”、“运算符”、“算法”等复杂抽象的概念与繁多的规则,使他们望而生畏。如果前面简单的小程序写不出做不对,学生对后面的内容就更无从下手,从而增加了挫折感,削弱了积极性,产生抵触情绪及排斥心理,更有甚者放弃了对课程的学习。

2.2学生本身的问题

“数学、英语成绩不好”是很多高职学生为学不好程序设计找出的理由。计算机科学是数学的一个分支,数学基础好的人,能较容易地理解算法的精髓,并可能写出时间与空间复杂度都有明显改善的算法。但对于高职课程教学来讲,强调的是入门,要求的只是学习基本的程序设计思想,逐步培养学生的算法思维,养成良好的编程习惯,因而对数学及英语的要求其实并不高。作者对上述选修课班级同学的高考成绩与C语言摸底成绩进行了相关性分析,如表2所示。

以上分析的样本单位数为50,显著性水平为5%时的相关系数临界值为0.28,表明分析结果符合显著性检验。

依照统计学上的相关性分析理论,表明“程序设计”课程成绩与同学们的数学、英语成绩关系并不大,而与能体现学习习惯及自觉性的总成绩有显著相关。较低的高考成绩说明他们是应试教育的“失败者”,入学时或多或少都存在着求知欲减弱、学习热情降低的情况,甚至有部分同学还抱着来学校混几年的思想;另外,刚刚从中学的应试教育进入到高职的应用型、技能型职业教育,许多学生对新的学习方式、方法都不知所措,就更加重了他们的失落、自卑、茫然、厌学等消极情绪。

2.3教学方式的问题

很多学生在初学程序设计的时候,不能足够重视编程实践,在看懂了书上例题做了几道习题后,就以为掌握了相关知识。其实对于程序设计入门来说,最重要的是逐步培养用程序设计语言思考和表达的能力。对于这一点的缺失,我们教师的教育和教学方法也难辞其咎。很多教师在“程序设计”教学时多以教授语法为主,就题解题编程的现象普遍存在,没有引导学生如何合理规范地使用语言,更重要的是没有教授学生学习程序设计的一些原理,没有告诉他们判断程序实现优劣的正确标准。这些问题不仅仅是一名教师的教学水平问题,同时也是一所学校的教育制度与教育理念的问题。此外,也确实有一些老师自身的程序设计水平有限,自己也只知道一些语法,只会写应付书本习题的代码,难以引导学生认识和追求真正的程序设计。

3解决的办法与措施

3.1分模块教学,改革“程序设计”课程体系

就像谭浩强教授在《C程序设计》里所定义的那样,程序是由算法、数据结构、程序设计方法与语言工具和环境4个部分所组成,我们的“程序设计”课程教学也应包括这4个方面的内容。但是,“程序设计”课程一般只有64学时,并还有逐步减少的趋势。对于高职院校来说,要在这64学时内保质保量地完成教学任务是非常困难的,并且效果也难以保证。因而我们应改革现有教学体系,将其内容按模块进行划分,分阶段实施,以提高课程的教学质量。

不管“程序设计”课程选用什么样的计算机语言,我们都可以将它分为3个模块,第一个模块可称为“程序设计语言基础”大模块,主要包括程序设计语言的基本概念、基本要素(如变量、数据类型、表达式、语句与控制结构、程序书写规范等)以及输入/输出格式等内容;第二个模块是程序设计语言的主体(如函数、数组、指针等);第三个模块是程序设计应用,主要为综合编程实训及高级编程应用(如结构体、共用体等)。在教学时,3个模块可以分为三个阶段来实施。第一个阶段在大一上的后半学期开设“程序设计基础”课程,教学内容可选用简化的C语言作为“过程设计语言(PDL)”,精简第一模块的内容,增加程序设计思想、编程方法等内容,教学时淡化语言本体,强调程序设计思想的学习,使学生快速建立程序设计的基本概念,培养学生的基本程序设计能力,了解程序设计语言的作用和差异,养成良好编程习惯;第二阶段就是以某种高级语言为主体的“程序设计”课程,教学重点为第二模块的内容,时间在大一下学期;第三阶段就是以第三个模块为主要内容的项目程序设计综合实训,可安排在大二上学期用一周的时间完成。

3.2把握课程特点,改革传统教学模式

“程序设计”是一门有着自己鲜明特点的课程,它强调逻辑分析,注重创造和灵活的表达,实践性非常强。传统教学模式是按照“提出概念——解释概念——举例说明”三部曲来进行的。高职教育的特点决定了计算机教育应当以应用为主、理论为辅。如过分强调语法规则只会将高职学生带入歧途,这样的教学结果往往是学生写程序时不知如何下手。因而,我们必须把握课程自身及教学对象的特点,改革传统教育模式,采取“提出问题——解决问题——归纳提高”的新三部曲,直接面向应用,按应用需要组织课程,从问题的需求引导知识的讲授,让学生了解从“问题”到“程序”的渐进转化过程,使学生由被动接受变主动学习,充分发挥主观能动性,实现我们的教学目标。

3.3采用案例教学,改变传统教学方式

传统教学方法所采用的“先理论,后实际;先抽象,后具体”教学方式,加重了概念抽象复杂、内容枯燥乏味的“程序设计”课程学习难度。计算机语言并不是不强调概念,但过分强调只能起到事倍功半的作用。现代学生的感性接受能力一般都很强,因此我们可采用案例教学,改变传统教育方式,实施“先实际,后理论;先具体,后抽象;先个别,后一般”的新教学方式,这是符合课程教学特点和高职学生认知规律的。

事实上,绝大多数的“程序设计”概念与知识都是要用到程序中去的,因而我们可以用程序去演示这些知识点的作用和含义,就像我们做物理试验去演示一个物理现象一样,“程序设计”课程的教学就会由抽象变得形象,促进学生理解与掌握。在选择编程实例时,也应注重题目的趣味性,将“穷举算法”、“多重循环”、“回推递归”等理论知识溶入所举的趣味性案例中。还应鼓励学生在生活、学习中自己找题来做,适时开设小课题研究、征集一些各学科应用计算机解决的典型案例。充分激发他们的好奇心和热情,将学到的理论知识和现实生活实际问题紧密结合,达到学以致用的目的,增加他们的成就感,提高他们的学习兴趣。

4结语

“程序设计”课程教学是一个广泛而深远的工作,对计算机教育工作者来说,它是值得不断探讨的课题。我们应从高职教育的特点入手,以职业需求为目标,制定确实可行的培养方案,以学生为中心,按模块分阶段循序渐进地组织教学。在实施过程中,采用案例教学方式,加大实践教育环节,注重学生自信心及独立思维能力的培养,从而提高课程教学质量。

参考文献:

[1] 中国高等职业院校计算机教育改革课题研究组. 中国高职院校计算机教育课程体系2007[M]. 北京:中国铁道出版社,2007.

[2] 黄良文,陈仁恩. 统计学原理[M]. 北京:中央广播电视大学出版社,2006.

猜你喜欢
相关性分析程序设计高职院校
基于OBE的Java程序设计个性化教学研究
项目化教学在Python程序设计课程中的应用
C++程序设计课程教学改革研究
医学专业“Python程序设计”课程教学改革总结与思考
上市公司财务指标与股票价格的相关性实证分析
淘宝星店成长中的粉丝力量
中国城市化与经济发展水平关系研究
高职院校创新创业教育初探
全球化背景下高职院校韩语专业毕业生就业现状分析
多元智能理论视角下高职院校体育课程评价体系的研究