以Java技术为核心的课程体系构建与研究*
2011-04-07郭玉滨
郭玉滨
(山东菏泽学院)
以Java技术为核心的课程体系构建与研究*
郭玉滨
(山东菏泽学院)
结合市场人才需求,从校实际出发,研究和制订了一套符合计算机技术发展规律、具有该校现代特色、切实可行的以Java技术为核心的课程体系.通过4届5期学生的教学实践,取得了以Java技术为核心的课程体系建设的阶段性成果,验证了以Java技术为核心的课程体系建设思路的正确性.
计算机技术;课程体系;Java技术;系统实训
0 引言
目前,全国各高校计算机专业均设置了一套较为系统的课程体系,学生能够掌握计算机专业的基础知识和技能,培养了学生适应社会的能力,但通过对毕业生就业能力考察,学生普遍存在基本知识掌握不牢,动手能力差,适应社会能力和竞争力不强,校企脱节等突出问题.可见,计算机专业课程体系的设置存在着一定的弊端,必须进行必要的改革.
1 计算机专业课程体系的发展与现状
1.1 计算机专业课程体系的历史发展
在计算机学科发展的早期,数学、逻辑、电子学、程序语言和程序设计是支撑学科发展的主要专业基础知识.到了20世纪60~70年代,数据结构与算法、计算机原理、编译技术、操作系统、程序设计与程序语言、数据库系统原理等成为学科的主要专业基础知识.从20世纪80年代开始,并行与分布计算、网络技术、软件工程等开始成为新的学科内容,突破了计算机学科原有的专业设置框架,逐渐形成了在“计算机科学与技术”一个专业之下分为计算机科学、计算机应用、计算机工程、软件工程、信息技术、信息管理与信息系统等多个专业方向的新格局.
1.2 计算机专业课程体系现状及存在的问题
目前,计算机专业课程体系的设置和安排,大部分仍停留在若干年前的水平,专业理论课程的内容过于单调和笼统,很少涉及那些实用性强、专业性强、操作性强的课程和计算机应用软件;在课程计划安排环节上缺乏科学性和合理性;学生除了学习一些计算机专业的基本理论知识、简单程序设计语言和一般上机操作外,缺乏对更深、更新的计算机专业知识的掌握和应用,特别是缺乏计算机软件和专业化、行业化的应用技能培训.概括来讲,主要存在以下问题:
(1)人才培养目标不够明确,缺乏特色.
该校计算机专业课程设置一开始就沿用了理工科计算机专业教学课程体系,在人才培养模式、培养规格和培养方案等方面缺乏自己的特色.相对于其他高校理工科大学的学生来说,计算机专业毕业生就业竞争力不强,就业压力大.因此,作为地方高校如何恰当的定位人才培养目标、培养具有本校特色的毕业生是迫切需要解决的问题.
(2)课程体系落后,知识内容陈旧.
本科高等学校由于课程管理过于集中,教学计划过于寻求稳定,高校课程和当前主流技术脱节太大,造成课程体系落后.另外课程教材内容滞后现象严重,新技术不能及时进入课堂,造成教学内容陈旧,直接影响培养质量.所以课程体系如何建设是值得思考的问题,也是本文研究的主要课题.
(3)重视知识的传授,忽视应用能力的培养.
由于课程体系不尽合理,计算机教学滞后于实际应用的矛盾相当突出.理论知识多,实用内容少,实验教学多为简单验证性的实验,缺乏自主性、创新性的实验,造成学生在学习和工作过程中解决实际问题的能力薄弱,毕业生参加工作后普遍感觉不适应新的工作岗位,急需充电.
(4)人才培养手段过于单一,人才培养质量难以保证.
整齐划一的培养设计,忽视了学生的个体价值,教学基本采用教师讲授为主的方法,尽管多媒体、信息化、网络化教育已相当普及,但如何真正发挥它们的作用仍存在许多问题.另外随着高校扩招,学生数量骤增且成绩参差不齐,学生的学习效果很难保证,人才培养质量难以保证.
2 以Java技术为核心的课程体系构建
Java技术是当今企业级应用开发的中流砥柱,全球开发群体拥有450万人之多,国内岗位缺口达20多万人.目前,各高等院校的计算机专业基本上也都开设了Java技术课程.针对Java开发技术,设置了一套理论加实训的课程体系,用以培养Java技术的职业软件开发人员.
2.1 培养岗位目标规划
(1)Java编程工程师(2)Java开发工程师(3)Java数据库编程工程师(4)Java数据库开发工程师(5)网站开发与管理工程师
Java编程工程师是指熟练掌握Java编程语言的程序员,在开发团队中负责根据详细设计进行编码和调试.
Java开发工程师负责根据软件构架和界面,设计系统模块及其详细运算逻辑.
Java数据库编码工程师负责根据数据库系统的关系模型和表结构,编写数据处理代码.Java数据库开发工程师负责设计数据库系统的关系模型和表结构,进行数据服务器的实现和物理存储规划.
以上人员同时也可从事系统集成工程师、数据库管理员、技术支持与系统维护工程师的相应工作.
2.2 课程体系构建思路
紧紧围绕以知识为基础,以素质为中心、以专业训练为依托、以应用能力为目标进行课程体系建设.以知识为基础,要求学生必须掌握工作必备的基础知识和专业知识;以素质为中心,是在整个培养过程中贯穿学生素质的培养;以专业训练为依托,就是在课程体系中加强实践实训环节,培养学生的实际动手技能;以应用能力为目标,则意味着整个教学体系和教学过程中都要为培养学生的应用能力服务.
2.3 课程体系教学目标
以Java技术为核心的课程体系构建的终极目标是“理解、编程和应用”.“理解”是指让学生理解Java的基本语法规则和编程规范、基本概念和面向对象的基本思想.“编程”是指让学生学会掌握面向对象编程、GUI编程、网络编程、数据库编程.“应用”是指让学生能够应用Java技术进行企业级信息系统的开发.该课程体系教学研究的目的是将Java作为面向对象编程的入门语言、基础性应用和开发平台,结合其他的程序设计课程和技能型课程,构建一个多层次、多方向的课程体系,以Java技术为核心,贯穿整个课程体系,由浅入深,有机融合,循序渐进,巩固深化,保证学生程序设计和项目开发持续性发展,适应社会日益急需的软件人才发展.
3 课程内容设置
3.1 理论教学体系
理论教学体系的指导思想:以Java为核心,加强基础,解决重点,突破难点.考虑大学一年级新生计算机基础和程序设计知识都比较缺乏,在第一学期开设了计算机导论课程,主要讲授计算机基本操作和C语言程序设计,其目的是让学生熟练掌握计算机基本操作和培养学生面向过程的程序设计思想.在此基础上,从第二学期开始,讲授基于Java技术为核心的系列课程.第二学期开设数据结构和数据库原理及ORACLE数据库.数据结构课程重点讲授数据的逻辑结构、存储结构及其相应的算法、算法的空间和时间分析;要突破的重点是栈和队列、数组和广义表、树和图、排序等的应用.数据库原理及ORACLE数据库课程主要讲授关系代数和关系演算、SQL语句、数据库设计,掌握JDBC事务和并发控制,熟练ResultSet结果集操作,掌握JDBC调用存储过程等.因为在Java程序设计课程中讲到JDBC内容时,需要学生具有一定的数据库知识,因此,数据库原理作为Java程序设计的先导课程.
第三学期安排面向对象程序设计基础和Linux操作系统,Java程序设计基础主要讲授Java语言基础语法、数组、面向对象编程技术(封装、继承和多态)、I/O技术;要突破的难点是面向对象编程思想、变量与对象的存储模型、I/O模型等.Linux操作系统要求掌握Linux操作系统常用命令的使用,能够在Linux操作系统下搭建Java开发平台.
第四学期开设高级Java程序设计和UML统一建模课程.高级Java程序设计是面向对象程序设计基础和数据结构课程的延伸,在该课程中主要讲授Java中的集合和泛型、多线程技术、GUI编程、JDBC技术等;UML统一建模课程主要讲授面向对象设计思想,建模工具,以及文档的书写等内容.
第五学期开设网络编程和动态网站开发.其中,网络编程主要讲授基于 socket的 TCP和UDP阻塞及非阻塞通讯,以及一些应用层协议等.动态网站开发主要讲授HTML、Javascript、JSP等动态网站开发所涉及的技术.考虑到动态网站的工作原理涉及HTTP协议,故而网络编程课程应该作为动态网站开发课程的先修课.为此前半个学期可以适当增加网络编程课程的课时,而适当缩减动态网站开发课程的课时.
第六学期开设Java EE企业级架构及开发课程,主要开设Ajax和Struts、Spring及Hibernate课程.Ajax课程要求熟悉Ajax框架和Ajax应用程序的开发步骤,熟练使用jQuery等内容;Struts课程要求熟悉Struts基本原理,掌握Struts应用程序开发步骤,熟悉FormBean开发步骤和熟练使用Bean标签库.Spring课程要求掌握Spring框架的使用,了解Spring的编程思想,掌握面向接口编程的重要性,熟悉模板和回调等编程设计模式,使用Spring构建Java EE轻量级Bean的解决方案.
第七学期进行综合项目实训,强化Java技术应用,为走向新的工作岗位奠定强有力的技术支持.该系列课程的开设将有助于学生掌握最新的企业级信息化系统的开发方法和技术.
3.2 实验及实训教学体系
3.2.1 实验教学体系
每一门课程都配以一定学时的课内实验,通过课内实验,让学生动手设计程序,亲身体验,完成单个较小主题的编程与测试,掌握相应的知识点.
每个学期结束前配置与课程同步的课程设计,通过对一个综合性的简易系统的开发,将有助于提升学生的综合分析、设计与编程能力,使其具备初步的系统开发能力.面向对象课程设计和数据结构课程设计分别是针对面向对象程序设计和数据结构而设定的.Java课程设计则是为Java程序设计和数据库原理及应用这两门课开设的,因此,该课程设计可分为两个部分:Java图形化游戏编程和Java数据库编程部分.Java高级课程设计是针对动态网站开发和网络编程这两门课开设的,因此,该课程设计也分为两部分:网络编程部分和动态网站开发部分.Java企业级开发课程设计针对Java企业级架构及开发,通过布置具体题目,让学生使用Struts+Hibernate+Spring进行整合开发Web程序.
课程设计题目及要求在学期初公布,在课程设计前两周完成选题、分组等工作.课程设计题目要具有一定的实用性、可行性,难度与设计工作量适中,允许经指导教师批准学生自己拟题.
毕业设计一般安排在大学最后一个学期进行,是对大学阶段所学课程的一个高度总结和综合应用,不是单一的对某一学科知识的应用,着重考核学生运用所学知识对某一问题进行探讨和研究的能力,这就要求学生系统地掌握和运用专业知识,还要有较宽的知识面,并有一定的逻辑思维能力和写作功底,是提高学生综合应用能力、思维能力和动手能力的综合过程.通过毕业设计,还可以培养学生的实践和创新能力,使课堂所学知识应用于问题的研究或实际项目的设计与开发,从而使所学知识得到不断升华.通过科研训练和项目开发实践,不仅能提高学生的科研素养,而且也为学生不断积累规范的项目开发经验,逐步培养学生团队责任感、合作技能和协作能力.团队成员彼此分工合作,沟通协调,齐心协力,共同承担项目成败的责任,为毕业后顺利进入工作角色打下坚实的基础.
3.2.2 实训教学课程体系
(1)在校内建成了环境友好、软硬齐备、性能优良、协作开发的软件开发实验实训室,安装配置了Java技术系列开发平台和工具、应用服务器和数据库服务器等,通过实训项目的强化综合训练,培养学生自主探索性学习,为提高创新设计能力提供了基本条件保障.通过校内实训基地,充分利用Java技术系列开发平台和工具,学生踊跃报名参加山东省齐鲁大学生软件设计大赛.2009年选派一个代表对参加“大赛管理信息系统”项目的设计,获得大赛三等奖.2010年选派两个代表对分别参赛“iphone手机平台设计”和“网络游戏设计”项目,荣获两个一等奖.“iphone手机平台设计”项目使用Google提供的开源嵌入式数据库SQLite,数据库使用SQL Server 2005,开发环境采用Java JDK和Android SDK及Andriod模拟器ADT.使用基于Eclipse的android开发环境,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一功能方便而简洁的操纵数据库的智能化对象.过程中首先在短时间内建立系统应用原型,然后对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统.“网页游戏设计”项目拟采用3层结构:前台、接口 API和后台(数据处理),以方便移植到当前流行的各大社区网站.前台即游戏界面,使用Flash技术实现.接口API用于连接后台与前台,起到“桥”的作用,当游戏移植到不同的网站时,不需修改任何前台代码,只将接口API部分稍作修改,即可方便移植.后台用于游戏数据的处理与存储,接口和后台使用PHP+MySQL技术实现.通过参加实际课题和项目的竞赛,提高了学生的理论知识水平和动手能力,锻炼了学生的科研精神和团队意识,培养了学生实际项目的建设能力,为今后走向社会和进入软件企业工作打下了坚实的基础,毕业即能上岗成为可能.
(2)建立校外实习、实训基地.以培养实践能力为目标,运用与北京安博教育集团、北京达内教育集团和中软国际教育集团的合作优势,面向企业服务外包,主动对接市场与企业需求,通过在北京软件园企业的开发实习,在校内和江苏昆山建立实训基地,拓展了实践教学体系.校企双方在人才培养、科学研究、技术革新、技术开发、资源互补、认证培训、学生就业等各个领域开展合作,为学生专项培训、课程设计、毕业实习和毕业设计提供了优良的软件开发条件,提高了毕业生的就业竞争力.从2008年开始,进行课程体系建设和改革,组建具有一定基础知识和软件爱好的学生团队,抽调具有丰富项目开发经验和深厚理论功底的毕业研究生从事课程体系改革研究和实践探讨.校内教学三个月,实训基地教学2个月,共5个月课程教学,然后进入软件企业进行毕业前实习和工作.到目前,已有5期毕业生,大约260人的学生进入IT行业工作.毕业跟踪调查,毕业生大多数都能较快适应企业的发展和需要,有的已成为IT行业的骨干,甚至非常优秀.2006级计算机应用技术专业专科毕业生杨德兴,现在国家税务总局负责网络软件开发和技术支持工作.
4 结束语
高等学校的主要任务就是培养适合社会需求的专业人才和高素质的人才队伍,为社会输送合格的优秀毕业生.通过以Java技术为核心的课程体系建设,制定适应社会需求的教学计划,优化教学手段,对于确保软件人才培养质量具有非常重要的指导意义.已毕业的99届和10届本科计算机科学与技术专业学生,主要分布在北京和上海较大的软件企业,主要从事PHP、Java、JSP等开发与编程工作,另有部分学生从事网站管理与开发、软件营销、系统集成与测试等工作.实践证明了以Java技术为核心的课程体系建设取得了阶段性成果,进而也验证了以Java技术为核心的课程体系建设思路的正确性.
[1]教育部高等学校计算机科学与技术教学指导委员会.高等学校计算机科学与技术专业发展战略研究报暨专业规范:试行[M].北京:高等教育出版社,2006.
[2]教育部高等学校计算机科学与技术教学指导委员会[M].高等学校计算机科学与技术专业实践教学体系与规范.北京:清华大学出版社,2008.
[3]李继民,李珍,等.计算机专业毕业设计(论文)指导[M].北京:清华大学出版社,2009.
[4]中国高等职业教育计算机教育改革课题研究组.中国高等职业教育计算机教育课程体系[M].北京:中国铁道出版社,2010.
[5]何广军,潘凌,等.软件人才(Java方向)2+1教学模式改革探索[J].计算机教育,2009,20:137 -139.
[6]熊风光,等.基于Java的程序设计类课程体系的教学改革[J].中国电力教育,2009,21:108 -110.
[7]刘爱国,王永,等.高职院校计算机专业Java课程体系设置探讨[J].计算机与网络,2008(1):219-210.
[8]孔宇强,郑志材,等.基于实践能力的Java语言程序设计课程改革与探析[J].实践与探索,2009,34:248 -249.
Construction and Research of the Curriculum System as the Core of the Java Technology
Guo Yubin
(Heze University)
From the reality of Heze University,Combinated of market demand for talent,a set of feasible curriculum systems are researched and constructed as the core of the Java technology,which consistent with the development of computer technology and modern features of our school.Through teaching practice of four years'graduates,the initial results of curriculum system as the core of the Java technology are gained,and the correction of its thought is verified.
Computer technology;Curriculum system;Java technology;System training
2010-11-01
*校级教改立项课题(2008017)
(责任编辑:李佳云)