试论如何培养和提高计算机专业学生的动手能力
"
论文摘要:IT产业的迅速发展及技术的日新月异对从业人员动手解决实际问题能力的要求越来越高。按目前高校计算机相关各专业教学模式培养出来的学生是不符合企业对人才的规格要求的,其原因是学生的动手能力普遍较差,需要经过培训才能上岗。在教学的各个环节如何培养和提高ห学生的动手能力是保证教学质量及人才培养的重要课题。通过在课堂教学、课程设计、实习、毕业设计等各个教学阶段对学生进行引导,加强实践能力的锻炼,强化实践教ป学的管理,可以有效提高学生的动手能力。
论文关键词:动手能力;实践教学;教学管理
当前我国几乎所有的大学,包括职业技术学院都开设与信息科学相关的专业,据统计每3个大学生中就有1个是学习信息相关专业的,每4个大学生中就有1个是学习计算机相关专业的。在人才市场上,IT方面的毕业生“供过于求”,但高端的IT企业却在抱怨招不到合适的人才,导致这一矛盾的根本原因是学生的动手实践能力、创新能力普遍较差,按照传统模式培养出来的学生已经不能满足飞速发展的IT产业的需求。对于二类本科院校而言,如何解决这一矛盾,提高学生的高端行业就业率,根本途径就是在教学环节中加强对学生动手能力的培养,使得学生在毕业时既有专业的理论基础又有较强的动手实践、创新能力,从而符合高端IT企业的人才需求规格。
一、培养学生动手能力的必要性
目前计算机各相关专业采用的教学模式基本上还是沿用20世纪80年代教育部制订的计算机科学与技术专业的教学大纲。大纲是按研究型的人才模式培养本科生,重理论、轻实践。学生在校期间仍然过多地学习理论知识,因为考试主要是考查学生理论知识的掌握情况,而웃实践环节的考察缺乏严格的标准。导致很多本科生毕业后还要到社会上的培训机构去学习一门热门的开发技术,才能就业。
学生的学习观念在大学期间需要转变,很多学生仍然抱着高中时代的学习理念不放,老师教什么就学什么,老师不教学生就不学,甚至一个知识点还希望老师讲解多遍才能理解。这种保姆式的教学是培养不出创新型人才的。国家和教育主管部门一直在强调创新型人才的培养,创新型人才不是老师教出来的,而是自己在实践中做出来的,如果学生遇到实际问题都不会自己动手探索,何谈创新?因此在教学中,教师需要引导学生转变学习观念,逐步让学生从高中时代的填鸭式教学过渡到大学阶段的自主学习,不仅要重视理论学习,更要重视实践环节的锻炼,培养自主学习能力。
IT行业中技术的发展可谓日新月异,主流的开发平台几乎每2~3年就会升级一次,每次升级后的版本都会有大量新的概念需要重新学习;移动互联网的快速发展使得传统基于桌面系统的应用逐步过渡到智能移动设备上,由于智能移动设备本身硬❥件特性的限定,开发人员在移植应用程序时又会碰到新的问题需要解决。掌握新的概念,学习新的技术,解决新的问题,都需要自己动手实践,通过自己的探索消化吸收。这就要求IT行业的技术人员在学生时代就养成良好的通过自己动手解决问题的能力。
二、怎样培养学生的动手能力
从教学的角度出发,在教学过程中可从以下几个方面注意培养学生的动手能力:
在课堂、实验教学过程中,对重要知识点在实践中的应用加以举例,并要求学生在课程实验环节自己动手完成。例如:在数据结构这门课中,学生已经掌握树的逻辑结构、遍历、节点的添加、删除算法等理论基础。但此时算法所针对的树是在内存中的逻辑结构,并没有实际存储到磁盘中,那么如何将内存中的树存储在磁盘上呢?这个问题可以在教学过程中提出来,并要求学生自己思考。通过数据库系统概论这门课程的学习,学生知道如何利用关系数据库存储数据,此时就可以引导学生思考,如何利用关系数据表来存储树。可以在课堂上实际演示如何设计数据表存储树结构、如何通过递归算法将数据表中的层次数据绑定到窗口程序的树控件中,如何在窗口应用程序中对树控件中的节点进行添加、删除、修改等操作。通过这一实例,即在教学过程中融会贯通数据结构、数据库系统概论两门课程的基本理论知识,又让学生自己动手设计数据表、设计应用程序界面、操作树控件,让学生体会到现在他们所掌握的树不再是数据结构中那个虚无缥缈的“树”,而是可以实际编程控制的树。让学生自己动手去检验所学到的理论知识,既巩固了理论基础又锻炼了动手能力,在动手的过程中又学习到了在课本中无法学习到的知识,获得了学习的乐趣,增强了学习兴趣。通过在教学过程的积极引导,学生就会从害怕动手逐步发展到喜欢独立思考、自主学习和自己动手解决问题。
引导学生综合应用多门课程的理论基础,在课程设计环节动手完成一个小型的项目。目前课程设计环节的教学时间一般为两周,可以布置些难度较大的题目,要求学生完成。题目一般要求学生综合多门课程的理论知识,通过自主学习课外知识,自己动手完成。例如:对于操作系统综合设计,可以要求学生实现生产者—消费者进程同步问题,同时以图形的方式将进程同步的过程展示出来。这就使得学生除了掌握如何实现进程同步,还要自学GDI+图形编程才能完成。对于动手能力较强的同学,可以要求实现多个缓冲区的生产者—消费者问题,并且可以通过事件控制同步的过程。"
在实习、毕业设计阶段,鼓励学生积极参加自主实习、自主毕业设计,在真实的工作环境中锻炼动手能力。在本科学习阶段,实习和毕业设计是重要的实践环节,相对于课程实验及课ข程设计,生产实习、毕业实习及毕业设计的时间更长,要求更高。实习的目的是让学生在真实的工作环境中锻炼和提高自己工程实践的能力,但由于IT企业的特殊性,很少有类似于工厂的大企业,一次能够容纳下所有的学生进行实习。毕业设计一般有3个月左右的时间,要求学生在老师的指导下对整个大学四年所学到的知识进行总结,并完成一篇毕业论文或设计,但结果往往是学生为了完成论文而写论文,论文题材老旧,内容匮乏,跟不上时代发展。所以在实习和毕业设计阶段,一个比较好的办法就是鼓励学生自己联系实习单位,毕业设计的单位可以就是学生签约的工作单位,以真正参加工作的方式完成这两个实践环节。让学生到企业中以工作的方式完成实习和毕业设计,既可以开阔学生的视野,认识到社会需要怎样的IT人才,又可以在工作中积极主动思考,完成工作任务,还可以结合实际的工作体会,写出优秀的毕业论文。近年我院很多省级优秀学士论文都是出自这类学生之手。
三、培养学生动手能力方案的实施
科学的实践教学管理体系可以有效地保障学生在课程实验、课程设计、生产实习、毕业实习等实践教学环节的顺利实施,并对实践教学的效果做出合理的评判,从而从教学管理的层面保证学生动手能力培养。
课程实验的题目要结合课程的重要知识点,并作适当扩展,要求教师制订详尽的课程实验指导书。指导书以操作引导的方式帮助学生完成基本实验,对扩展及提高部分要求学生自己动手完成,每一个单元的实验可安排4~8个学时,让学生有充分的思考时间。对每次实验的成绩评定,主要考查学生扩展部分完成的情况。
课程设计是培养学生综合运用所学知识与技能、训练学生分析和解决实际问题的能力,使学生“获得工程师的基本训练”的实践性教学环节之一,也是提高学生在理论计算、查阅资料、运用相关理论进行软硬件设计等方面能力的重要手段。课程设计的题目设计难度要适当,在兼顾课程重点内容的同时一般要求学生以目前主流的开发平台完成一个小的项目。对学生的完成情况要分期检查,并制订学生完成情况统计表,记录平时完成情况成绩,作为课程设计成绩评定的重要依据。课程设计完成后,要求学生用5~10分钟的时间进行答辩,并记录答辩成绩。课程设计的成绩由完成情况成绩、答辩成绩、报告质量三部分组成。成绩评定重点看学生是否是自己独立动手完成设计及在设计中有无独到的见解及创新。
实习教学是人才培养的重要组成部分,也是工程训练的重要环节。其目的是巩固学生的理论知识,培养学生的实践能力、创新能力,拓宽学生视野,增强劳动观念。在鼓励学生参加自主实习的同时,对于没有条件联系自主实习单位的学生由学院统一组织参加到实习基地进行实习。学生在实习基地实习期间的管理一般也按到企业工作的模式,进行严格的考勤管理。学生在基地实习期间,按照学院和基地共同指导的实习计划,完成实习的相关内容。学生实习完毕后,需要参加由学院和实习基地共同组织的实习答辩,根据实习项目完成的情况及答辩情况当场给出实习成绩。教师在答辩提问时重点考查实习项目是否是由学生独立动手完成。
四、结束语
通过近几年在教学中的探索,逐步认识到如果在教学的各个环节中注意引导学生自己动手解决实际问题,培养学生积极思考、主动学习的意识,要求学生以实践项目的方式完成课程设计及实习,是可以有效提高学生的动手能力的。提高了动手能力的学生,一般在毕业后都可以顺利找到理想的工作。目前面临的问题是,这种模式对本身动手能力较强的学生似乎更有效,但对动手能力较差的学生效果不是很明显,规定的项目往往自己独立完成不了,自主学习的能力也较差。如何提高这一部分学生的动手能力将是以后在教学中需要探讨的课题。