本站小编为你精心准备了计算机专业岗位直通式培养模式探讨参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。
摘要:调研分析了高校计算机专业大学生应具备的实践能力的知识结构和基本素质以及IT业对人才实践能力的基本需求。指出现行计算机专业培养模式中存在的问题,提出以岗位要求为参照,知识结构、专业能力、专业素质为基础,以创新实践能力为目的,以理论联系应用为手段的岗位直通式新型高校计算机专业人才培养模式。
关键词:计算机专业;岗位直通式培养模式;实践能力
一、引言
近年来我国高等院校的计算机专业得到了超高速的发展,现已发展成为规模最大、学生人数最多的专业[1]。这样庞大的发展规模与惊人的速度是由社会发展的大环境所决定的。20世纪90年代以来,信息化成为一个国家经济和社会发展的关键环节。它是衡量国家现代化和综合国力的重要标志。加快信息化建设,以信息化带动工业化,以工业化促进信息化是党中央的战略部署。这一战略部署的提出,使计算机专业人才的需求和培养呈现出旺盛的发展势头。计算机科学与技术是一个实践性很强的工科专业,学生的能力培养也是我们的终极目的。社会要求我们培养出有理论有技术的专业人才。目前,国家的信息化和经济发展对计算机专业人才的需求不断增加。但是,在计算机人才供需方面,却出现这样两种相互矛盾的情况,一方面,公司、企业招不到需要的计算机人才;另一方面,却出现计算机专业的毕业生就业困难的局面。产生的原因在于学校计算机专业的教学模式还停留在本本主义。在教学环节中往往是教师读PPT上课,学生看PPT上课,理论与实践严重脱离,没有让学生在学习理论的同时进行实际的操作,用理论指导实践,在实践中理解理论。社会上有很多培训公司,很多学生抱怨在学校学习四年,还不如到培训公司学习半年。而培训公司的教学方法是将理论融于实践,比如,讲一门语言课时往往是将语法融入程序中,而且老师和学生是同步编程的。以至于“传智播客”、“尚学堂”的教学视频就造就了一大批程序员。高校计算机专业应该摒弃古老呆板的教学方法,革新课堂教学方法,同时将实践教学环节与公司项目紧密结合,以达到高校本科计算机专业学生岗位直通的教学目的。我本人及同事因为有大量社会项目经验,并将这些经验植入到教学改革和教学过程中,培养了一大批毕业即满足公司用人要求的学生。我们将这种模式称之为“计算机专业岗位直通式培养模式”。下面我就该模式的课程体系以及教学方法谈谈我的一些想法。
二、计算机专业岗位直通式培养模式的基本物质条件
根据我本人多年的本科计算机专业的教学经验,计算机专业的学生,首先必须有一台笔记本电脑。这些年,很多学生让我印象深刻。他们毕业后都是公司的骨干,有的同学甚至在“国信瑞安”这样专做安全的公司都能得到公司领导的赏识。比如我院的金凯、邵楚育等同学。这些同学无一不是在大一就配置了电脑,并在我们的指导下长期参与各种项目开发工作。我本人在当班主任的过程中,要求每位同学都有电脑。新生到校后我花了3周的时间,手把手地教会学生安装操作系统和程序开发的软件,同时要求凡是语言课,学生都必须带电脑与老师同步操作。到这些学生毕业时,大部分的同学都达到了公司的要求。学校应该针对计算机专业,建立专门的计算机专业课上课教室。上课教室即是实验室,教室按计算机专业的特点,安装计算机专业所必需的软件。所有程序设计课,都必须在专业教室上课。计算机专业岗位直通式培养模式还需要大量的知识全面、实践经验丰富的教师[2]。
三、计算机专业岗位直通式培养模式的课程体系及教学方法
计算机专业岗位直通式培养模式的基本原则是:以能力培养为目标,以过程控制为基础,以学生个性发展为重点。计算机科学与技术是一个实践性很强的工科专业,岗位直通式培养模式课程体系一切以学生能力培养为中心。程序开发能力是计算机学生的基本能力,如果编程不过关,就达不到本专业的培养目标。但仅仅将计算机专业理解为编程能力是非常片面的,只有具有扎实的基础理论知识才能在今后的工作中得心应手,才能在理论的指导下实践和创新。
(一)直通式培养模式下的计算机专业编程基础课培养方法
计算机专业编程课程的基础课是《C语言程序设计》和《C++面向对象程序设计》。C语言是基础中的基础。教学方法应摒弃传统的PPT模式,在讲解知识点的同时,必须将知识点融合在具体的程序中。在讲解程序时,应该让学生同步编程。同时在C语言教学的过程中,应该利用VC++6.0的调试工具,如单步调试、断点调试、watch窗口、内存查看器、反汇编等工具等,来分析C语言的知识点。如:利用反汇编工具分析函数传参数从右到左传递的过程;数组名的真正含义;C语言的教学重点是让学生掌握面向过程的编程方法,理解程序中变量、数组、指针等的内存结构。为下面《C++面向对象程序设计》打好基础。《C++面向对象程序设计》主要掌握面向对象程序设计的思想,包括封装、继承和多态。在讲解的过程中,也要利用VC++6.0的工具分析C++的语法,比如利用反汇编工具分析this指针、函数重载、虚拟是如何实现的。在讲解的过程中一定要强调面向对象编程思想,培养学生面向对象程序设计的能力。在学习《C++面向对象程序设计》的过程中,同时学习《Windows程序设计》的SDK部分。在学习的过程中,最好给学生讲解一下“俄罗斯方块”等游戏。特别是“俄罗斯方块”,该游戏中包含了C++:“封装”、“继承”、“多态”所有的知识点。利用《Windows程序设计》的对话框应用程序和C++的知识,来实现一些简单的管理系统的设计。
(二)直通式培养模式下的计算机专业基础课课程体系及培养方法
现在计算机专业教学过程中,专业基础课的课时被大大地压缩。其实本人非常不理解。学生学习往往都是走马观花,没有真正掌握好应该掌握的知识。在岗位直通式培养模式下应该增加专业基础课的学时,在教学过程中必须将理论与实践相结合。计算机专业基础课包括:《32位微型计算机原理》、《数据结构》、《操作系统》、《编译原理》、《计算机网络》、《数据库原理》。《微型计算机原理》在传统的计算机教学中使用的大都是“8086”16位计算机原理。这已经严重过时了,8086只能工作于“实模式下”,讲解的重点是8086CPU以及各种IO接口,如8255等。现在的操作系统都是工作于“保护模式”。只有32位计算机才能工作于“保护模式”。因此,计算机专业必须讲解《32位微型计算机原理》,其中重点是32位CPU的寄存器结构、保护模式下的存储器模型、保护模式下的中断系统。掌握这些知识,有利于《操作系统》的学习。《数据结构》的学习,必须将理论与实际联系起来,将具体的算法用前面学习的编程知识实现之。《操作系统》的学习的重点是:进程管理、线程管理、内存管理、文件系统。在学习的过程中,也必须将理论与实践结合起来。比如在讲解进程管理后,可以给学生讲解“游戏修改器”的设计与实现。在讲解线程的理论的同时,讲解一下线程创建、线程同步等。在讲解内存管理和文件系统时可以讲解一下读取超大文件的方法。《计算机网络》在讲解网络体系结构、网络协议的同时,还应讲解网络操作系统、网络配置等相关知识。《数据库原理》讲解的重点是数据库设计的原理,并将理论与实践相结合。以实际的项目为依托来讲解数据库的设计方法。
(三)直通式培养模式下的方向课程体系及培养方法
直通式培养模式下,方向课包括两条主线:一条是Windows系统开发课程;一条是JAVA开发课程。
1.直通式培养模式下的Windows开发课程。Win-dows开发课程,以C和C++为基础,以Windows系统应用程序开发为依托,分为SDK程序设计、MFC程序设计、Windows核心编程、Windows网络编程四个部分。在大一上学期C语言学习的基础上,在大一下学期将开始学习C++以及Windows程序设计的SDK开发部分。SDK开发部分主要讲解Windows应用程序的运行原理、键盘消息、鼠标消息、定时计数器消息、菜单消息、控件消息以及SDK文档类程序和对话框程序的设计。在讲解过程中辅以“俄罗斯方块”、“五子棋”、“小型管理类程序”的讲解。要求学生完成“俄罗斯方块”、“贪吃蛇”、“赛车”以及一些“管理类”应用程序的设计。在大二上学期将学习MFC应用程序设计。学习的重点是分析MFC对SDKAPI的封装,理解Windows对象与MFC对象之间的关系。MFC消息机制:重点是Win-dows系统消息、菜单消息、控件消息、自定义消息。MFC文档类应用程序设计:重点是文档类、视图类、框架类、应用程序类之间的关系,文档的串行化。对话框应用程序设计:重点是对话框中的系统消息处理、对话框控件、MFC的通用对话框。ODBC数据库应用程式设计:重点是讲解CDatabase类和CRecoderSet类,教学实践中我讲解了我们在工程项目中长期使用的一个数据库基类,并利用该类讲解了一个实际的数据库应用系统。以后在学习完“操作系统”的基础上学习“Win-dows核心编程”,包括进程、线程、内存管理、IO驱动程序开发、动态链接库。讲解的过程中辅以“游戏修改器”、“哲学家就餐问题”、“大文件处理”、“基于指纹识别仪的考勤系统”等实际的例子来讲解。其中指纹识别仪的例子主要帮助同学们掌握动态链接库的使用方法。最后在学习完《计算机网络》的基础上,学习《Windows网络通信程序设计》。主要内容包括:socket通信、Windows套接字I/O模型、IOCP与可伸缩网络程序、原始套接字、SPI、P2P通信、网络扫描与检测技术、核心层网络封包截获技术、Windows网络防火墙开发技术。
2.直通式培养模式下的Java开发课程。Java开发课程包括:JavaSE、javaweb、javaweb框架、Android开发。JavaSE是Java开发的基础。在学习C++的基础上开始学习Java。内容包括:Java虚拟机运行原理、JDK安装与JDK文档、Java基本语法元素、Java面向对象编程、JavaIO、多线程、Java的集合类、网络编程、JDBC。Java高级技术如Java的反射机制、Java的注解等要作为重点并结合现在流行的框架进行讲解。在学习过程中要结合实例教学,如结合“坦克大战”等游戏讲解AWT及SWING方面的知识,并最终完成一个网络版的“坦克大战”,结合一些常用的通信框架,如mina框架来讲解网络通信。Javaweb的内容包括:html、js、jquery、jsp、servlet,ajax、json、tomcat。在教学过程中重点讲解web容器的工作原理以及在web程序设计过程中使用到的Servlet-Config、ServletContext、HpptServlet、HttpServletRe-sponse、HttpServletRequest、Httpsession、文件上传组件、过滤器等核心知识。Javaweb框架内容包括:strust2、spring、mybatis、hi-bernate。首先讲解如何利用maven来构建开发环境,如何利用maven进行版本控制实现团队协作开发。在讲解具体的框架时应采用“大平台,小模块”的方式[3]。即:使用已经做过的完整的项目架构,以实现某个功能模块为切入点,讲解在框架下完成项目的过程。不要拘泥于某个具体的知识点,而是让学生了解在框架下实现整个项目的流程,需要什么技术就讲解什么技术。Android开发内容:Android应用程序开发基本组件,包括activity、Service、ContentProvider、BroadcastRe-ceiver等基本知识。但其重点在Android应用程序框架,Android应用程序与后台的通信方面。在教学的过程中建议,以项目为支点,带领学生完成一个具体的项目,在项目中遇到什么知识点就介绍什么知识点。
四、计算机专业岗位直通式培养模式下的实验实践教学体系和方法
(一)课程代实验及课程综合课程设计
课程代实验分为验证性实验内容、设计性实验内容和综合实验内容。实验按知识点而不是按章节来安排。一个知识点作为一个实验,每个实验有多个实验内容,每个实验内容都包含上述三类实验的前两种实验。一门程序设计可有一次综合性实验。综合性实验的方式采用“仿—读—写”[4,5]方式。即教师讲解一个实际的例子,学生先跟随教师完成例子,教师给出多个例子的源代码供学生阅读。学生独立完成系统需求分析、系统总体框架设计、系统模块设计、系统详细设计与编码、系统调试、系统的综合课程设计的工作。对于诸如Windows程序设计、Javaweb、Javaweb框架、Android的综合课程设计题目必须来自于实际的项目。一个课程设计题目可以由多个同学协作完成。
(二)计算机专业岗位直通式培养模式的毕业设计
岗位直通式培养模式下的毕业论文指导教师一般要求是公司的技术经理或具有项目经验的教师,题目必须来自公司正在开发的项目或者是指导教师正在开发的项目。我校与很多沿海公司都有业务往来,有大量的公司技术部门主管作为我校计算机专业的毕业论文指导教师。大四上学期为学生实习时间,除了部分考研学生,大多数学生都在公司实习,毕业论文就是学生在公司所做的项目。同时也有少部分的同学在校跟随老师做项目。经过毕业设计的过程,学生毕业时已经成长为一名合格的程序员了。
五、结束语
目前的计算机专业教学过于老套,在培养的学生实践能力方面比较弱。实践能力匮乏导致学生不自信,当他们想到自己的能力和毕业后所面临激烈的就业竞争时,其心甚是惶恐。我校计算机专业采用岗位直通式培养模式后,极大地提高了学生学习的积极性、提高了学生的动手能力、提高了学生的自信心,为社会培养了大量合格的计算机程序员。随着这种培养模式以及教学资源的不断完善,相信今后将进一步提高毕业生的质量。
参考文献:
[1]李晓明,陈平,等.关于计算机人才需求的调研报告[J].计算机教育,2004,(8):11-18.
[2]张丽萍,等.民族地区计算机专业实践教学改革[J].计算机教育,2011,(13):8-10.
[3]施宏开.以实践教学促进高教质量提高[N].中国教育报,2008-04-17(4).
[4]王伦津,王晓峰.JAVA语言互动式教学模式的探索[J].宁夏工程技术,2005,(02):194-196.
[5]查建中.论“做中学”战略下的CDIO模式[J].北京:高等教育研究,2008,(3):1-6.
作者:陶勇;沈济南 单位:湖北民族学院