韩松
摘 要:程序设计语言类课程是计算机专业重要的专业基础课,程序设计能力是每一个计算机专业的学生应具备的基本能力。IT技术的迅速发展,使得程序设计语言种类不断增多,但其发展速度之快、种类之多以及不同的适用范围导致课堂式教学无法面面俱到。另外,传统的教学模式片面强调语法的学习,不注重知识的实际应用,学生在知识的运用能力和编程能力方面训练得不够,同时部分任课教师缺少实际的软件开发经历和经验,学生程序设计能力得不到充分培养。
关键词:程序设计;计算机;语言教学
程序设计语言类课程是计算机专业重要的专业基础课,程序设计能力是每一个计算机专业的学生应具备的基本能力。IT技术的迅速发展,使得程序设计语言种类不断增多,但其发展速度之快、种类之多以及不同的适用范围导致课堂式教学无法面面俱到。另外,传统的教学模式片面强调语法的学习,不注重知识的实际应用,学生在知识的运用能力和编程能力方面训练得不够,同时部分任课教师缺少实际的软件开发经历和经验,学生程序设计能力得不到充分培养。
1 计算机语言教学的重要性
1.1 计算机已成为对人类有重要影响的通用智力工具
计算机是能够自动、准确、快速地进行数据处理的机器。计算机及其网络是处理信息的主要工具之一,它已成为人们日常生活中不可缺少的一部分,在各个方面都发挥着重要作用。21世纪的主要特征是科学技术和生产力发展速度迅猛,信息量急剧膨胀。人们每时每刻都在与信息打交道,处处都在进行信息的采集、分析、加工、处理、保存和利用,这就要求处理信息的能力要越来越高。计算机以它能快速、准确处理、加工数据的特点成为继自然语言和数学之后的第三种对人类有重要影响的通用智力工具。
1.2 计算机语言教学的重要性
现阶段对计算机应用基础知识及基本技能的教育已经不是中、高等教育阶段的主要内容。在我国许多地区,已经把计算机应用基础课(有的称为信息技术)作为小学及初中阶段的教学内容。随着普及计算机知识教育的深入,使大学员们掌握计算机基础知识和基本技能操作已经不应作为高等教育的主要任务。高等教育中的计算机教育应该在为保证学员使用计算机解决工作和学习中的实际问题及巧妙使用计算机工具上做文章。笔者认为计算机语言教学这种深层次的计算机教育将对社会和个人都大有裨益。学习了计算机语言,人们就能够使用计算机语言与计算机进行交流,这样就能为人们解决实际工作和学习中遇到的许多特殊问题。巧妙使用计算机做工具,人们就能够将个人的想法在计算机上实现。例如,Foxpro关系型数据库管理系统是具有解决普遍意义上的大量的数据存储和管理工作功能的数据库语言,但是解决具体的实际问题,还必须使用数据库语言编写程序,如公安派出所的户口管理系统就是数据库语言的特殊应用系统。当今世界科技不断发展,计算机技术也在逐步前进,计算机的语言势必也将逐步发展。科技发展离不开计算机,计算机的发展也离不开计算机语言。
2 程序设计语言类课程教学现状
计算机语言类课程教学目前归纳起来主要有三个特点:一是以就业为导向,为了将来学生在找工作时能有更多筹码,因此在教学计划中设置多门程序设计语言课程,以期让学生掌握更多的语言;二是教学体系基本上是基于语法的,教学偏重语法规则和语义,导致课堂教学和实践教学出现脱钩,大多数实践变成验证性工作;三是围绕语言本身对语言进行讲解,这样孤立的讲解,就将低级语言和高级语言、面向过程和面向对象的语言进行了硬性分割,淡化了课程之间的相关性和延续性,在教学中无法体现程序设计语言之间共性和内在联系,因而无法揭示各种计算机语言的共性本质。
3 程序设计语言类课程教学存在的主要问题
3.1 教学目标和教学计划方面的问题
程序设计语言课程以应用为目的,以应用为出点,最终应该使学生把已学到的计算机知识应用到实际领域中,决不能只停留在会使用已有的软件上,而应具有初步开发软件的应用能力。也就是说,学习程序设计语言是为了实际应用,而不是语言本身。在目前的教学中,该类课程仍然过多地强调语句、语法和一些细节,导致程序设计语言课程的教学重点出现偏差,甚至本末倒置,偏离了学习程序设计语言课程的目标,教学效果普遍不太理想,以至于课程结束后,很多学生还不知道该课程到底起什么作用,能解决什么实际问题。多年来,高校计算机专业教学计划中会安排多门程序设计语言让学生学习,学生通过一学期几十个学时的学习,只要考试及格就可以取得相应的学分,而根本没有时间去领悟某一门程序设计语言的设计理论、语法及算法的精髓,更不用说让学生利用这门程序设计语言进行软件开发了。这种不太合理的教学目标和计划将不利于高校培养实用型计算机人才目标的实现。
3.2 课时安排和实践训练方面的问题
目前,学校对计算机程序设计的计划课时进行压缩,上机操作实践时间就更少。上机实践是程序设计语言课程教学中非常重要的环节。目前,上机操作仅仅满足于对课堂部分理论知识的验证或巩固,缺乏具有针对性的或与实际问题相关的综合性训练,因此课程学习结束后,学生只掌握了书本上的知识,具备了一些简单的应用能力,难以融会贯通地运用所学知识,编程能力得不到提高,以至影响到学生学习的兴趣和后续课程学习能力的提高。
3.3 师资方面的问题
从师资力量来看,教师的知识结构不全面,程序开发实践经历不丰富。从事计算机程序设计语言课程教学的老师,大多数没有程序开发实践经验,或者实践经验缺乏,在讲解程序设计语言机应用时,不能生动活泼、游刃有余,教师的实践应用开发经历有待进一步加强。
3.4 学生方面的问题
一般说来,计算机语言教学中学生的学习目的存在着偏差。学生往往认为要学习语言是了解计算机的一部分,却缺少对语言应用性的认识,所以自学能力强的学生便自己去学习,认为听老师讲课是无法很好地学习语言的;而自学能力不强或者自觉性比较差的学生就可能会上课不听讲、课下不看书。而且学生对于整个语言学习过程和方法不够重视,从学生参加计算机等级和程序员考试的过程中,可以明显看出,很多学生都是抱着碰运气的态度去考的,而并没有明确的目的性。在计算机语言课的教学过程中,发现学生计算机知识程度参差不齐,比如在授课的过程中,一些基础好的学生觉得早已听懂,而基础差的学生会觉得进度较快。这样使得基础好的学生不能深人学习,基础差的学生学习基础不扎实,严重影响教学效果。
另外,在整个学习过程,学生最怕计算机考试中笔试的程序填空和机试的编程题,而这两类题实际上难度并不大。从学生解決问题过程中可看出他们的综合运用知识能力较弱,缺乏创新思维。这样直接导致在完成程序填空时,阅读理解程序能力弱;编程时设计的程序结构不清楚、臃肿,可读性差,程序的效率较低。另外学生调试程序能力也很差:许多学生虽拥有或经常使用个人电脑,但多数学生只是比较熟悉Windows操作环境,不熟悉其他语言的操作环境,设计程序前没有做好充分预备;另外,学生录入程序的速度太慢,录入正确率低等。因此改变计算机语言的教学、认识模式,构造新的教学方法是发展高职高专计算机语言教学的必经之路。
3.5 计算机语言课教学深度与广度的不协调
计算机语言教学范畴之广确实让广大的计算机教育工作者在制定教学计划时不知从何下手。现在仅计算机语言和种类就有几十种,并且内容还在不断的更新,而教学的总学时却是不变的,为了让学生在校期间尽可能多地接受有关知识,为以后的就业工作创造条件,各高职院计算机专业开设了基础知识、Basic、PASCAL、C和汇编等多种语言课程,而每门课的总学时不过50学时左右,因此绝大多数讲授的只是语言最基本的语句和一些简单的算法设计,对于具体的语言版本却介绍不多,尤其是现实中的应用过程、手段和方法。其结果是学生语言知识了解得不少,但却没有一门是精通的。
4 建立以应用为导向的计算机语言教学模式
在绝大多数的高职院校的教学中,计算机语言的讲授仍沿用着传统的模式:在课堂上,教师将首先介绍现在要学习使用的计算机高级语言的特点、发展历程,以及它的语法结构和词法规定,然后开始讲解计算机指令的构成、编写代码的要求和注意事项,中间会根据具体的教学要求进行实践上机教学,让学生在这个过程中体会该门语言的实用性,最终达到能利用学到的计算机语言完成应用的要求。在教学中突出计算机语言的实用性是解决这类矛盾的好方法,也正是许多教师在日益发展的教学过程中逐步感受到的,是计算机语言教学需要重点改革之处,需要在今后大力探索的。
4.1 突出教学目的的实用性
在教学过程中,不妨让学员先知道各种操作后的实际效果并逐步模仿,最终达到综合使用,突出目标设计的后期要求,突出强调学习目的的实用性,利用发生或可能发生的问题作为个案形式让学习者去分析和研究,提出解决问题的方案,提高学习者解决实际问题能力。这种方法直观性强,能突出教学的目标和效果。在计算机语言教学过程中尤其强调突出这一点,做到了由目的到具体:传统的教学过程是依照教材编排的顺序讲授,即先介绍一条条的语句。但新的教学过程要反其道而行之,不是先给学生灌输一条条语句,而是要先介绍一个较完整的应用实例,该例子包含了该语言中的主要语句,目的是使学生先对应用结果有个初步的印象,再简单介绍该例子中用到的具体操作,让学生对该语言的学习有一个大概的了解,也不会因为一大堆语句的出现,而对学习语言望而生畏。
另外,在计算机语言课中通过强调目的的实用性组织课堂教学,让学生有体验、讨论、质疑、点评最终结果的过程,最终从具体操作中归纳出一般计算机语言应用的一般特性,达到认知、能力、应用的教学目的。它不同于其他教学法中的目的分析,这种教学模式是:操作-理论-应用,目的的实用性既是教学活动的出发点,又是落脚点,研究、讨论结果需要运用理论知识,运用理论知识的目的是为了解决具体应用,学生在这其中既学习了理论,又提高了实际能力。
4.2 建立新语言教学环境是计算机语言教学的新思路
在教学过程中,为了提高学生的学习兴趣,教师可以利用一些与教学有关的游戏软件,如在语言教学中,为了提高学生的字符录入速度,可利用中文打字游戏;教鼠标操作时,可利用windows中的挖地雷游戏;教多媒体技术时,利用游戏软件,可开拓学生的图形与图像设计的思维;教网页制作时,通过上网浏览,可以借鉴他人网页制作的经验,下载已有的素材。总之,让学生在玩中学习与掌握本领,这样效果更好。而且大量使用实践应用,通过亲自动手、亲自实践,让学生真正体会到语言应用的乐趣。这里的应用技术,并不是前面所说的对学过的语句进行上机练习,而是通过课程设计,来进一步加深对语言应用的练习,这将有利于培养学生的创造思维、独立分析问题和解决问题的能力。
4.3 培养素质是最终目标
计算机语言的目标就是实用,而上机实践是培养学生综合运用相关知识解决问题的重要途径,也是我们了解教学反馈信息的直接渠道。只有亲自动手、亲自实践,才能真正体会到语言应用的乐趣,才能发现自己的智慧闪光点。通过实践学习也可以进一步加深对理论知识的掌握,有利于培养学生实际动手的能力。