高职《程序设计语言》能力训练的教学改革
2009-06-04滕刚
滕 刚
摘要:以《程序设计语言》课程为背景,围绕高等职业院校学生程序设计能力的培养与训练这一主旨,探讨了《程序设计语言》课程教学中有关语言选择、教学方法及实践教学等方面的改革。
关键词:高等职业教育;程序设计语言;能力
在计算机专业的课程体系中,《程序设计语言》课程作为课程体系的一个环节,占有重要的地位。高职院校学生感觉《程序设计语言》课程内容枯燥乏味,难以学习,更难以实际运用,造成了教和学的困境,部分学校甚至为了迎合学生的要求而考虑减少程序设计课程在教学计划中所占的比重。笔者认为,高等职业院校计算机专业的程序设计课程教学应该增强,并注意教学目标和教学方法的改革。本文将围绕高职学生程序设计能力的培养与训练这一主旨,探索高职教育环境下《程序设计语言》课程在教学方法、教学内容、实践教学等方面的改革。
高职的《程序设计语言》教学
在本科计算机专业的教学计划中,《程序设计语言》课程属于专业基础课,一般开设C语言,总学时在54~64课时之间,以基本概念的讲解为主。由于高职学生在理解能力和自学能力上与本科生有一定差距,如果依然照搬本科的教学方法,则很容易使学生感到枯燥,没有积极性,继而产生抵触心理。我们应该改革教学方法和教学目标,以适应学生的实际情况,但不能削弱《程序设计语言》作为一门重要专业基础课的地位。主要因为:(1)计算机专业教学规律的要求。作为一门专业基础课,《程序设计语言》课程是许多后继课程学习的基础,例如《数据结构》、《数据库概论》等,如果不打好坚实的程序设计基础,必然会影响学生对后续课程的学习,同时也给教师今后教学带来困难。(2)职业技术资格证书考核的要求。程序设计能力是计算机专业人才的必备能力,大多数的计算机专业职业资格证书的考核中都会涉及,在高职教育越来越强调“双证”的环境下,是否拥有良好的程序设计能力,决定了学生能否顺利获得职业资格证书。(3)高职人才岗位能力的要求。高等职业教育与本科、专科教育的一个很大的不同点就是职业岗位的高针对性,需要注重职业岗位能力的培养。作为计算机专业人才岗位能力的重要部分,程序设计能力在计算机专业高职人才的培养过程中应该得到强化。
由上可见,程序设计课程在高职计算机专业的教学中占有很重要的地位,而且由于高职教育的特点,程序设计课程不仅是专业基础课,更是一门专业技能课。
高职程序设计语言的选择
目前,我国高等职业院校开设的《程序设计语言》课程所选用的语言很多,但可以归为以下两类:(1)面向过程、基于文本界面,主要有C、Pascal、True Basic等程序设计语言,以C语言为主;(2)面向对象、基于Windows图形界面,主要有Visual Basic、Delphi、Visual C++、Java、C#.NET等,以Visual Basic语言为主。教学计划中的课程设置也是多种多样,有的学校仍然开设C语言,而有的学校则用Visual Basic等代替;有的学校只开设一门课,课时很多,而有的学校则开设三四门课,但每门课的课时都很少。笔者认为,在程序设计语言选择上要注意以下两点。
程序设计语言的选择贵在精而不在多 由于高级语言有较强的共性,比如数据类型、程序结构、函数等概念,如果能熟练掌握一门高级语言,则对其他语言的学习会变得很容易。
兼顾专业基础课和专业技能课的要求 高职教育中的程序设计课程不仅是一门专业基础课,更应该作为一门专业技能课来对待,所以,在课程设置和语言选择上应该兼顾这两方面的要求。C语言一直是程序设计专业基础课的首选,也有些学校开始使用Visual Basic等可视化语言代替C语言,但这容易增加部分后续专业课的教学难度,例如《数据结构》。如何解决专业基础课和专业技能课要求不同的问题,这是设置课程时必须考虑的。
为此,建议以两门高级语言作为程序设计的主干课程,一门面向过程的语言作为专业基础课,教学的重点在于结构化程序设计的基础;一门面向对象的可视化程序设计语言作为专业技能课,教学重点在于面向对象和Windows程序开发。例如,我校计算机专业教学计划中开设有两门程序设计语言,第二学期开设C语言,85学时,1周课程设计;第三学期开设C#.NET程序设计,75学时,1周课程设计;第四学期再按照专业需求的不同,开设基于C#.NET的《数据库程序开发》、《多媒体程序开发》、《网络应用开发》等课程。学生通过以上课程的学习,既具有扎实的结构化程序设计基础,又具有很强的面向对象和Windows程序开发的能力。
高职《程序设计语言》教学方法探讨
《程序设计语言》课是高职计算机专业的一门重点课程,但如果不顾高职教育特点,照搬本科教育的教学计划,则很容易造成教和学的矛盾。要解决这一问题,首先就是确定适合高职教育的教学目标和要求。
作为人和计算机通信的程序设计语言,在教学中应达到如下目标和要求:(1)学习程序设计语言的基本知识,养成好的编程习惯和严谨的工作作风;(2)了解数据处理的结构和算法;(3)能阅读、理解、使用各类应用程序;(4)能设计、编写及调试程序,具有一定的程序设计能力。在上述目标和要求中,其中心在于程序设计能力的培养,这也是《程序设计语言》课教学的中心环节。下面就围绕学生程序设计能力的培养与训练这一主旨,探讨《程序设计语言》课教学在教学方法、教学内容上应强调的几个问题。
把握程序设计语言的全貌和特色 在语言课基础知识教学中,应注意点和面的结合。一方面,应从全局来把握一般高级语言共有的特征;另一方面,在每一环节教学中,应讲清该语言的特色,使学生对其特色部分有较深入的了解。
注重数据结构和常用算法 语言归根到底是要用来编程的,而数据结构和算法是程序的两大要素,教师应避免把教学重点放在语法的定义、规则上,而应将数据结构和算法这条线索融合在程序设计语言课教学中。在教学中宜将数据结构的基本内容穿插于语言基础知识的讲授和程序设计之中。
强调实践环节 高职计算机程序设计语言课的教学应格外强调实践环节的训练,除通过上机实验、课程设计、综合实训等多个环节提高学生的实践能力外,还应该注重课程考核中实践内容的比例,比如可以采用书面考试、上机考核、项目实践相结合的方式。上机考核可以让学生在规定的时间内对给定的程序设计题目编出程序并上机调试通过。项目实践在期中布置,期末验收。这样,通过多方面的综合考察,有助于全面衡量学生学习情况和实践能力。
注意可视化程序设计语言教学的特点 随着计算机技术的飞速发展,各类程序设计语言层出不穷,特别是许多可视化的、基于面向对象思想的软件开发语言得到了业界的认可。作为高职计算机专业的毕业生,熟悉这些行业内常用的程序设计语言也是必须的。在教学过程中,针对这些语言的特点,应适当调整教学重点和教学方法。(1)应该把课程放在专业技能课的角度上来制定教学大纲,强调培养学生的自学能力和实际动手能力。在教学过程中,应尽量使用真实的项目案例,让学生能使用所学知识解决实际问题。(2)不要忽视基本语法的学习。由于这些程序设计语言往往都有很强的可视化开发工具,使用其设计Windows程序界面变得非常简单和有趣,学生一般比较感兴趣。但如果在教学中迎合学生的口味,只讲界面设计而忽视了基本语法和结构化程序设计基础的学习,最终学生还是无法真正掌握程序设计这门课程。(3)充分应用多媒体教学手段。因为,可视化的程序设计语言往往都拥有丰富的可视化工具和控件,若仅以板书和口述来介绍,学生根本无法理解控件究竟该如何使用。而使用多媒体教学,既可以生动、形象、直观地介绍控件,又能增强学生的感性认识、调动学生的积极性,从而提高教学质量。(4)实行以实例为中心的实践教学。课程的实践教学环节应该以实例为中心展开。比如,在讲授C#课程时,笔者发现该语言有很多标准控件,而又不可能每个控件都花大量课时讲授,所以,只在最基本的三个控件上花了一定时间,其余控件则通过“1+1+1+1”实例教学法让学生掌握使用。所谓“1+1+1+1”实例教学就是对每个控件准备若干实例,讲课时选取其中一个进行完整的讲解,上机实验时选取一个让学生完成,课后再选取一个作为作业,期末复习时还可以选取一个作为复习题。通过“1+1+1+1=4个实例”的反复练习,在不增加课时的情况下使学生学到了更多的编程知识和技巧,这不仅提高了学生的学习兴趣,而且还激发了学生的自学能力,收到了良好的效果。
现在,许多非计算机专业的学生都已能熟练使用计算机,如果一个计算机专业的学生不具备程序开发能力,毕业后会处在一个很不利的竞争地位,所以,掌握好一两门程序设计语言对他们尤为重要。本文仅以《程序设计语言》课程为背景,围绕程序设计能力的培养和训练这一主题,阐述了语言课教学中应注意的几个问题。随着软件技术的发展,《程序设计语言》课教学中要探讨的问题还很多,如何取得更好的教学效果,还有待于教师进一步积累教学经验,探求好的教学方法。
参考文献:
[1]张恒博,魏晓鸣.程序设计语言类课程设置的分析[J].大连民族学院学报,2005,(4).
[2]张敏霞.程序设计语言课程教学方法改革的探索与实践[J].中国高教研究,2004,(1).
[3]张书云,姜淑菊.程序设计语言课程教学方法探析[J].计算机教育,2005,(10).
作者简介:
滕刚(1975—),男,江苏苏州人,硕士,苏州市职业大学计算机工程系讲师、工程师,研究方向为计算机软件工程。