浅谈如何培养计算机专业学生的动手能力
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
浅谈如何培养和提高计算机专业学生的动手能力
How to cultivate and improve computer science
student's practical ability
刘黎志
(武汉工程大学智能机器人湖北省重点实验室武汉430205)
(武汉工程大学计算机科学与工程学院武汉430205)
(*************)
摘要:IT产业的迅速发展及技术的日新月异,对从业人员动手解决实际问题能力的要求越来越高。按目前高校计算机相关各专业教学模式培养出来的学生,是不符合企业对人才的规格要求的,其原因是学生的动手能力普遍较差,需要经过培训才能上岗。在教学的各个环节、如何培养和提高学生的动手能力,是保证教学质量及人才培养的一个重要课题。通过在课堂教学、课程设计、实习、毕业设计等各个教学阶段对学生进行引导,加强实践能力的锻炼,强化实践教学的管理,可以有效的提高学生的动手能力。
关键词:动手能力;实践教学;教学管理
当前我国几乎所有的大学,包括职业技术学院都开设与信息科学相关的专业,据统计每3个大学生中就有1个是学习信息相关专业的、每4个大学生中就有1个是学习计算机相关专业的。在人才市场上,IT方面的毕业生“供过于求”,但高端的IT企业确在抱怨招不到的合适人才,导致这一矛盾的根本原因是学生的动手实践能力、创新能力普遍较差,按照传统模式培养出来的学生已经不能满足飞速发展的IT产业的需求[1-2]。对于二类本科院校而言,如何解决这一矛盾,提高学生的高端行业就业率,根本途径就是在教学环节中加强对学生动手能力的培养。使得学生在毕业时,既有专业的理论基础,又有较强的动手实践、创新能力,从而符合高端IT企业的人才需求规格。
1. 培养学生动手能力的必要性
目前计算机各相关专业采用的教学模式,基本上还是沿用上世纪80年代教育部制定的计算机科学与技术专业的教学大纲,大纲是按研究型的人才模式培养本科生,重理论、轻实践。学生在校期间仍然过多的学习理论知识,因为考试主要是考察学生理论知识的掌握情况,而实践环节的考察缺乏严格的标准。导致很多本科生毕业后,还要到社会上的培训机构去学习一门热门的开发技术,才能就业。
学生的学习观念在大学期间需要转变,很多学生仍然抱着高中时代的学习理念不放,老师教什么,就学什么,老师不教、学生就不学,甚至一个知识点还希望老师讲解多遍,才能理解。这种保姆式的教学,是培养不出创新型人才的。国家和教育主管部门一直在强调创新型人才的培养,创新型人才不是老师教出来的,而是自己在实践中做出来的,如果学生遇到实际问题,都不会自己去动手探索、何谈创新。因此在教学中,教师需要引导学生转变学习观念、逐步让学生从高中时代的填鸭式教学过渡到大学阶段的自主学习,不仅要重视理论学习,更要重视实践环节的锻炼,培养自主学习能力。
IT行业中技术的发展可谓日新月异,主流的开发平台几乎每2-3年就会升级一次,每次升级后的版本都会有大量新的概念需要重新学习;移动互联网的快速发展,使得传统基于桌面系统的应用逐步过渡到智能移动设备上,由于智能移动设备本身硬件特性的限定,开发
人员在移植应用程序时又会碰到新的问题需要解决。掌握新的概念,学习新的技术,解决新的问题,都需要自己动手实践,通过自己的探索消化吸收。这就要求IT行业的技术人员在学生时代就养成良好的通过自己动手解决问题的能力。
2. 怎样培养学生的动手能力
从教学的角度出发,在教学过程中可从以下几个方面注意培养学生的动手能力:
1)在课堂、实验教学过程中,对重要知识点在实践中的应用加以举例,并要求学生在课程实验环节自己动手完成。例如:在数据结构这门课中,学生已经掌握树的逻辑结构、遍历、节点的添加、删除算法等理论基础。但此时算法所针对的树是在内存中的逻辑结构,并没有实际存储到磁盘中,那么如何将内存中的树存储在磁盘上呢?这个问题可以在教学过程中提出来,并要求学生自己思考。通过数据库系统概论这门课程的学习,学生知道如何利用关系数据库存储数据,此时就可以引导学生思考,如何利用关系数据表来存储树。可以在课堂上实际演示如何设计数据表存储树结构、如何通过递归算法将数据表中的层次数据绑定到窗口程序的树控件中,如何在窗口应用程序中对树控件中的节点进行添加、删除、修改等操作。通过这一实例,即在教学过程中,融会贯通了数据结构、数据库系统概论两门课程的基本理论知识,又让学生自己动手设计数据表、设计应用程序界面、操作树控件,让学生体会到,现在他们所掌握的树,不再是数据结构中那个虚无缥缈的“树”,而是可以实际编程控制的树。让学生自己动手去检验所学到的理论知识,即巩固了理论基础,又锻炼了动手能力,在动手的过程中又学习到了在课本中无法学习到的知识,获得了学习的乐趣,增强了学习兴趣。通过在教学过程的积极引导,学生就会从害怕动手逐步发展到喜欢独立思考、自主学习和自己动手解决问题。
2)引导学生综合应用多门课程的理论基础,在课程设计环节动手完成一个小型的项目。目前课程设计环节的教学时间一般为两周,可以布置些难度较大的题目,要求学生完成。题目一般要求学生综合多门课程的理论知识,通过自主学习课外知识,自己动手完成。例如:对于操作系统综合设计,可以要求学生实现生产者-消费者进程同步问题,同时以图形的方式,将进程同步的过程展示出来。这就使得学生除了掌握如何实现进程同步,还要自学GDI+图形编程才能完成。对于动手能力较强的同学,可以要求实现多个缓冲区的生产者-消费者问题,并且可以通过事件控制同步的过程。
3)在实习、毕业设计阶段,鼓励学生积极参加自主实习、自主毕业设计,在真实的工作环境中锻炼自己的动手能力。在本科学习阶段,实习和毕业设计是重要的实践环节,相对于课程实验及课程设计,生产实习、毕业实习及毕业设计的时间更长,要求更高。实习的目的是让学生在真实的工作环境中锻炼和提高自己工程实践的能力,但由于IT企业的特殊性,很少有类似于工厂的大企业,一次能够容纳下所有的学生进行实习。毕业设计一般有3个月左右的时间,要求学生在老师的指导下,对整个大学四年所学到的知识进行一个总结,并完成一篇毕业论文或设计,但结果往往是学生为了完成论文而写论文,论文题材老旧,内容匮乏,跟不上时代[3]。所以在实习和毕业设计阶段,一个比较好的办法就是鼓励学生自己联系实习单位,毕业设计的单位可以就是学生签约的工作单位,以真正参加工作的方式完成这两个实践环节。让学生到企业中以工作的方式完成实习和毕业设计,即可以开阔学生的视野,认识到社会需要怎样的IT人才;又可以在工作中积极主动思考,完成工作任务;还可以结合实际的工作体会,写出优秀的毕业论文,近年我院很多省级优秀学士论文都是出自这类学生之手。
3. 培养学生动手能力方案的实施