基于Java的综合课程设计研究与实践

2015-05-30 10:48尉哲明冀素琴
计算机教育 2015年3期
关键词:教学实施计算机软件

尉哲明 冀素琴

文章编号:1672-5913(2015)03-0023-03

中图分类号:G642

摘要:阐述计算机软件综合课程设计的概念,从Java技术的教学特征出发,介绍不同条件下、不同层次的基于Java的综合课程设计的教学实践,包含教学内容的设计和教学实施的方法,指出计算机软件综合课程设计的教学方式可有效适应计算机专业迅猛发展的态势。

关键词:计算机软件;综合课程设计;Java;教学实施

O 引 言

计算机学科在近几十年得到空前发展,其特点是既不断深化又与其他学科密切联系,既高度分化又高度综合。这些特点决定了其课程必须实现综合化,既要增设一些综合化的课程类型,同时要从指导思想、课程设置、课程内容、课程实施等方面都能体现综合化思想。

为适应社会对人才综合能力的需求,培养专业口径宽、综合素质高、具有创新精神和实践能力的人才,迫切需要拓宽课程设置目标,调整课程内部结构及课程之间的知识融合,按照整体优化功能大于部分功能之和的观点,国内一些大学提出了课程综合化改革的指导思想,并进行了综合课程改革的实践工作。较为有名的成果有两个:一是天津师范大学的综合课程“C/C++与数据结构”,在该综合课程中,建立了以学生为骨干的教学实验管理机制;二是东南大学构建了一个计算机软硬件综合课程设计平台。在计算机软件综合课程设计方面,国内一些高校建立了综合课程设计体系,但具体应用于不同类型的计算机类专业或信息技术类专业,还需要做进一步的探索与研究。

计算机软件综合课程设计是将两门或两门以上计算机软件的相关专业基础课或专业课知识结合起来,在l—2周的课时内完成一个小型计算机软件系统的课程设计方式。它发生在综合所需的课程知识被讲授后,适时指导学生选择、设计和实现一个综合设计题目。一般来说,计算机软件综合课程设计基于一门计算机程序设计语言。

1 Java技术特征

目前,Java技术被广泛应用于各种行业的信息处理系统,高校信息技术类专业一般都开设J,Java程序设计课程。Java技术有以下特征:

(1)极强的应用性。Java的教学内容设汁为在学习面向对象特性的基础上,讲授数组枚举及字符串应用、异常处理、图形用户界面设计、数据库应用、I/O流及文件处理、多线程程序设计、小应用程序设计、多媒体程序设计、网络编程等内容,进而可以选修基于Java的Web系统编程、Android系统应用开发等课程。教学过程中发现,如果将重点放在面向对象特性上,后续关于Java应用的内容少讲了,则无法体现出Java技术及其课程的魅力。

(2)极大的趣味性。在教学过程中,师生都会感受到来自Java的魅力。Java的应用实例很多,每个实例都很有趣。使用实例驱动原理或规则的教学形式,完成教学内容时显得轻松而且印象深刻。

(3)综合性。Java技术的综合性体现于很多方面,如Java的面向对象技术与不同应用技术的综合、Java课程中多个教学内容的综合、Java课程与其他课程的综合、基于Java的综合课程设计等。

2 基于Java的综合性课程设计实践

2.1 Java课程综合性实验

2.1.1 Java教学过程中遇到的问题

以前在完成每一个单元理论教学内容的同时,学生也上机完成相应的程序设计实验内容,当所有的教学内容讲完了,课时也用完了,但总感觉意犹未尽。首先从教师的角度讲,认为可以完成的实验项目还有很多,学生应用Java的潜力还可以再“挖一挖”;其次从学生的角度讲,对Java的兴趣刚上来,但是应用Java的羽翼还不太丰满,如果就此打住,过一些时间,Java知识可能会淡了,也许就扼杀了他们应用Java的能力和机会。

教学计划中的课时是不能随便调整的,只有合理利用有限的实验课时,才能进一步有效地提高学生对Java的综合应用能力。

2.1.2 Java课程综合性实验的设计

从2007年开始,我们在Java程序设计实验课程大纲的实验项目中增加了综合实验教学环节,利用有限的实验课时,使学生应用已经掌握到和即将学习到的Java知识,有兴趣和有能力去探索完成一个比较大的实验项目,培养了学生对Java技术的应用能力。

这样的综合实验时间发生于学习完面向对象特性、数组枚举及字符串应用、异常处理、图形用户界面设计后,在Java程序设计的理论课程讲授其他教学内容的同时,Java程序设计实验课程布置给学生一些综合实验的题目,让学生选择完成一个项目的设计和实现。后续教学内容的单元实验取消,学生只需完成选定的综合实验项目即可。

在综合实验中需要用到的还未来得及讲授的Java知识或技术,大部分学生在已掌握了前面讲过的基础知识后,有能力先去预习或者自学。

以下列举一些开设过的综合实验项目。①ISBN书号校验程序的设计和实现;②名片记录本程序的设计与实现;③文本编辑器的设计与实现;④水中倒影;⑤音乐日历;⑥网上聊天程序的设计实现;⑦多客户简单网络应用程序的设计实现;⑧基本数据库操作应用程序的设计实现。

综合效果非常好,学生在做综合课程设计的过程中,进一步巩固和验证前面所学技术,激发出探索兴趣,先行求索后续知识。更重要的是学会了应用,学会了设计,学会了调试,应用Java技术的能力提高了,专业素质也提升了。

2.2 软件核心课程做基于Java的综合性实验,可进一步提高学生的能力和素养

在开设Java课程之后,相继开设了计算机网络和数据库原理等课程,这些课程也在做综合实验项目。因为Java是网络编程语言,可以尝试用Java做开发工具来完成计算机网络课程的综合实验。再者,全球85%以上的企业在使用Java完成信息管理系统,那么也可以使用Java做工具来为数据库原理课程设计一些综合实验项目。如果课时有限,做一个小型管理信息系统即可,多出一些题目,3~4人一组,每组选做一个题目。

因为每门课的综合实验课时都紧张,可以把两门课合起来做综合课程设计。

从2008年开始,我们研究探索为计算机科学与技术专业开设的主干课程数据库系统原理实验的综合实验教学项目提供开发工具。在数据库系统原理实验课程的综合实验中,学生开发的积极性很高,虽然实验课时非常有限,但每一个课题小组都认真讨论数据库的设计、系统的Java实现方法,最后按时交上较为满意的作品。

自2007年以来,Java课程为计算机网络实验课程开设过的综合实验项目如下:①基于TCP协议的网络应用程序设计与Java实现;②基于UDP协议的网络应用程序设计与Java实现。

自2008年以来,Java课程为数据库系统原理实验课程开设过的综合实验项目(2010年为Java程序设计实验与数据库系统原理实验两门课合作开设的综合实验项目)如下:小型管理信息系统的设计与实现(3~4人一组,每组会针对不同类型的企业或部门完成一个具体的系统)。

将Java课程与其他课程结合起来,进行综合课程设计,分别围绕一些小型管理信息系统、TCP或UDP协议之上的网络应用程序、较为复杂的数据结构应用程序出题目。Java和计算机网络、Java和数据库原理、Java和数据结构、Java和编译原理、Java和软件工程等课程,均可以完成综合课程设计。

为研究生开设的课程也大量地应用了Java技术,如机器学习、数据挖掘的算法实现多是使用了Java程序。此外各种工程优化算法,都可以用Java做开发工具。

2.3 基于Java的综合课程设计课程的开设

2.3.1 在综合课程设计中遇到的问题

(1)各门课程的教学计划中没有为综合课程设汁安排专门的课时,需占用常规的课程单元实验课时,这样会影响到课程的单元练习。

(2)因为时问太短,学生虽然兴趣盎然,但设计出的软件粗糙,无法保证质量。

(3)各门课程单独安排的综合实验项目中,互相之间难免有些重复,学生虽有兴趣,但每门课都须完成综合实验,负担重。

为减轻学生期末负担,近5年来,我们尝试将两门课结合起来,完成综合课程设计,如将Java课程与计算机网络课程结合起来,完成一个基于TCP或UDP协议的应用程序;将Java课程与数据库原理课程结合起来,完成一个小型管理信息系统。

2.3.2 开设基于Java的综合课程设计课程

以上问题的终极解决方案是基于Java的综合课程没计能作为一门课程,设计于信息技术类专业的教学计划中。这样,有效利用给予综合课程设计的课时,在教师的指导下,学生就可以集巾精力设计和实现一款基于Java的功能完善的质量较高的软件。

基于Java的综合课程设计课程的实施方案如下:

(1)在和学生讨论的基础上,教师给出以上所述不同方面的多个题目,让学生选择自已感兴趣的题目去做。在设计和实现的过程中,学生及时向教师汇报阶段性成果并得到启发性指导以便于改进。

(2)教师针对各种类型题目做出比较典型的实例,或选择合适教材以便于学牛参考。当然学生自己也可以选择感兴趣的实战编程教程作为综合课程设计的参考书目。

在这方面,我们做了一定工作:申请编了清华大学出版社的教材——《基于Java的综合课程设计》,已经正式出版。

3 结语

基于一门计算机程序设计语言综合计算机软件的专业基础课和专业课的计算机软件综合课程设计,具有明显的跨课程性质,设计内容打破了原有的课程体系和学科界限,突出了所设计大内容的整体性。综合课程设计方式灵活,类型多样,可以适应计算机专业迅猛发展的态势,可以及时反映专业发展的新趋势,容纳专业发展和社会需要而提出的新内容;有助于减少课程设计门类,避免重复、减轻学生的课业负担;有助于开阔学生视野,拓宽与统整专业知识,克服专业知识间的割裂,使学生学会主动求知的方法,增强他们对专业的整体认知能力。

基于Java的综合课程设计尢疑有效实现了以上目标。

猜你喜欢
教学实施计算机软件
基于C语言的计算机软件编程
浅谈不同编程语言对计算机软件开发的影响
浅谈基于C语言的计算机软件程序设计
校本特色课程的教学实施与评价
小组合作探究模式在初中英语课堂教学中的实施
任务驱动教学法在成人教育中的运用分析
一场及时的春雨
基于计算机软件开发中分层技术的应用