APP下载

高职学院软件专业《Java程序设计》教学漫谈

2017-04-24林海菁

科教导刊·电子版 2016年34期
关键词:Java程序设计课程考核教学设计

林海菁

摘 要 《Java程序设计》是软件技术专业(Java工程师方向)的重要专业基础课程,本文结合高职学院学生的认知特点,对该课程的教学内容、教学设计及课程考核进行了一些探讨。

关键词 Java程序设计 教学内容 教学设计 课程考核

0引言

《Java程序设计》是软件技术专业(Java工程师方向)的专业基础课程,既是程序设计思想的入门,又是后续专业课程的基础,有着举足轻重的作用。然而这门课程不像VB那样一开始就接触到简单有趣的可视化界面,而是在经历枯燥的控制台程序设计之后才见到困难得多的窗口程序设计。

另一方面,高职学院的学生基础比较薄弱,喜欢用鼠标“拖拖拉拉”就可以完成的可视化操作,满屏的代码对他们来说就像英文版“天书”,不可避免地会出现排斥抗拒心理。如何达到较好的教学效果,是笔者多年来从未停止思考的问题。

1教学内容与安排

《Java程序设计》大部分教材的内容和顺序都大同小异,通常先是基础语法,基本控制结构,然后是类和对象,继承和多态,然后是数组、字符串、集合和泛型,然后是图形界面程序设计,然后是异常处理、多线程,最后是数据库访问技术。

这样的安排对学生来说有些不太容易理解和接受。例如,在程序设计基础课中,继承和多态这样的高级对象特性是很少涉及的,小型程序几乎不会用到。另一方面,最初讲授基础语法和控制结构部分,教学思路通常都是面向过程的,然后在讲授类和对象时切换到面向对象,这种转变的接受本身就有些困难,需要一个较长的时间去慢慢体会、领悟,如果在尚未很好的掌握就深入学习面向对象的高级特性,学生理解和接受就更为困难,而且这些知识无法在后半学期的学习中得到很好的应用,理論联系不上实际。如果到学期最后,经过较长时间的熏陶,学生已经有了一定的面向对象程序设计思想,并且在学习图形界面程序设计的过程中体会到继承犹如站在巨人肩膀上做开发,就能够比较好地理解面向对象高级特性了,但也还只需浅尝辄止,更深地理解和应用可以在以后几个学期的学习中慢慢体会。

图形界面程序设计在Java中不能算一个重点,因为Java是典型的跨平台开发语言,Java软件以Web程序为主,很少做窗口程序。而且Java的图形界面设计并不是强项,比起微软的VB、VC,并不好学。因此,对于这部分内容,以标签、文本框、命令按钮、选择按钮等基本控件为载体,主要让学生理解事件和事件驱动程序设计的思想,熟悉常用事件和编程,使学生对图形界面设计有基本的认识,在课外能凭兴趣继续深入自学。并且,在时间安排上尽量靠后,快到学期末,保证前面的主体内容有足够的时间讲完讲透。

数据库访问可以说是系统开发中不可或缺的技术,因此这部分内容在教学安排上往前移,讲完集合和泛型,以及异常处理之后就开始学习,而且给予了足够的课时量。《数据库技术》课程我们在同一学期同步开设,学期过半时基本的“增删改查”学生已经掌握,融入到《Java程序设计》课程中应用,不但使学生更好地理解数据库的作用,还能使教学案例更好地与实际相结合,以一些简化的系统为例组织教学,有助于提高学生的学习兴趣。

多线程作为难度比较大的知识点,放在学期最后,讲基本概念和简单应用,使学生对线程有初步的了解,能编写简单的多线程程序,学有余力的学生能在这个基础上自己深入学习。

2教学设计与实施

俗话说,兴趣是最好的老师,所以教学案例的选择第一考虑要素就是能引起学生兴趣。虽然各教材上都有大量纯数学计算的例题和作业,但它们几乎不会出现在本人的课堂中,而是尽量采用一些比较有趣味的案例。例如讲到分支结构,就做体型分析(根据身高体重判断体型);讲到循环结构,就做电话号码价值评估(根据电话号码中吉祥数字个数评判号码的受欢迎程度);讲到面向对象就做QQ宠物(用宠物的等级、智力值等理解对象的属性,用喂食、洗澡、学习来理解对象的方法,用宠物、食物、洗浴用品、课程来理解“万物皆对象”的思想……);讲到一维数组就做双色球开彩;讲到二维数组就做五子棋游戏;讲到数据库访问技术就做自助存取款终端;……总之,什么样的案例学生会感兴趣,就讲什么,尽量使他们愿意听,愿意做。

除了选择好的案例,教学时另一个重点在于程序设计思路的讲解,即算法的理解。对于复杂的任务,把算法讲清楚,让学生理解解决问题的思路,比起让他们理解和记住代码更重要。因为思路是宏观上的,也不仅仅局限于解决这一个问题,它对于培养学生的思考能力解决问题的能力是很重要的。思路好的学生,将来即使不做软件开发,在其它领域里一样如鱼得水。而且有了算法,何愁没有代码?

3课程考核

对于高职学生,教学上不宜灌输太多理论。一些必要的基础理论可以尽量地融入案例讲解中,比较难的可以考虑放在后几个学期的教学之中慢慢体会,毕竟有些实践可以暂时在没有理论支撑的情况下先按一般的套路去做,等学生会了,再慢慢去理解其中的根源。

因此,相应的课程考核,本人没有侧重考理论,而是把重点放在评判学生是否具备程序设计的思想,能否编写程序解决实际问题。但是操作考试两个小时,往往只能做一个比较小型的程序。此外,还要担心考场上学生之间的互相影响,大家都做相同的程序可能区分度不高,做不一样的在难度控制上又不易把握。交作品的考核形式也不易于识别作品是否真由本人完成。所以,对学生成绩的评定,平时的考量很重要。所幸的是,专业老师通常会在连续的两个甚至多个学期中担任班级专业课教学,通过努力,本人在第二学期时基本上认识了班上所有的学生,对他们学习状态和知识掌握程度都比较了解,在考核时可以根据学生水平分组,不同组采取不同难度的试题,并且加大平时成绩的比重,从而使得课程考核更易于实施,而且结果相对来说比较客观。

猜你喜欢

Java程序设计课程考核教学设计
Java程序设计基础课实践教学中的分层教学模式研究
高中数学一元二次含参不等式的解法探讨
“仿真物理实验室” 在微课制作中的应用
翻转课堂在高职公共英语教学中的应用现状分析及改善建议