李培宇
摘要:计算机专业的毕业生面临的就业问题越来越严重,很多企业对计算机人才的要求也越来越高。如何提高计算机专业学生就业的竞争力,成为了独立学院计算机系一个重要的问题。笔者在软件企业工作三年,独立学院从事两年的教学工作,对独立学院计算机专业的教育作了某些探索,目的也是为了更好地培养学生成为一个合格的工作者,使他们进入企业工作后,少走弯路,能够尽快地融入企业。本文论述了笔者的一些心得体会。
关键词:课程;专业人才;项目实践;教学模式
中图分类号:G642 文献标识码:B
1引言
随着中国经济的发展,计算机的应用在各个行业起到了举足轻重的作用,计算机人才的需求量也越来越大;但与此同时,企业对计算机人才的要求也越来越高,计算机专业的学生在毕业时面临的就业问题越来越严重。目前来说,独立学院没有一本、二本院校的丰富的硬件资源,也没有足够多的经验充足的老师,学生的总体质量也不高。如果独立学院按照一本、二本模式来培养学生,这样的学生的竞争力不高。如何提高计算机系学生就业的竞争力,已成为独立学院计算机专业教学一个重要问题。
本人在软件企业工作三年,在独立学院从事了两年的教学工作。在教学过程中,我发现如果单纯以理论知识来教育学生,他们不可能完全掌握好书上所教的知识。三本学生的自学能力没有一本、二本学生强,因为必须以其他的方式来引导学生,激发他们学习的积极性。本文的目的就在于此。
2计算机专业课程开设的思考
我认为计算机专业课程的开设分为3个层次:计算机专业必修的课程(数据结构、操作系统、微机原理、编译原理等核心课程);学生在选择就业方向时候必须开设的课程,例如选择游戏编程专业的学生除了学习计算机专业课程,还要学习有关DirectX知识、人工智能等专业知识;在大三、大四阶段加入实际软件项目工程开发知识,使学生能够提前掌握实际软件开发的各个阶段知识点。
独立学院对计算机专业学生培养应该以“专、精”方向为主,而抛弃“广、粗”方向。有些老师认为计算机系学生就应该懂很多计算机理论知识,其实这样的观点值得商榷,现在很多企业需要的是某一方面比较精通的学生,而那些懂得多、但专研不深的学生则达不到企业的用人标准。近年来,计算机应用的最多是网络、游戏、嵌入式3个行业,因此,学院在对学生培养的时候,可以侧重于这3个方向的教学。
3计算机专业人才引入的思考
独立学院成立没有多久,大部分任课老师都是年轻教师,甚至有些直接从学校毕业就参加工作,缺少实际工作经历,教学经验不足。引入怎样的人才才能够适应计算机专业教学也是一个问题。我认为应该把独立学院的定位认识清楚。三本的独立学院应以解决学生就业为首要的问题,我们培养的不是未来的科学家,而是未来的工程师;企业需要的是具有协作能力、动手能力的学生。独立学院有了明确的办学定位后,引入老师的标准也就明确了。独立学院计算机系老师除了应具有扎实的理论基础以外,最好在企业工作过,有1~2年的实际软件项目开发经验。我在教学的过程中发现,很多学生对软件项目开发的流程很好奇,经常提出有关软件开发阶段中遇到的问题,如果一个老师不具备实际的软件项目开发经验,那么老师回答学生问题的时候可能会误导学生。例如,在C语言“指针”知识点的教学中,一个缺乏项目工作经验的老师最多是把C语言书上知识点教给学生,而有实际项目经验的老师不仅对知识点做了扩充,还从实际的编程方面来教学生怎么使用指针。老师的质量决定了教学的质量,独立学院必须引入有开发项目工作经验的计算机专业人才。
4计算机专业教学模式的思考
在两年的教学工作中,我发现独立学院的学生自我动手能力、自觉性、自学性都比不上一本、二本院校的学生。计算机专业知识的学习需要学生具备的是动脑、动手能力,如果学生学完了理论知识,没有充分的上机实验,他们不可能完全掌握所学的知识点。怎么提高学生动脑、动手能力成为我们教研室思考的问题。按照一般的教学模式,计算机专业教学分为两步:老师在课堂把知识点传授给学生;学生按照实验教材的要求一步一步地做实验。这样模式培养出来的学生在就业竞争中怎么能成功。为什么重点院校的学生就比独立院校的计算机专业学生的动手能力、分析能力强?独立学院应该改变这样的培养模式,探索一条新的教学模式。
大学教学的最终目的是培养具有自我学习、自我分析、自己解决问题能力的学生。在计算机教学中,我们应围绕“动、想”两方面来做文章。我认为计算机专业教学模式应该分为几步:老师在讲解某个知识点之前,可以写出这个知识点思考问题,要求学生从参考书、网上查找关于这个知识点的信息,使学生初步了解有关这个知识点的信息,养成自学的习惯;在上课的时候,老师应该以讲课为主、以演示为铺来教学。在演示中,老师不仅要说清楚程序的思路,从程序运行、调试阶段一步一步的引导学生。书上的知识点肯定不够,老师还应该对这个知识点进行补充;在计算机专业实验课中,我们不再以实验教材为主,而是以这个知识点为中心,对它进行扩充,多引导学生动手、动脑。
还是以C语言“指针”知识点的教学为例,在上课前我们提出几个学生预习的知识点:指针存放是什么数据、指针怎么定义、指针怎么使用、指针为什么能够提高程序的使用效率、指针使用要注意什么。通过以上几个问题,学生能够自己从网上查找指针相关的知识点。在上课的时候,我除了讲解书上的指针知识点外,还扩充指针知识点,例如,内存管理、常见的内存错误及其对策、指针与数组的对比、指针参数是如何传递内存的、free和delete把指针怎么啦、动态内存会被自动释放吗、杜绝“野指针”、有了malloc/free为什么还要new/delete等。这些扩充知识点都是学生在教科书上学不到的,而在实际编程会遇到的。老师在讲解这个知识点的同时,最好把这个知识点通过程序演示给同学们看。例如,在讲解动态内存会被自动释放这个知识点的时候,如果我们在程序里面没有调用free、delete其中之一的函数,在程序调试的时候,我们会发现动态内存是不可能被释放的,只有这样,学生才能够更快地接受新的知识。上实验课程的时候,老师除了布置实验教材的作业外,还应该布置一些扩充的实验作业,如用指针知识点来编写字符串比较函数、字符串拷贝函数、字符串连接函数、字符串转换函数程序。这些扩充的实验不仅锻炼学生的基本功,而且能提高学生的思维能力。
5项目工程实践与计算机专业教学结合的思考
独立学院计算机专业培养学生的最终目的是为了向企业输送合格的计算机人才,使学生一进入企业就能够适应企业的工作。但从实际的情况来看,学生要立即适应企业工作是不现实的。最近我对几场招聘会做了调查,软件企业对软件人才的要求很高,大部分刚毕业的大学生能力不能满足企业的用人要求。因此,部分计算机专业学生一毕业就面临了失业的困境。当前计算机专业教育侧重于理论教学,而忽略培养学生的动手能力、自我解决问题的能力、团队协作能力,而企业正是需要具备这些能力的学生。在计算机专业教学中,我认为有必要把企业的项目实践与大学的计算机专业教学做一个结合,这样培养的学生能够具备企业需要的用人标准。
软件的开发是一个复杂的过程,它包括软件文档的编写、软件的开发、软件的测试、软件项目的管理。实际上,大学计算机专业教育不可能把软件开发流程的所有知识点传授给学生,老师必须有目的地指导学生学会开发软件的各个流程。例如,大部分高校在教授C语言的实验课的时候,最后都要布置一个用C语言编写的项目作业。项目作业的大致要求就是学生把程序编写出来,然后演示给老师看,这样的结果对学生各个能力的培养是起不到作用的。其实,在这个练习中,老师可以将企业的开发软件的某些必要流程加入到这个项目中。软件企业开发软件的时候有很多事情要做:软件开发环境的选择、项目组人员的选择分工、软件需求文档的编写、软件详细设计的编写、软件测试计划用例的编写、用户手册编写。可能企业软件开发的标准对于学生的来说比较难掌握,老师可以对某些标准进行降低,但一定要使学生要掌握软件开发的流程。
以我布置C语言实验课“**项目管理系统”程序为例。在开发前,第一步要求学生根据项目编写项目的需求分析文档;第二步我会教学生使用UML的知识点来分析这个项目,对“**项目管理系统”项目建立每个对象(包括它们的属性、方法)、对象之间的关系,然后编写详细设计文档;第三步我会培养学生在编程前应该注意的某些问题,如程序编写格式、代码质量、命名规则;第四步我会教会学生怎样选择、搭建软件开发环境和版本控制环境,小组人员开发模块的分配和时间的安排。在开发中,我会时刻检查学生的编写代码质量,并指导其中一个学生编写软件的测试计划用例。当学生编写完软件的某一个模块,要求学生自己测试这个模块,并写出模块测试报告文档;在开发完毕后,要求学生用第三方测试软件来测试软件,并编写软件测试结果报告。当这个软件测试完毕后,学生应该编写软件的用户手册。
在整个软件开发的过程中,老师要注意一点,企业的软件开发标准很严格,我们对某些严格标准应做修改并降低难度。我想,这样的培养模式让学生对软件的流程从不熟悉到熟悉,对学生锻炼是很大,既锻炼了动手、动脑能力,又锻炼了学生的协作能力。
6结论
独立学院计算机专业的发展与教学必须有自己的特色,不能照搬一本、二本院校的办学模式。我们必须结合当前软件企业所需人才的标准,制定本院计算机专业的培养计划。独立学院应该明确自己的定位,从计算机专业课程的开设、人才引入、计算机专业教学模式改革、项目工程实践与计算机专业教学结合方面入手,一切围绕企业的用人标准来培养学生。只有这样才能培养出适合企业用人标准的人才。
参考文献:
[1] 魏巍. 独立学院计算机课程改革的探索与思考[C]. 大学计算机课程报告论坛论文集,2007.