计算机java编程培训范文
时间:2023-10-20 17:33:02
导语:如何才能写好一篇计算机java编程培训,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。
篇1
关键词:教学应用型本科院校 Java 系列课程 教学理念
作为教学应用型本科院校的计算机专业教师,我们将人才培养的目标定为职业性和工程技术应用型,在专业结构和课程设置中努力去凸现“应用性”。根据计算机语言的发展和应用形势,结合学生的实际情况,我们构建了以 java 技术为主线的 Java 应用方向四阶段系列课程教学。通过近几年的教学实践,取得了良好的效果。
一、选择 Java 作为教学语言和开发工具
多年的编程语言教学实践让我们深刻地体会到编程语言选择的重要性。对于教学应用型本科院校计算机专业的程序设计教学来说,程序设计语言选择得当,能为学生铺设出一条成才的捷径。
在互联网时代,程序员的职位更多的与网站相关。随着网络技术走向成熟,在软件开发体系方面,目前主要流行两种架构:Java EE 与.NET。来自软件公司和培训机构的调查显示,全国各大 IT 企业,招聘职位最多的是 Java 开发工程师;目前软件编程的最热门语言当属 Java,大量毕业生进入软件编程行业,主要使用的还是 Java 技术;同时,使用.NET 技术进行软件开发的公司和人员也比较多。我们对 Java EE 与.NET 架构作了较为全面的比
较。二者各有优势,简要说来,从易用性、开发成本、对语言的支持、开发周期、对 Web 服务支持的力度等角度看,.NET 略胜一筹;从稳定性、安全性、移植性、开放性、产品的多样性等角度看,Java EE 略胜一筹。Java EE 与.NET 对应的核心语言分别是 Java与 C#,两者共通之处较多,掌握其中一种会有助于快速学习另外一种。欲选择其一作为教学内容,可以从其应用的前景和学习的便利来考虑。这两者都是面向对象的语言,并且都具有良好的应用前景,而 Java的跨平台等许多特性使其拥有更多的用户,且直接支持分布式的网络应用为编程提供了方便,已成为网络应用开发的首选语言和工具;同时,Java 的开源也让学习者和使用者能获得更多的资源,能更好更深入地学习和应用。
二、分阶段教学的必要性
虽然 Java 应用广泛、学生就业面大,但是对该类人才需求旺盛的 IT 企业却很难招聘到合格的 Java开发人员。其中最根本的原因,是许多计算机专业的毕业生在就读期间没有掌握实用的技能与经验,距离企业的实际用人需求有较大的差距。
较之于.NET,从学习的难易程度来看,Java 技术框架庞大,知识与经验靠积累,学习和使用的门槛较高;从软件开发的周期和成本来看,Java 较长较高。由此,我们可以找到问题的症结所在,即 Java 内容庞大,仅仅通过一门课或一个学期的教学很难让学生真正掌握并熟练应用。在计算机课程的安排上注意分解难点,对教学效果的提高会有很大的帮助;我们制订应对的教学计划时,应是围绕着“如何将其内容分解”进行。
完成 Java 相关课程的学习与应用,还需要其他课程内容作基础与配合,涉及到的课程较多,其教学前后会跨越几个学期。因此,我们设想将 Java 相关课程的教学分成几个阶段进行;一是因为课程本身内容庞大需要分解,二是因为某个阶段的学习可与同学期其他课程配合进行,这样可使教学做到有的放矢、循序渐进,收到较好的教学效果。
已有一些计算机专家和教育工作者,在教材的编写上进行改革,力图改变教育未能很好地适应需求的问题。近年来,出版的一些新编 Java 教材,其变化特点是将Java SE的内容与JSP的内容整合,以Java SE 为基础部分、JSP 为应用部分,在介绍 Java 基础之后,以 Java Web 编程作为应用与提高。这种试图“一竿子插到底”的目的,是欲达到避免重复学习、实现事半功倍的效果,以及提高学生学习的目的性和积极性。
然而,Java SE 本身内容就很丰富,另外,Java Web 编程部分的内容也不是仅仅通过两三章内容的介绍和讲解就能处理好的,因为 Java Web 编程是知识的综合运用,JSP 只占其中一部分,除了这部分内容需要一定时间的学习之外,一般说来还要涉及到数据库、HTML、JavaScript、CSS 、XML 等内容的学习,而这些基础知识,学生在此之前一般并不具备。所以,我们认为,将以 Java SE 为主的内容放在第一阶段,而将以 JSP 为主的 Java Web 编程内容放在第二阶段,均利用一个学期、前后分开完成教学,学生的掌握情况会好很多。
三、结语
根据教学应用型本科院校在办学定位、人才培养模式方面的要求,并针对计算机专业学生就业所普遍存在的问题,我们确立了通过 Java 应用方向四阶段系列课程教学增强学生实践能力、提高学生就业能力的教学理念。以我们制订的教学计划进行横向对比,其他院校一般只开设前两个阶段的教学,而资深培训机构也只开设前三个阶段的教学。我们制订的计划,课程涵盖了主流技术和前瞻技术,可使学生具备单机应用、集中式网络应用和分布式网络应用开发的能力。
教学的实施,增强了学生的实践能力。在我们组织的以实战项目为主要教学内容的 Java 职业技能培训中,学生的基础和表现受到来自软件企业的培训教师的赞许,同时,通过实战培训也有效地缩短了学生能力与企业具体的用人需求之间的差距。
参考文献
[1] 陈小虎,屈华昌,邵波. 教学应用型本科院校的办学理念及其路径选择[J]. 中国大学教学,2005(2): 59.
[2] 史斌星,史佳. 新编 Java 实用教程[M]. 北京:清华大学出版社,2009:328-508.
[3] 李芝兴,杨瑞龙. Java 程序设计之网络编程[M]. 2 版. 北京:清华大学出版社,2009:397-495.
篇2
关键词:高职;Java;网络编程能力
中图分类号:G642 文献标识码:A 文章编号:1007-9599 (2012) 13-0000-02
伴随着经济和科技的发展,各行各业对计算机应用人才的需求越来越大。但目前普通高校培养出的应用型计算机专业的人才却与社会需求相脱节,其根本原因在于学生在校的综合应用能力的培养欠缺。在当前高职计算机教学中,要在专业培养目标的前提下,积极的培训学生的综合应用能力,在教学中,要让学生充分理解所学课程的知识特点,培养学生应以牢固基础知识、突出课程风格、满足教学标准、强调应用实践,培养出适合社会和经济需求的高职毕业生。本文以高职计算机类学生学习Java课程为例,自先对Java进行了简单的介绍,接下来如何培养高职学生java网络编程能力展开讨论。
一、Java语言简介
(一)Java的由来
Java语言其实最是诞生于1991年,起初被称为OAK语言,是SUN公司为一些消费性电子产品而设计的一个通用环境。他们最初的目的只是为了开发一种独立于平台的软件技术,网络的出现改变了OAK的命运。从1994年起,他们开始将OAK技术应用于WEB上,并且开发出了HotJava的第一个版本。SUN公司1995年正式以Java这个名字推出。
(二)Java的定义
Java是一种简单的,面象对象的,分布式的,解释的,键壮的安全的,结构的中立的,可移植的,性能很优异的多线程的,动态的语言。Java的开发环境有不同的版本,如sun公司的Java Developers Kit,简称JDK。后来微软公司推出了支持Java规范的Microsoft Visual J++ Java开发环境,简称VJ++。
(三)Java的特点
1.平台无关性:平台无关性是指Java能运行于不同的平台。Java引进虚拟机原理,并运行于虚拟机,实现不同平台的Java接口之间。
2.安全性:Java的编程类似C++,学习过C++的读者将很快掌握Java的精髓。Java舍弃了C++的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指针侵入系统。Java对程序提供了安全管理器,防止程序的非法访问。
3.面向对象:Java吸取了C++面向对象的概念,将数据封装于类中,利用类的优点,实现了程序的简洁性和便于维护性。类的封装性、继承性等有关对象的特性,使程序代码只需一次编译,然后通过上述特性反复利用。程序员只需把主要精力用在类和接口的设计和应用上。
4.分布式:Java建立在扩展TCP/IP网络平台上。库函数提供了用HTTP和FTP协议传送和接受信息的方法。这使得程序员使用网络上的文件和使用本机文件一样容易。
5.键壮性:Java致力于检查程序在编译和运行时的错误。类型检查帮助检查出许多开发早期出现的错误。Java自己操纵内存减少了内存出错的可能性。Java还实现了真数组,避免了覆盖数据的可能。
java语言具有这么多的优点,在高职的教学中,如何培养高职学生的java网络编程能力,作者提出了自己的几点建议。
二、勤抓基础,勤于思考
从基础抓起。什么是基础呢,就是指Java语法,设计模式等,这方面,有相当多的好书;学生可以从基础起步。勤于行动。很多方法都需要实际动手实践才可能有实际的体会,“自己的体会”非常重要。同时学生在学习过程中,要自觉无形中培养自己独立思考的能力,不能人云易云。编程说道底还是创造性的劳动,用心去做,动脑去做很有必要。随时总结,随时提高。一个问题,成功了,应该知道为什么成功了,失败了也应该知道为什么失败的。我们应该更加关注过程,而不是结果。另外多向大师学习,当然大师很忙,这里指应该多看书。应该多看一些方法论的书(比如【软件工艺】【程序员卓越之道】【编写优质无错C程序秘诀】)而不是只关注具体的技术点。确立合理的目标(跳一下能够得着的),并为之努力。充分享受成功后的喜悦。这是因为,人和马戏团的狗熊没有什么不同,都需要正向刺激。有人说兴趣是最好的老师,一个意思。要让学生充分认识并体会到,罗马不是一天建成的,Java编程能力也不是一下子就能培养出来的。重要的是每天都有进步,重要的一步一步接近目标,这个时候学习Java语言将会非常得心应手。
三、培养学生正确的编程态度
篇3
参考文献:
[1]郑莉.计算机入门语言讲什么[J].计算机教育,2006,7:25-26
[2]朱平.java程序设计教学[J].湖北教育学院学报,2006,23(2):46-48
[3]孙伟.“java程序设计”课程的教学改革与实践[J].计算机时代,2005,11:84-86
[4]张孝祥,Java就业培训教程.清华出版社.2006.9.
[5]印昊,JAVA与面向对象程序设计.高等教育出版社.2004.4.
参考文献:
[1]李红艳.科技情报系统安全体系结构研究[D].西安电子科技大学2010
[2]张自然.基于JAVA/CORBA的WWW分布式电子商务系统研究[D].华中师范大学2002
[3]陈俊.基于SNMP和JAVA的网络流量检测系统[D].武汉理工大学2005
[4]黄华毅.基于Java移动系统的主机安全问题解决方案[D].暨南大学2003
[5]任力伟.基于CORBA的WebSCADA系统架构[D].南京理工大学2004
[6]DANNYAYERS,JOHNBELL.JAVA数据库编程指南[M].北京:电子工业出版社,2002.
[7]郑莉.Java语言程序设计[M].北京:清华大学出版社,2006.
[8]魏海萍.标准Java2类库使用手册[M].北京:电子工业出版社,2005.
参考文献
[1]史宝会.“任务驱动”教学法的几点体会.信息教育技术,2005.
[2]刘凤艳.建构主义论——教学改革的理论基础.牡丹江师范学院学报(哲学社会科学版),2006.6.
[3]迟丽华主编.《Java程序设计教程》.清华大学社出版.
篇4
关键词:计算机软件;核心课程;软件开发;综合构思能力;科研;教学
笔者一直认为,计算机软件专业的核心就是两个复杂性和三种能力。两个复杂性是复杂的关系(包括复杂的数据结构、数据库及多模块之间的关系)和复杂的思路(包括算法思路和复杂系统的工作流程思路)。三种能力是编程构思能力(算法)、大程序的调试掌控能力和系统的构造能力。其中最根本的能力是编程构思能力(算法)。有了这个能力,其他能力都可通过有意识的培训很快得到。计算机软件专业知识更新快,新知识点层出不穷,但若把握了这个核心,所有新知识均为参考手册。
与其他专业不同,计算机专业的几门主要课程彼此连接非常紧密,孤立地学习和理解各门课程肯定达不到深度要求,但作为初学者,刚开始又不能不孤立地从最基本的概念学起。
为此,笔者借鉴计算机软件专业两种最基本的软件开发方式,提出软件专业教学的两大方式,即自下而上的教学法和自上而下的教学法。前者是从基本概念和基本原理(包括程序语言的基本句型)讲起,先孤立地应对各门课程,在此基础上逐步与其他课程关联起来。对此应多准备一些小例子,哪怕深度不够,能初步说明问题就行。此方法适合于初学者。后者指的是从综合构思一个较大的系统出发,从各门课程的关联和综合运用出发,自上而下,在关联的层面上,在结合复杂构思能力的层面上,达到深入透彻地掌握某门课程具体概念原理之目的。该方法必须始终围绕构思能力来进行,适合于高年级学生。
下面通过几门课程谈谈如何应用这两种方法。
1计算机语言课
计算机专业有一种错误的认识,编程是一种低档次的工作,那是程序员的事,因而学生不重视语言学习和编程。事实上,一个软件最终的产品是程序代码,程序代码包含了系统的分析设计、数据结构、数据库、算法思路、编程技巧等全部信息,可以说,熟练掌控程序代码的能力再怎么强调都不过分。只有精通了一门语言,才能运用、培训和锻炼编程构思能力和大程序的调试掌控能力,并最终实现软件开发。通常,C语言是我国高校计算机专业普遍开设的课程,学生从大一开始学习。学习语言课最关键的是领会程序语言的思维方式,各种不同语言的思维方式都是相通的。C语言作为首选是有道理的,因为它的功能强大,并同时兼有高级语言和低级语言的优势,特别是C语言的句型和语法现象非常丰富,熟练地掌握了C语言,以后学其他语言就非常容易了[1]。
鉴于C语言是第一门语言课,从低年级开始学,故此课大抵按自下而上的方法教学,以讲解句型为主。特别重要的是,要让学生领会程序语言的思维方式,必须用心去体会,而不是死记硬背。教师应准备大量的小例子,结合例子讲解句型,并逐步加进较复杂一点的数据结构以及算法思路,从句型层面逐步提高到思路层面。愈快地进入到思路层面上,结合思路讲解句型的运用及其上下文关联,教学效率也就愈高[2]。始终将大量时间拘泥于句型是低效的。
C语言之后还要学其他语言课,此时的教学和学习方式就应与作为第一门语言课的C语言大不相同了。笔者的经验是,学生在熟练掌握C(含C++)语言,尤其是在透彻领会程序语言的思维方式,以及程序语言的几种句型类别之后,通过直接阅读专家所写的大型高质量程序源代码,是学习第二门计算机语言的最佳方式。当然,学生刚开始可能达不到这一水准,但以自上而下的教学方式作为原则是很重要的。下面以Java语言为例说明。
笔者教Java课的理念是:学生从大一开始学C语言,由于没有什么基础,当然应该从最简单的概念、语法、句型学起,而学Java的学生往往是大二或大三了,他们此时已掌握了程序的思维方式,具备一定的编程构思能力,具有数据结构、数据库、系统构造方面的知识技能,再从基本句型学起就是低效的。而且,作为一个大的开发平台,Java拥有的类和函数的数目大得惊人,课堂上不可能一一讲解。所谓“授人以鱼不如授人以渔”,笔者的方法是教学生如何读懂别人的程序,通过别人程序的总体功能及上下文来推敲理解Java类及其函数的功能及正确用法。即从大到小,由整体理解到推敲出小的细节,而不是相反,这样不仅小的句型掌握了,而且别人的编程技巧也学会了,综合构思能力也得到了锻炼和提高。让学生先掌握Java最基本的类和函数,能力具备后,他们就可用此方法自学掌握其他Java类和函数。在教学过程中,教师应注意锻炼和培养学生较大型程序的调试能力及读懂别人程序的能力,这会使学生在以后的工作中受益无穷。
在教学中,笔者针对开发中的重点难点训导学生,以利于学生以后的工作实战。软件开发有三个方面最难突破,首先是综合调试大软件的能力。一个大而复杂的软件,由多个小组开发出各个模块,每个小组都认为自己做得很好,集成调试时却问题百出,这时极少有人能掌控整个大软件,把它调试顺畅。再就是bug问题,有些bug非常难解决。然后是性能问题,主要是速度、内存消耗和容量问题。一些高手开发的成熟软件,往往在这些方面做得相当优美,但用户可能依然对性能不满意,要求显著改进。
教学目标的高低及正确与否对教学效率起着决定性作用。笔者希望学生学过Java后,对别人写的数万条以上语句的程序,不要任何文档及注释行,不作任何介绍,硬读源代码,就能将软件结构、数据结构、数据库、算法思路全部读通并推出来,而且时间很快,然后想怎么改就怎么改。这就要求学生在数据结构、编程思路方面的功力必须强大。再者,数据库、系统结构及其构思运用能力必须强大,否则不可能从系统的角度把握整个软件。另外,学生必须全面掌握Java本身的结构以及面向对象编程的思维逻辑、各种方法技巧,至于Java的句型细节,有了上述条件,根本不需花多大功夫,根据上下文推敲一下就足够了。
再次强调读通别人程序的重要性,它能使你得到一切的一切!
2计算机算法
计算机算法不同于其他学科的最大特点是它需要一连串的思维,它们由许多关键点构成,这些关键点彼此依序而行,又动态关联。任何疏忽遗漏或一知半解都会导致整个思路的失败。这些正是复杂算法难于理解掌握的根本原因。解决算法问题,最需要的是复杂思路的构思能力,包括思维的多样性、巧妙性和深入性。其中,多样性体现的是想象能力,巧妙性是一种创造性思维,是一种天分,而深入性则是深深地沿一条思维脉络进行下去的能力。这种构思能力需要长时间艰辛的培训,最有效的方法是在头脑中一遍又一遍地回味他人的复杂思路,将他人的复杂思路印在脑海里,时间一长,自然会功力大增。
因此,算法教学的关键是首先让学生透彻理解和掌握较复杂的算法,然后才能使其将复杂的思路印在脑海里反复回味,以达到熟能生巧、触类旁通之效果。因此,教师在讲算法课之前,让学生先作预习是必要的过程。先对要学的算法有一个初步的理解,并带着问题听课,才能有好的效果。其次,抓住关键点实属必要。每个复杂的算法均有几个关键点,攻破了这几个关键点,算法也就迎刃而解了。笔者教学前先将算法分为易、较难和很难几个等次,因材施教。告诉学生要讲的算法属哪个等次,使他们心中有数。容易的可以较快完成。对难的,教师先逐一讲解关键点,然后让学生依据讲解自己看书,去理解这些关键点,然后再让学生就不理解的地方提问,教师就学生的提问作更具针对性的讲解。一般来说,经过这一过程,学生基本能理解这些关键点。接着让学生自己将这些关键点串起来,形成思路。最后让学生反复回味思路,并给出针对性的问题,让学生解答。经此过程,学生大都能很好地掌握要点。
以一般图搜索算法为例,算法从一个无向图的初始节点开始,寻找距该初始节点路径最短的目标节点以及最短路径[3](该算法为经典基础算法,一般算法教科书均可见到,这里不再赘述)。该算法有一定难度,无论是其思路技巧,还是其文字表述,均堪属经典。学生若能全面掌握此算法,即为进一步深入学习算法打下良好基础。
第一步,教师在学生预习的基础上讲一遍整个算法。
第二步,着重强调关键点。关键点一:对每一节点建立从父节点到爷节点等的祖先链,这一祖先链是动态变化的。要求学生理解祖先链,理解其为什么和如何动态变化。关键点二:OPEN节点和CLOSE节点的动态变化过程,必须清晰透彻地理解。OPEN表中已完成展开的节点放入CLOSE表中,此节点以后还有可能从CLOSE表中重回OPEN表中继续展开,且可能不断反复,为什么?
第三步,给学生时间,要求学生透彻理解关键点,并串成清晰的思路。
第四步,要求学生对还不够理解的地方提问。有学生问,既然OPEN表中节点完成展开后移到CLOSE表,以后又反复从CLOSE表移到OPEN表重新做展开,那程序何时能结束?显然这是没理解该算法逐步向最优解迭代的过程,每重复一次,到顶点的路径长度就优化一次,而这种优化不可能无限进行(反问学生“为什么”),最终OPEN表必然为空,程序终止。
第五步,演算一个较复杂的例子。
经过这五步,学生大都反映完全掌握了该算法。
对于软件开发人员自己学习算法,在功力尚不强大且又无老师讲解的情况下,在遵循上述步骤原则的基础上,最好先用几个小例子或较小规模的输入单步跟踪算法的计算步骤,反复回味整个思路,以达到清晰把握整个思路之目的。即使是功力强大者,这也是攻克复杂算法思路的有效途径。
在算法教学上,笔者注意结合科研上的难点,给学生以引导激励,鼓励学生大胆思索探讨。例如, Hamilton环为著名的NP难问题[5],让学生去解决这样的问题显然不切实际,但可以提到,以激励学生。笔者将此问题稍稍改了一下,题目如下。
将具有N个节点的无向连通图(最小度数为2,最大度数为3)的N个节点围成一个圈,我们称它为虚环,因为它可能包含很多断点。希望用多项式实践得到这个虚环。唯一的要求是:虚环里不能包含孤立节点(即某节点与自己两侧的节点都不相连)。
此问题难度不太大,但要完成它也非易事,需要学生具有较强的复杂思路的构思能力。
3软件工程课
首先,我们确定软件工程学[7]课程的三大教学目标:一是掌握软件开发的过程、步骤、方法;二是对各学科知识的综合运用及加深协作;三是构思能力的培训(此点为核心)。
要使学生不能仅限于对课本概念和原理文字上的理解,而必须时时面临需要较复杂思路来解决的问题。因此,必须准备一些适合于课堂讲解的、既短小精悍又能说明问题的例子。
例一,大学自动排课系统。输入为:①资源。教室及其容量;每名老师及所能上的课。②每个班。人数及本学期上哪几门课;多少课时。输出为学生、教师以及教室管理员均能方便查询的排课结果。要求同课可合班,尽量少占教室。此系统看似不大,但相当复杂。若学生能在课堂上透彻接受此例子,则意味着显著的收获:①该例子对数据结构和算法知识起运用和强化的作用,如怎样优化使教室得到最充分的利用和最大的结余,做好此算法相当有难度。②该例子对数据库知识起运用和强化的作用。数据库表设计:为方便起见,可将上课时间作为一个实体,每天8节课,一周5天,共40节课,编号为1至40,可作主键使用。三个方案:①以班级加时间作主键,教室老师课程全部作属性,一个表即能容纳排课结果,另两个方案为两个表。让学生比较到底谁优,在什么条件下优以及为什么优。此外,还有手动调剂功能,人的权限与机器排课权限之争的问题、特殊课程和特殊教师的处理问题、教师课程的平衡问题等,都需要考虑。
例二,打手机的全过程分析设计。含市内、长途、漫游及交叉等多种情况。每个城市都有一个通信中心,市内用户的所有数据均存放在此通信中心,手机用户通过分散的基站与通信中心联系,各基站只起中转的作用,不存储数据,而城市间则通过通信中心互联。此例子相当能说明问题:①此例子让学生明白,系统构思与编程构思类似,关键是打通思路,而不是背概念、套框框。②使学生学会将系统构思与数据结构数据库的构思结合起来。③使学生明白用户层面的需求与系统分析员层面的需求有本质的不同。本例用户需求非常简单,就是打通手机。而系统分析员的需求分析则要复杂得多。
总之,软件工程课应运用自上而下的教学方法,准备几个像样的系统,从系统构思着手,让学生通过例子理解掌握软件工程各个章节的基本概念,达到综合运用、融会贯通之目的。
4结语
针对专业特点,笔者提出计算机软件专业教学的两大方法:自下而上法和自上而下法,并通过几门主要课程加以说明。在多年实践研究的基础上,给出了一些课教与学的关键点,既可供教学参考,亦可为软件开发人员培训提高功力之借鉴。
参考文献:
[1] 谭浩强. C程序设计[M]. 北京:清华大学出版社,2005:1-36.
[2] Sartaj Sahni. Data Structures,Algorithms,and Applications in C++[M]. NewYork:McGraw-Hill,1998:1-72.
[3] 高济,朱淼良,何钦铭. 人工智能基础[M]. 北京:高等教育出版社,2002:15-32.
[4] 彼得•温克勒. 最迷人的数学趣题[M]. 谈祥柏,王兄,译. 上海:上海教育出版社,2007:109-112.
[5] Alfred V.Aho. The Design and Analysis of Computer Algorithms[M]. New York: Addison Wesley Publishing Company, 1974:364-400.
[6] Sara Baase. Computer Algorithms: Introduction to Design and Analysis[M]. New York: Addison Wesley Publishing Company,2000:547-592.
[7] 张海藩. 软件工程导论[M]. 北京:清华大学出版社,2003:1-22.
A Synthetical Study for Computer Software Education
DU Lizhi
(College of Computer Science and Technology, Wuhan University of Science and Technology, Wuhan 430081, China)
篇5
(安徽三联学院 计算机系,安徽 合肥 230601)
摘 要:软件实习实训中心建设是应用型本科内涵建设的重要环节,是衡量应用型本科办学实力和体现办学特色的重要指标,是提高应用型本科学生的培养质量的保证.结合安徽三联学院省级示范软件实习实训中心的建设进行了思考,并提出改进建议.
关键词 :安徽三联学院;应用型本科;软件实习实训中心;探索;思考
中图分类号:G642文献标识码:A文章编号:1673-260X(2015)07-0234-02
基金项目:省级示范软件实习实训中心(2011074);校园OA办公系统的开发和研究(2012014)
1 软件实习实训中心创建的目的
安徽三联学院是一所培养应用性人才的本科高校,软件实习实训中心在学校的建设过程中起非常重要的一个环节.本中心的建立主要具备以下几个目的:(1)可以提高教师的教学水平.通过建设软件实训中心可以提高老师的动手能力,完善现有的理论知识;(2)有利于学生技能水平的提高.专门的软件实训基地提供性能优良的硬件和配置完善的开发环境,学生通过实训中心提供的资料和范例,依照成熟的软件开发流程,进行软件开发;(3)软件实训中心的建设能使学校的软硬件资源都得大幅度得提高和改善[1-4].
2 软件实习软件实习实训中心的现状
2.1 学院现有硬件资源
近两年来,扩建与新建了计算机基础、电工电路、电子技术、程序设计、微机原理与接口技术、单片机及应用、计算机网络技术、计算机组成原理、网络综合布线、嵌入式系统技术、数据库技术、动画制作与动漫设计等10多个实验室,配备高档微机和其它实验设备500多台,可为本专科学生教学和实践提供良好条件.在这些实验室和校内软件实习实训中心,开出了相关专业的专业基础课和专业课的相关实验,进行了数字万用表安装调试、计算机组装与维护等实训,开展了软件作品制作、单片机应用系统制作、智能汽车制作和数学建模等大学生科技创新活动,对培养应用型本科人才起着十分重要的作用.
2.2 学院现有软件资源
同时加大资金投入和江苏微软共同建立了以江苏省软件服务及外包人才培训平台(TRServer 2007)作为核心支撑实训平台.平台与现在教育体制高度互补,学员在实战中不但可以学到大量的编程技术,更可受到规范化编程方法的训练,亲身感受到正规软件企业的工作氛围
2.3 校企合作建设
我院与江苏微软技术中心、合肥凌翔信息科技公司、合肥求精电子公司、合肥工大高科信息技术公司、上海海同科技信息公司、上海珍岛网络软件公司和上海华硕电子公司等企业签署了合作共建实习软件实习实训中心协议或达成了合作意向,为计算机科学与技术等专业学生的校外实习和毕业设计提供较好条件.
2.4 教学团队组建
学院的计算机科学与技术专业现有专职教师30人,聘请校外兼职教师8人,其中高级职称13人(正高4人),中级职称11人,具有博、硕士学位者22人,后期还在不断引进高素质人才.安徽三联学院计算机系选派8左右名具有教学经验的计算机专业教师,江苏微软技术中心选派5名左右从事过大型项目的研发、管理,达到江苏微软的金牌认证讲师,共同组建本中心的实训教学团队.在中心建设过程与实习实训中,校方将选派一定数量的教师到江苏微软接受培训,不断提高学院专任教师的教学水平、能力与素质.
3 软件实习实训中心出现的问题
3.1 本中心以JAVA工程师实训、软件测试实训、DotNET工程师实训三个方向来进行建设.每个方向学生要掌握的知识体系很多,那个方面先有突破这是要考虑的问题.很明显这三个方向都对编程能力有相当高的要求,学生的基础编程是否扎实是实训是否有效的前提.所以基础编程能力的过关是个坎.这三个方向涉及到的基础编程能力有c、c#、java这三种语言不同方向的学生要熟练掌握其中两种编程能力,具有过程化和对象化编程能力.针对2008、2009、2010这三届的学生进行摸底考试和随机问卷,发现相当一部分学生编程能力不足.
3.2 江苏微软技术中心,虽然开发了很多实训项目,但是后期维护和服务不足.实训案例出来了,如何让老师掌握,带领学生再不同的阶段完成相应的训练和开发模块.
3.3 学生和企业对接,目前还没有形成一个比较成熟合作模式.学生毕业怎么到对口企业实训,是目前实训中心要想办法解决的问题.
4 出现问题的解决办法和思考
对出现的问题我进行了如下思考:(1)c、c#、java这三种语言的基础教学是软件实训中心的突破口.(2)通过和江苏微软金牌讲师来共同建设实训案例,选择一些小而精的项目来编写实训教材和讲义,项目中所涉及的知识要不同,不要相同的知识反复训练降低学生的学习效率.同时注意培养学生独立思考的能力.(3)实训方式的改进,老师不要以讲项目的方式来带领学生来完成这个项目而是把这个项目资料打包,让学生先来做,然后老师再来讲解.视频讲解不要太多,不然学生会有依赖性而且很耗时间,没有看书的效率高.老师教学要围绕讲义和教材来讲不要以不变应万变,不论教材怎么变我就按课件来讲,学生不知道知识点在书上那里,结果书成了摆设.这个方面我觉的北大青鸟做的很成功,先开发一个易懂的教材和课件,然后然后所有老师按这教材和课件来教学,同时定期让全国的老师到北京进行集中培训.这样教学的一致性和教材和案例设计的浅显易懂才让这种培训模式有复制的可能性.(4)做好实验室服务工作,先讲一些平台软件上传到软件实训平台,教会学生如何搭建平台,最好有说明文档打印出来贴在实训室里供学生查阅,重点部分用加粗和红色来强调.(5)制度上进行规范,首先要有奖惩制度,对做了事的老师怎么来算工作量,项目结项时如何来奖励,这是要完善的一个方面.接着如何来和企业的对接,实训项目的安排,怎样保证实训的质量,要有章程和措施.最后软件实习实训中心中的老师每个老师任务和责任的划分,同时要有软件实习实训中心专职老师进行实训教材,实训ppt,实训案例,实训资料的开发和汇总.
以上是我的一点想法不是很完善,希望可以起到一个抛砖引玉的作用.
参考文献:
(1)互联网文档资源.http://wenku.baidu.com/view/f2e835294b73f242336c5f93.html.2012.
(2)李开凤,刘伟.昆明冶专创建省级示范实习实训基地的探索[J].中国冶金教育,2010(3).
篇6
以印度的软件教育为例,印度软件人才培养模式是一种以实用为主旨、注重语言和非智力因素的培训,强调高、中、低三级软件人才协调发展、分工精细的模式。它突出三个特点:第一,软件人才培养主要通过职业教育而不是高等教育来完成。第二,多渠道、多层次培养软件人才。第三,有着全面、开放的人才观。印度在对软件人才的培养上,不仅注重技术能力的提高,还强调各种非技术素质的培养,如团队精神、协作能力、沟通能力等。微软、IBM为首的知名国际软件人才培训机构推出的计算机高级技术人员认证考试,是全球公认的计算机软件高级人才认证。具有以下突出特点:第一,注重应用技能的训练。第二,与认证相结合,展现模块式课程体系。第三,学时紧凑,时效性强。体现即学即用的效果。第四,以模拟实践作为基本的教学组织形式。
二﹑高职教育软件技术专业课程建设思路
参考及借鉴国外软件教育成功的模式及方法,结合国内高等职业教育的特点,本着突出能力培养注重实践锻炼,定位于培养工作在企事业单位一线高端技能型人才的思路,黑龙江农业经济职业信息工程系软件技术专业进行了一系列的尝试。
1.转变学科型人才培养模式为技能型人才培养模式。摒弃原学科型课程体系开设的多门语言课程如VF、VB、DELPHI、C语言等课程,构建以当前企业所需的初级编程人员所掌握的JAVA及.NET两大方向的课程体系,摒弃一专多能为专精一门。
2.改革理论与实践课程体系。本着当前软件业多以面向对象为主导,开设的课程则突出培养面向对象的编程能力,在课程体系中开设的了面向JAVA程序设计、.NET框架下开发三层结构数据库应用系统等面向对象程序设计类课程。并体现着力培养学生精通一门、掌握一门的原则,在第五学期开设由学生兴趣为主,两门项目实战课程,以企业模式进行专业提高,缩短与就业需求之间的距离。
3.符合行业发展需求,体现教学内容的时效性、先进性。当前主流的编程软件一方面是针对WEB网站开发,另一方面则是针对Windows桌面应用程序开发,故此在设计教学内容上,则符合当前软件行业对人才的需求,以“JSPWEB网站开发”和“.NET桌面应用程序设计”结合着数据库进行设置。
篇7
论文摘要:虚拟现实作为一项前沿技术应用于教学,能为学习者提供逼真的临场感和自然的交互,从而提高其思雏认知。分析职业教育个性化教学实验的需求,论述将桌面型虚拟现实技术应用于卫生职教的可行性和现实意义,阐述卫生职教虚拟教学模型的具体建模方案以及在现代教育技术领域的拓展与升级。
1虚拟现实技术应用现状及前景
1.1技术简介
虚拟现实技术(vR)是以计算机技术为依托,综合多媒体技术、传感器技术、人工智能、人机接 口技术、实时计算、工程仿真技术等多学科为一体的前沿技术,它能生成逼真的视、听、触觉一体化的人工虚拟环境,用户能以自然的方式与虚拟环境中的对象进行交互【l1。它具有 3个特征:逼真的临场感、自然的交互、提高学习者思维认知。vR突破了人类认识的时空限制,大大拓宽了人类对现实世界及未知世界的感觉和认识 ,为人们的实践活动提供了崭新的环境和手段。在军事、制造、医学、设计、艺术、娱乐等领域,vR都有广阔的应用前景。
1.2教育颔域应用现状及前墨
对教育领域而言,运用 VR能够通过计算机将三维空间或实物模型的意念清楚地表示出来,能使学习者直接 、自然地与虚拟环境中的各种对象进行交互,并通过多种形式参与事件的发展变化过程,从而获得最大的控制、操作整个环境的自由度[21。这种呈现多维度信息的虚拟学习和培训环境,以最直观、最有意义的方式为学习者掌握一门新知识、新技能提供崭新途径。 普遍意义上讲,完整的 vR系统需要高级计算机、头盔式显示器、数据手套、洞穴式投影等昂贵的硬件支持设备 ,这对于大多数教育教学单位都是难以承受的,从而严重制约了VR系统在教育教学中的推广应用。但在科技多样化发展的今天,VR系统也呈现出多样化的发展趋势,vR系统配置可以根据目标需求而定。设备投资大、开发周期长的复杂VR系统,一般应用于高校或航天军事等高端技术工作领域。而桌面型vR系统仅使用电脑单机,显示器是学习者观察虚拟环境的一个窗口,学习者可通过使用简单的外设(如鼠标、立体眼镜等)来驾驭虚拟环境和操纵虚拟物体,虽缺乏完全沉浸功能,但其结构简单、硬件成本低的特点非常适合在我国的普教、职教领域推广应用。
2 VR在职教个性化教学实验中应用的可行性
2.1 职教学情现状
在各类职业学校中,普遍存在的问题是学生学习兴趣不高,特别是在枯燥、乏味的理论知识学习中,这一问题尤为突出。但学生对于新颖事物具有强烈的好奇心和较高的动手愿望 ,因此, 在讲授理论知识时,辅以演示、实验、实训 ,并使人人都能动手参与,将会激发学生学习兴趣,从而提高教学质量。但这种教学方法存在一些问题:模型、设备、实验、实训条件有限,特别是一些价格昂贵的设备 ,不可能人人都能动手操作;盲 目操作会导致设备损坏,需要一定维修费用;在同一个地方完成理论、实践教学并不现实。
2.2 个性化学习
个性化学习是一种新的学习观,是伴随近年来教育改革发展,针对传统教育大统一的弊端提出来的。它是以学生原有的知识经验和个性特征为基础 ,以学生内在需求为核心 。以每个学生学习能力与个性的自由、充分、和谐发展为目标而实施的学习活动_l1。个性化学习中,师生处于分离或准分离状态,教师由传统教育中的主导者变为可利用的教育资源,成为教学资源中的一个组合因素,而学生也从被动接受教育的对象变为教育资源的选择者和利用者。由此可见,最为简单、易行的个性化学习载体就是基于web的学习动手实践,B/S模式、互动操作,可激发学生兴趣,从而自定义完成学习、实践任务。
2.3虚拟教学模型在个性化教学实验中的应用价值
就教师而言,实现了从传统讲授一简单图文课件讲授一简单图文课件+虚拟教学模型讲授的转变。既充实了教学内容,又丰富了教学手段和形式。同时,虚拟教学模型是使用计算机模拟出的实物形态,其使用同课件一样方便,既能达到直观教学的效果,也能使师生获得临场感,增强师生互动。
就学生而言,在计算机屏幕上观察到的是用vR技术数字化后的实物,只要有网络环境或在家登陆学校的模型web服务器,学生就可动手操作,同时有了直观模型的临场体验后,学生在面对实物操作时也易上手,杜绝了盲目操作。学生也可以通过协作探究解决问题。此外,卫生职业院校还承担着成人教育的培训任务 ,对于一些短训班或远程教学,在授课时演示或在web上一些虚拟教学模型,可帮助学员理解知识,并在一定程度上解决实验课中存在的问题。
虚拟教学模型可以通过编程定制、更新内容 ,节省了教学成本,有利于职教事业的可持续发展。另外,虚拟教学模型还可虚拟出一些新型的装备用于教研活动,体现出教学的前瞻性和创新性,如虚拟科学实验室、虚拟校园、特殊教育、仿真实验、专业实训等。
3卫生职教虚拟平台建模方案
针对卫生职教的教学特点,可以开发 4类桌面型虚拟现实应用 :模型演示、过程仿真、场景展示、仪器操作。为满足个性化教学需求,均采用B/S的模式。
3.1模型演示(人体解剖学、口腔解剖学教学)
功能需求 :虚拟口腔模型、器官模型在屏幕中三维立体显示 ,可用鼠标进行任意角度的调整观察 ,配合讲解,使学生获取最近乎于真实的感受。
可行性技术方案:Java Applet、Java 3D技术配合使用 3D模型辅助设计软件 (设计需导出 VRML2.0或 OBJ格式文件 ,如3D SMAX)。
论证:由需求可知,这种三维设计是基于图形建模的,可选用 VRML和 Java 3D技术在 web上 3D图像 。与传统VRML相比,Java 3D的功能和可编程性更强,具有 Java丰富类库的支持和良好的跨平台性,考虑构建 3D简单模型,并配合专业 3D模型设计软件构建复杂模型。客户端提供用户实验的环境主要采用 Java Applet来实现,使用 Java Applet编写图形用户界面,仿真计算任务由浏览器的 Java Applet完成 ,使用 Jav3D实现虚拟实验场景的3D显示,两者嵌入 HTML文件网页构成用户的前台操作界面,支持 web方式。
3.2 过程仿真(虚拟化学实验、虚拟口腔设备操作与维修)
功能需求:用户可直接操作 web中虚拟的化学实验装置和化学药品,完成实验。
可行性技术方案:同 3.1,但需考虑场景和复杂的操作交互 ,其程序编制较 3.1复杂。
3.3场舞展示(口腔诊所布局、ICU布局)
功能需求:真实再现室内环境格局、设备布局 ,可由鼠标控制,转动到任意视角浏览 ,用户有临场感。
可行性技术方案 :超广角镜头转台摄影+静态图象 360。全景拼合显示技术(QTVR或 Java编程)。
论证:由需求可知 ,最简便的方法是基于静态图象进行建模。QTVR运用相机拍摄的真实全景图像来构建虚拟现实空间与计算机图形设计或其他 VR技术相比,其制作相对简单、制作周期缩短、成本低廉、且由于照片清晰度高,细节不会被遗漏观察场景时有身临其境感觉。由于数据量小 ,观察起来也非常流畅。另有使用 Java编程来实现静态全景拼接的方式,需Jav虚拟机支持。
3.4仪器操作(心电监护仪操作、心电擞据教学)
功能需求:心电监护仪器功能与实物一致,但数据不是现场实测,而是调用专家库中的临床教学心电数据资料,学生能通过鼠标点击虚拟心电监护仪相应按钮,得到相应结果,从而熟悉仪器操作,掌握相关临床知识。
可行技术方案:Windows平台下的 Lab View 8.0虚拟仪器软件设计(无须数据采集卡)。 论证:美国 NI公司的 Lab View图形化程序设计语言(G语言)是专门用于设计虚拟仪器的。它是用框图连线来替代传统的代码编写,而且内置 了丰富的仪器仪表控件(表盘、开关、旋钮、波形现实等),可在虚拟前面板上根据需要自由组合D1。另外,它的数学分析、信号处理函数库功能强大,能够轻松完成临床教学心电数据的分析、处理、显示,并可根据所需功能对仪器快速原型化 。Lab View 8.0的Remote Panel功能支持 web方式。
4拓展、开发和意义
4.1 拓展、开发
(1)建立和累积可定期更新的开放型医学数据专家库。如心电临床数据、医学影像数据、口腔临床数据、设备维修数据等。依托网络通讯平台,实现教学素材的群体共享,为开展优质的教学工作做好充分的知识储备。
(2)建立和累积可定期更新的开放型教师评价专家库。广泛收集教师群体智慧、经验 ,将评价依据收纳到计算机教师评价专家库中,变教师个体评价为群体评判,这种评价更具客观性和综合性,而且依托网络通信平台,将教学评价机制进行共享,可提升教学质量 ,并为教学创新带来巨大益处。
(3)基于医学数据专家库、教师评价专家库 ,引入并应用人工智能技术,对于学生提交的实践作业 ,采用计算机自动评分一方面保证了评价的综合性、客观性;另一方面使学生成绩得到最快的反馈,进而及时进行自我调节,提高学习效果。
4.2 意义
(1)变经验重复型教研组织形式为经验研究型。这种基于智能专家库的架构大幅降低了教师的工作强度,取消了其重复劳动,教师可以充分利用教研时间,专注研究那些计算机无法得出结论的学生个性实例或计算机提取的学生共性、典型实例,从而不断更新、完善专家库内容,类似问题可在下次计算机评判中得以解决。
(2)为电子学档体系服务。电子学档(ELP)是指在信息技术环境下,学习者运用信息手段表现和展示学习者在学习过程中关于学习目的、学习活动、学习成果、学习业绩、学习付出、学业进步以及学习过程和学习结果进行反思的有关学习的一种集合体,主要用于现代学习活动中对学习和知识的管理、评价、讨论、设计等 。智能专家库评价体系是依托先进的计算机和网络技术构建的,能与电子学档建立数据交换接口,从而为教研评价分析积累充足的资料、为电子学档体系服务,对目前尚处于起步阶段的电子学档体系的完善和发展起到极大的推动作用。
(3)可进一步增强虚拟教学模型的网络协同实验功能。
参考文献:
【1】何克抗.教育技术学.北京:北京师范大学出版社,2007.
【2】汤跃明.虚拟现实技术在教育中的应用【M】.北京:科学出版社,2007.
【3】杨乐平,李海涛,杨磊.LabView程序设计与应用【M】.北京:电子工业出版社。2005.
篇8
目前,国内大多数高校的计算机相关专业以及相关的职业培训学校都开设了基于Java的Web程序设计系列课程,课程包括从入门的Servlet和JSP到更高级的Java EE程序设计。各IT企业对Web类开发人员的专业素质和技能都有较高要求,这就要求高校培养的学生既有夯实的理论基础,又具有一定的开发经验与实践技能。但是,目前高校培养的学生还不能很好的满足企业的要求。
一、存在的问题
虽然Java Web类课程也在不断的改革,但目前还是存在着不足:一是在传统的课堂教学模式下,教师在课堂上以课件为蓝本说教式的教学,学生被动的接受知识,没有发挥学生的主观能动性,导致学习效果不佳;二是学生光学习了程序设计的基础知识,但缺乏编程能力训练,无法独立设计与开发应用程序,工程能力不强;三是由于教材的滞后性,学生没有学习和掌握目前主流的开发技术,难以达到企业的用人要求;四是一些计算机相关专业(比如:信息安全、物联网等)的Java Web课的学习内容与计算机和软件专业的对应课程的内容完全一样,没有体现出专业之间的差异,学生不知道如何将信息安全的技术在Java Web程序中应用。如果能解决好这个问题,不仅有利于学生掌握Java Web开发的技能,而且能让学生更加深刻的理解信息安全技术的实践与应用。
针对上述问题,结合笔者这几年给信息安全专业讲授Java Web课程总结的一些经验,提出了一些针对信息安全专业的Java Web课程的教学改革探索,希望能找到更符合信息安全专业要求的Java Web课程教学内容、方式和方法,以培养更加符合专业培养目标和社会需求的学生。
二、教学与实践内容改革探索
Java Web程序设计系列课程的基础是Java,所以在课程体系的设置方面要突出Java课程的重要性,加大Java课程的教学量,并且在Java课程的教学内容中要加入JDK中的Java Security包的内容,重点讲解Java Security API的架构与应用,这是在后续的Java Web课程中引入安全内容的基础。课程的教学与实践内容改革主要有以下几个部分。
1.更新Servlet和JSP的最新版本内容。Servlet是Java Web的基础,随着Java EE版本的更新,最新的Servlet版本已经是3.x,而目前大部分教材还在讲授Servlet 2.x版本的内容。新版本的Servlet在前一版本(Servlet 2.5)的基础上提供了若干新特性用于简化Web应用的开发和部署,这些新的特性包括支持异步处理、支持注解以及可插性等。新的版本必将为Java Web开发提供更好的支持与应用,所以我们讲授的内容也必须随着技术的发展而进行更新,否则会导致学生未学到最新的知识和技术,会和用人单位的需求脱节。
2.设计贯穿全课程的教学项目。引入基于项目驱动的教学内容改革是近年来编程类课程改革的主要方式之一,通过实践证明这种方式也具有不错的效果。与其他编程课程的项目驱动教学不同的是,我们的教学项目按照以下几个要求来设计:①教学项目要按照工程项目的完整流程来进行设计。教学项目不再是按章节设计的程序案例,而是一个实际应用项目贯穿到教学的全过程。项目按照软件开发的基本流程,包含了分析、设计、实现、测试和部署等几个环节,这些环节的内容与教学内容的各个章节对应。按照教学章节讲授了编程知识后,应用编程知识开发实现项目的某项功能,随着教学内容的不断深入,围绕项目开发的功能越来越多,也越来越复杂。在教学结束时,教学项目也就形成了一个相对完整并具有实用性的项目。学生在此过程中也了解到了所学的知识是如何应用的。同时,具体的应用项目让学生不再觉得所学的知识是抽象的,也能触发学生的学习兴趣,引导学生主动学习与实践。②教学项目中应用信息安全技术,符合专业培养目标。针对信息安全专业的培养目标,结合信息安全技术在Web系统中的应用,在教学项目的设计中加入信息安全技术的应用,将学生所学的信息安全专业课知识与本课程的编程开发结合起来,体现信息安全专业知识的应用。比如:学生在密码学课程学习了散列算法,知道了用散列算法计算一串数据的散列值,以用于对数据进行完整性校验。在Web系统应用中,还可以用散列算法计算用户密码的散列码,用散列码替换明文密码能在一定程度上增加密码的安全性。其他的信息安全技术比如:防范SQL注入攻击、基于角色的用户权限控制等,都能在Web项目中得到应用。在教学项目中加入这些技术的实现案例有助于信息安全专业学生理解与掌握相关的知识与应用。表1为教学项目中设计的信息安全局技术应用功能。③教学项目中应用主流技术与框架。由于学生是初学者,所以课堂教学讲授的都是基础知识,比如:Java Web开发基本原理、编程语言基础等,缺乏主流的框架技术的学习与应用。虽然在现阶段学生学习框架技术还有一定的难度,但是一定要在教学项目中加入这些框架技术的应用,并且要将框架技术与课本上的知识进行对应,通过理解基础知识来理解框架技术的应用,这样的教学项目才与实际应用项目更类似,更有利于学生掌握实际应用的开发知识与技能。
三、教学方式方法改革探索
传统的课堂教学方式对于编程类课程而言,存在的不足之处是:学生光学习了理论知识,但没有训练到学生的实践能力,所以本课程在教学方式方法的主要改进方向就是要加强学生的设计与开发能力的训练,最终考察学生对本课程的学习情况,使学生能否独立完成Web系统的设计与开发。
1.项目驱动式现场教学。在课堂教学中就要以教学项目为导向,充分发挥项目式教学方法的作用,充分利用多媒体设备组织教学,采用在实验室机房进行项目式现场教学,将学生推到课堂教学的主置上,在教师引导下师生一起完成教学项目中相关功能的设计与开发工作,让学生享受到学习的乐趣,分享学习成果,实现教与学的共同推进。
2.分组学习与讨论机制。以8~10为限将学生分组,每组由基础较好的学生或助教担任组长。每2~3次课后布置一个题目交由小组下去完成,完成的方式有查阅资料、讨论、设计与开发等,完成后由小组统一提交,并安排小组人员在课堂上讲述题目的完成情况,包括资料汇总、设计方案、程序演示与解答等。这种分组完成题目、课堂答题的方式有利于学生团队精神的培养,也有利于学生表述能力的培养。
3.利用过程化考试平台实施过程化考核。传统的考核方式是“期中考试+期末考试”,这样的考试时间安排往往使得学生放松平时的学习,而在考试之前进行突击复习。这种方式也不利于教师及时掌握学生的学习状况。采用过程化考核机制就是把对知识点考核分散到教学过程中,每2~3周安排一次考试,考核这段时间学习的知识点,及时把握学生的学习状况。过程化考试以考核学生的实践能力为主,为了更好的实施过程化考核机制,本课程设计开发了过程化考试平台,考试平台为学生提供了模拟开发环境,学生在此环境中构架编程项目、编写、调试、运行程序代码,最终由系统对学生提交的项目文件进行自动化评分,保证评分的公平性和高效性。过程化考试平台的应用,将考试分散到平时教学过程中,让学生掌握每个章节的知识点与对应的编程技术;同时,过程化考试平台提供了一个实践编程环境,直接考查学生编写程序的能力,能有效加强对学生编程能力的培养与考核。
四、结语
设计贯穿全课程的教学实践项目、强化信息安全技术在Java Web系统中的应用和实践、采用过程化考试平台实施过程化考核是本文提出的课程改革方案的主要思路,最终的目的是强化对学生工程项目设计与开发的能力培养,以培养符合社会要求的Web开发工程人员。这些面向信息安全专业的Java Web课程改革方案,有一部分措施在笔者所承担的教学课程中已经实施,加大了对学生实践能力的训练强度,也确实取得了明显的教学效果。当然,这些改进方案不一定是放之四海而皆准的方案,因此希望由此起到抛砖引玉的效果,为大家实施Java Web课程改革提供参考。
篇9
摘要:通过对Java课程传统教学方法的解析,提出课程改革的思路,介绍了以两个项目为主线分别贯穿理论教学和实践教学的方法,并总结了课程改革的成效。
关键词:Java程序设计;项目驱动;学生信息管理系统;课程信息管理系统
近年来,随着普通高校毕业生人数的逐年增多,加之国际金融危机的影响,大学生面临着严峻的就业形势。于是,越来越多的大学生不惜重金选择在求职前进行一番职业培训。这不得不引起高等教育者的反思:难道现如今培养出来的普通高校毕业生都要通过职业培训才能就业吗?
一、传统教学方法解析
目前,普通高校中关于Java程序设计课程的教学,仍以教师讲为主,学生听为辅,同时结合上机实践操作来巩固和熟悉课堂上所学的知识点。这种常规教学模式下培养出来的学生可能具备较好的理论基础和一定的动手操作能力,但是具体分析问题和解决问题的能力较差,实际操作能力也远远不能满足企业的需要。
随着教学改革,很多学校也提出了“案例教学法”、“项目驱动教学法”等。但由于Java语言程序设计是一门理论与实践并重的课程,要想提高学生的实际动手能力,首先要有扎实的理论基础。所以在授课过程中一般都是从面向对象的基本概念入手,然后结合一个一个的小案例来讲解。这些小案例从某种程度上讲,只是一个知识点的示例代码,它并没有将这门课程的所有知识点都联系起来。而面向对象的基本特征(如继承、多态、封装)都比较抽象、晦涩难懂,也很难将这些基本概念融入到一个项目中。所以,目前很多高校也只是对后期内容如多线程、Java数据库编程、Java Web编程等引入了完整的项目案例,很少有用一个项目贯穿整个教学过程的。因此,学生在学习基础知识时,常感到枯燥乏味,有些甚至认为学了没用,缺乏学习积极性;当学到高级应用时,虽然开始感兴趣,但已经很难听得懂了。
二、改革的基本思路
Java语言程序设计是一门理论与实践并重的课程,因此改革需从理论教学和实践教学两个方面着手。在理论教学中,为了加强学生对知识点的理解与记忆、调动学生学习的积极性,教师需引入一个切合实际的、规模适当的、能够模拟真实应用环境的项目。学生在分析项目解决问题的过程中,会自然地与所学知识进行融合,而项目中较为复杂的问题的解决,能够突破学生原有的知识范围,拓宽学生的知识领域,从而使得学生从角色的扮演中学会综合运用知识,提高项目的实际运作能力。对于Java语言程序设计课程,学生对知识的掌握与能力的培养,在很大程度上有赖于学生上机实践。没有上机实践的计算机编程语言的学习等于纸上谈兵。因此,实践教学也是非常重要的一个环节。对于初学者而言,一开始可以以模仿为主,理解和熟悉解决问题的思路和方法,然后尝试设计自己感兴趣的题目。由于在理论教学中,通过一个项目实例介绍了所有的知识点,因此可以设计一个相似的项目,让学生模仿同步练习。随着课程的深入,当学生完成一个完整的项目时,就会产生一种成功的喜悦,从而调动学生学习的积极性,激发学生的学习兴趣。同时,在项目实践过程中,也能提高学生的实际动手能力、解决实际问题的能力和知识综合运用的能力。
在项目驱动教学过程中,通过项目模块化,将知识点分解到不同的阶段,使学生能够直接感受到知识应用的效果,快速理解教学内容。通过一个完整的项目实例的讲解和一个完整的项目实例的练习,学生可能有了一定的项目实际运作能力。这样就使学生在不离开学校的时候,就已经具备了实际的项目开发能力,弥补了传统教学中实践经验不足和实际运作能力匮乏的缺陷,最大限度地达到理论和实践的结合。
三、项目驱动教学法的具体实施
根据传统教学中存在的问题以及课程教学目标和教学任务的要求,设计学生信息管理系统和课程信息管理系统。在理论教学中,通过对“学生信息管理系统”的解析、讲解,将课程大纲中涉及到的所有知识点连贯起来,有助于学生对整个理论体系的理解和掌握。在实践教学中,用“课程信息管理系统”这个项目贯穿整个实践过程。由于“学生信息管理系统”与“课程信息管理系统”在基本模块和功能的实现上比较相似。因此,学生可以模仿课堂上介绍的内容去实现,这样就能避免“碰到实际项目无从下手”的缺陷。由于这两个项目又存在一定的差异,不失创新能力、综合运用知识的能力、探讨问题、分析问题能力的培养,因此能够有效地将理论与实践结合起来。
1.理论教学方案的实施
根据教学大纲的要求,将本课程内容划分为五大部分:面向对象编程、Java类库、多线程编程、数据库编程和Web应用。为了能够用通俗易懂的语言将这些知识点讲解清楚,同时又要让学生直观感受到知识应用的效果,我们设计了具有学生基本信息管理、成绩管理和选课管理三大功能的学生信息管理系统。在教学过程中,通过对学生基本信息管理模块的分析、设计和实现,诠释了类和对象的基本概念以及面向对象的编程思想,使学生深刻理解和掌握面向对象的编程方法。Java常用类的使用以及快速查阅Java API文档的方法,是Java编程中必备的知识。通过对学生成绩的存取、排序、统计等功能的实现,让学生对Java类库有所了解。多线程是Java的一个核心机制,通过模拟多个学生同时选修一门人数受限的选修课来讲解多线程的工作原理以及多线程的编程方法。通过以上三个功能模块的讲解和演示,学生对Java编程已经有了深入的了解和掌握。但此时的程序还没有实际应用价值,因为程序中很多数据是固定的或是通过控制台输入输出的,在实际应用中不可行,从而引出JDBC数据库编程的概念,将学生信息、课程信息等数据移植到数据库中。最后为了方便用户的输入,为应用程序开发动态页面,将整个工程移植到WEB工程中。至此,本课程内容全部介绍结束,学生信息管理系统也开发完毕。
2.实践教学方案的实施
为了避免出现“听的懂,不会做”的怪现象,设计了课程信息管理系统让学生进行同步练习。由于课程信息管理系统与学生信息管理系统在基本模块和功能的实现上比较相似。因此,学生可以根据课堂上介绍的内容去模仿实现。但这两个项目又存在一定的差异,例如课程信息管理中除了提供选修课程外,还提供必修课、限选课,用户类型除了学生还有教师和管理员。这两个项目的相似性保证了学生对基础知识的掌握和完成实验项目的可能性,而项目的相异性又可激发学生探讨问题、分析问题的潜能,提高学生综合运用知识的能力。
四、小结
以学生信息管理系统项目为主线,形象、生动地讲解Java基础知识和Java编程思想。同时以课程信息管理系统为辅线,进行同步练习,最大限度地达到理论和实践的结合。通过对本校08、09级计算机专业的Java程序设计课程的试点实施,改革效果显著。学生评教和反馈信息良好,且08级计算机专业的学生选用Java语言做毕业设计较往年有显著提高。实践证明,该方法可以增强学生的学习积极性,提高学生的理论水平和实际动手能力。
参考文献:
[1] 陈涛.基于案例教学的Java语言课程改革研究[J].教育
研究与实验,2009,(9).
[2] 徐南.基于项目驱动的Java课程教学改革研究[J].教育
与职业,2011,(14).
篇10
IOCL国际职业资格认证标准考试通过专业严格的考核方式对相关人才进行测评,为用人单位提供公正和权威的专业技术人才认定依据;为社会技术人员提供一个职业技术认证的平台。
IOCL国际职业资格认证标准考试是通过计算机网络,运用高水平的全国远程考试测评系统对技术人员进行考核,考核注重理论和实践能力的有机结合。考试题库内储备了针对各种专业的大量考题,能够充分检验考核者的技术水平和实践应用能力。
IOCL国际职业资格认证具有如下类别:IT计算机类、商务类、移动通讯类、建筑类、体育类等。
国际职业资格认证资格证书由国际职业标准联合会统一编号,学员详细资料在国际认证标准联合会国际人才库统一备案。在中国,取得认证的人员都纳入人事部国家人才网的专业人才库并作为专业技术人才在国家人事部注册备案。
IOCL资格认证书IT类证书类别
IOCL资格认证书IT类证书包括有9个大类的20种职业资格认证,不同类别和层次的认证,对认证者的学历和工作经验有不同的资格要求。以下列出的是它们的具体类别和认证内容。
a、计算机组装维修类别
计算机组装维修工程师。电脑组装、调试、维修,COMS 设置WIN98/WIN2000/WINXP 系统安装,故障分析与排除。
计算机组装维修专家。增加主板维修、打印机维修、显示器维修高级计算机维修工、显示器维修入门与提高、主板维修技能实训、打印机维修等内容。
b、现代信息网络办公类别
现代信息网络办公专家。Win98/xp的使用,熟练掌握Word、Excel、Power point、Access、Outlook的使用、网络基础最新办公自动化高级文秘培训教程中的要求。
c、平面设计类别
平面设计师。平面设计相关概念及基础知识、以及对平面设计软件Photoshop(7.0)、矢量图制作软件Illustrator(10)、矢量图形制作软件Corel draw(11)、矢量图形制作软件Freehand(10)。
高级平面设计师。对以上平面设计师内容熟练使用,并能独立完成各种设计项目的能力。
d、网页设计制作类别
网页设计师。能熟练使用Photoshop、firework、Dream weaver、Flash等设计软件,熟悉HTML、CSS、javascript网页程序设计语言数据库知识:会使用Aceess、sqlserver、熟悉SQL语言来进行网页编程。
高级网页设计师。增加能熟练掌握Aceess、sqlserver、熟悉SQL语言来进行网页编程。
e、3D类别
3D影视动画设计师。美术基础、电脑基础、手绘基础、导演基础、形象造型、描线技能、动画规律、3D动画技术、Illustrator、Inknpaint。
3D装潢设计师。美术设计基础(素描、平面构成,色彩写生及色彩及构成)、空间设计、室内设计要素与程序、室内设计与室内环境空间、室内界面设计、家具与陈设、室内绿化、室内色彩设计、室内照明,家居空间设计、材料、施工工艺、预算,熟练掌握auto cad、3ds max、photoshop、lightscape、装饰设计软件。
高级3D影视制作动画设计师。美术基础、手绘基础、电脑基础、原画创作、动画时间把握、场景基础、色彩知识、透视基础、导演基础、视听语言、合成特效、后期裁剪、3D动画技术、Adobe、Photoshop、Tooz、Aftereffect、Illustrator、Premiere。
高级3D装潢设计师。美术设计基础(素描、平面构成,色彩写生及色彩及构成)、空间设计、手绘(平、立、剖、透视图)、人体工程学、室内设计要素与程序、室内设计与室内环境空间、室内界面设计、家具与陈设、室内绿化、室内色彩设计、室内照明,家居空间设计、材料、施工工艺、预算,熟练掌握auto cad、3ds max、photoshop、lightscape、装饰设计软件,独立完成各种设计项目的能力。
f、游戏开发设计类别
游戏开发设计师。游戏的概念与特点,电脑游戏与传统游戏的区别,电脑游戏的分类,游戏场景设计,游戏开发的基本流程,多媒体硬件技术的发展过程,了解常见的多媒体硬件计算机的组成。了解多媒体音频文件的种类,音频编辑处理系统GoldWave的使用与操作。数字图像的编辑,图像文件格式,图像处理软件Photoshop的使用,动画及常见动画格式,三维动画软件3D Max制作技术,平面动画软件Flash制作技术,视频文件格式,数字视频软件Premie。
高级游戏开发设计师。除以上游戏开发设计师认证的内容外,还需熟悉游戏各领域竞争概况、著名游戏常识、针对大型游戏策划。游戏设计入门、游戏开发与制作。
g、Java开发工程类别
Java开发工程师。Java面向对象的系统设计和数据库建模、大型关系数据库、JDBC连接技术、数据的各种操作技术、数据库操作技术、触发器高级设计、数据备份与恢复、数据库安全、SQLJ介绍、XML与数据存储、JSP与数据库的连接、JDO技术Java数据库高级教程。
高级Java开发工程师。Java Web基础技术入门、Java Web基础、数据库基础、Web应用国际化、常用开源软件、系统开发过程。
h、网络工程师类别
网络管理员。小型网络系统的设计、构建、安装和调试,中小型局域网的运行维护和日常管理,根据应用部门的需求,构建和维护Web网站,进行网页制作,具有助理工程师(或技术员)的实际工作能力和业务水平。
网络工程师。中型网络系统的规划、设计和网络设备的软硬件安装调试工作,能进行网络系统的运行、维护和管理,能高效、可靠、安全地管理网络资源,能指导助理工程师从事网络系统的构建和管理工作。
高级网络工程师。针对中大型网络系统的规划、设计和网络设备的软硬件安装调试工作,能进行网络系统的运行、维护和管理,能高效、可靠、安全地管理网络资源。对大型网络的分析策划。能指导工程师从事网络系统的构建和管理工作。