李香菊+朱林+谢修娟
摘要:针对Java程序设计课程教学过程中的一些问题,提出按照工程教育的思路改革教学模式,加强学生的实践能力,达到学以致用。改革过程中,教学完全在实验室进行,理论与实践交叉进行,并引入增量式项目,将项目分量嵌入到相应知识点的教学。
关键词:工程思维;增量式项目;Java程序设计;工程教育
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)25-0123-02
2005年底,汕头大学率先实施了工程教育改革,紧跟其后,国内许多高校按照工程教育改革的培养要求,针对不同专业人才需求制定了详细的培养计划,计算机科学与技术专业是工程教育的重点专业。近年来,工程教育模式已在社会上得到了广泛的认可,独立学院以培养应用型人才为目标,也逐步开展工程教育改革。
Java程序设计语言是当今计算机领域最具有代表性的面向对象程序设计语言之一,可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统等应用程序,是实际软件项目开发中所使用的主流编程语言之一。为了提升本学院计算机专业学生的工程实践能力,选择了Java程序设计课程作为试点,进行基于工程思维的教学改革。在《Java程序设计》这门课程的教学过程中,通过项目分解的方式,将项目贯穿教学过程,在完成基本知识教学任务的基础上,加强学生的工程思维能力训练。
1 Java程序设计课程教学中存在的问题
通过对本校及兄弟院校Java程序设计课程的教学模式研究,目前的教学存在如下一些问题:
(1) 注重理论知识,理论课时较多,把相当多的课时花费在java基本语法教学上,实践课时较少,学生感觉只是掌握了相应的知识点,但是不能解决实际问题;
(2) 实验内容单一,实验课只是针对零散的知识点进行练习,比如编写类、文件的读写等,每个实验只注重一个知识点,学生缺乏宏观解决问题的能力;
(3) 课程设计指导性不强,课程设计的题目比较复杂,学生只注重功能的实现,不能按照软件工程的思想完成项目要求,缺乏工程思维的指导,不能达到课程设计的效果。
按照目前Java程序课程教学模式,课程结束时,大部分学生只是掌握了知识点,仅能编写简单的程序,只有少数学生可以完成给定的较复杂的项目,造成了不能学以致用的结果,背离了工程教育的宗旨。
2 基于项目的工程思维培养教学改革
针对Java程序设计课程,工程思维培养就是指学生能够按照软件工程的思想,运用Java语言解决具体问题的能力培养。因此,在Java程序设计课程的教学改革过程中,需要引入恰当的项目,然后引导学生完成需求分析、项目设计和项目编程等工作。结合在Java程序设计课程教学过程中出现的问题,采取了以项目为驱动,按照知识点将项目分解,采取增量式的开发方法,项目的完成与理论学习同步进行。
以项目为主线,通过由浅入深、由小到大的项目教学和实践过程,有机地组织教学顺序、引导学生把java的知识点融入程序设计中,调动学生的积极性,使得学生在快乐学习的过程中,最终提高学生的编程能力和查阅资料的能力。
2.1 理论和实践教学一体化
以前,大部分院校Java程序设计课程的教学包括理论和实验两部分内容,部分院校有课程设计环节。其中,理论教学主要在教室完成,采用“教师讲,学生听”的模式,然后再到实验室进行实验课。根据实验课学生完成情况,任课教师发现,学生很难灵活运用课堂上学到的理论知识完成实验内容。
根据Java程序设计课程实践性较强的特点,改革原有的教学模式,实施理论和实践一体化教学方法,将课程教学环境从课堂搬进实验室,理论学习与实践操作穿插进行,有效解决了传统的理论学习后再做实验,时间跨度较大,学生容易将理论知识遗忘而导致理论与实践脱节的问题。而枯燥的理论知识一旦变成某一小型目标实践任务的理论指导,便可成功地激发学生的学习兴趣,从平时课堂的点滴收获中促进学生的实践能力的培养。
理论和实践一体化的教学模式从根本上改变了传统的师生关系,学生由知识的被动接受者变成了主动参与者,课堂教学中突出学生的参与,采取“教师引导,学生为主”的模式,引导学生独立构思、设计、模拟和实现。这种学生参与性较强的和谐课堂氛围有利于知识的吸收和传播,同时还能培养学生们的主体意识,协作精神,创新精神和工程意识。
2.2 将项目按照知识点进行分解
为了加强学生工程思维的培养,在授课过程中,除了简单的基于知识点的实验外,引入了贯穿多个知识点的较大的项目,任课教师按照软件工程的思想,指导学生逐步完成项目。
项目的选取要涵盖Java授课的知识点,并能够进行项目分解,采用增量开发的模式,项目的完成与授课同步进行,学完需要的知识点后,安排实验,完成相应的项目模块。
引入项目时教师讲述项目的目标及需求分析,列出项目要完成的基本功能,然后根据授课的知识点将项目进行分解,使学生对要完成的任务有初步认识,然后带着任务学习,激发学生的学习兴趣,加深对知识点的理解,并掌握如何应用该知识解决具体问题。
【项目1】简易计算器:以图形化方式实现一个简易的计算器,界面上有0~9的数字键,可以实现+、-、*、/、(、)的运算,并提供退格、清空、等于等功能键,还有一个文本框用来显示处理结果。打开计算器后,用户单击数字键或功能键,运算结果显示在文本框。
根据该项目要完成的基本功能,将项目分成4部分完成。第一部分定义计算表达式值的类,实现按照运算符的优先级完成表达式的求值,该部分内容在完成Java基本知识的学习后就可以完成;第二部分实现计算器界面设计,包括运算数、运算符、功能键和显示结果的文本框,该部分内容在完成GUI界面设计的学习后就可以完成;第三部分实现计算器事件处理,用户单击运算数键、运算符键和功能键后,可以做出相应的处理,将结果显示在文本框内,该部分内容在完成GUI事件学习后可以完成;第四部分实现异常事件的处理,该部分完成异常处理后可以完成。
【项目2】局域网聊天工具:实现一个简单的局域网聊天工具,用户登录聊天系统,在好友列表中选择聊天对象,启动聊天界面,结束后关闭聊天界面。聊天记录保存在本地,在数据库中也有备份。用户之间还可以发送文本。
根据要完成的基本任务,该项目分成5部分完成。第一部分实现聊天工具的图形化设计,包括主界面和聊天界面,该部分内容在完成GUI图形化程序设计内容的学习后可以完成;第二部分实现一对一的聊天模式,用户可以和好友聊天,显示发送和接收到的消息,该部分内容完成网络编程的学习后可以完成;第三部分实现文件读写及网络传输,用户可以查看自己和好友的聊天记录,该信息以文件的方式保存在本地或服务器,用户之间可以进行文件传送,该部分内容完成文件的读写和输入输出流的学习后可以完成;第四部分实现多线程,用户可以同时和多个好友进行聊天,该部分内容完成多线程编程的学习后可以完成;第五部分实现数据库存储,用户个人信息存储在数据库中,个人验证通过链接数据库完成,此外,用户的好友信息及聊天记录也可以尝试数据库存储,该部分内容完成数据库编程技术的学习后可以完成。
3 结论
通过对工程教育思维的理解,我院选择了Java程序设计课程进行工程教育改革,将教学环境完全转移到实验室完成,理论与实践教学同步进行,通过由简单到复杂的实验使学生掌握java语法的应用;引入增量式项目,将项目分量嵌入到相应知识点的教学,通过高级编程技术调动学生学习积极性,通过实际项目的完成提高学生编程能力。
参考文献:
[1] 姜大志,孙浩军. 基于CDIO的主动式项目驱动学习方法研究——以Java类课程教学改革为例[J].高等工程教育研究,2012(4):159-164.
[2] 王伟,孟祥贵,黄寅. 基于工程教育的实验教学模式探索[J].《实验技术与管理》,2013(10):172-174.
[3] 范俊英,张鉴新,杨智,陈海山. 校企结合下的一体化增量式Java项目教学研究[J].《高计算机光盘软件与应用》,2013(1):22-24.
[4] 王刚.增量式教学在高职Java Me游戏设计课程中的实践].软件导刊,2011(3):1827-183.