Java课程教学方法探讨——作为入门教学语言的争议及其分析

纽约大学计算机科学系的两位教授认为:以Java作为入门教学语言会使学生过早地使用Java类库和框架,学生只知道将一些简单的程序组织到一起,但难于对所写的程序形成运行时成本(run-time cost)的概念,因为他们很难知道究竟哪种调用方法是有效的;真正的程序员应该会用任何语言编程,过早地使用Java使学生不清楚源程序和硬件间的关系,不了解指针的意义,将来难以使用C语言编程;还有Java初学者习惯于图形化编程,难于在没有图形用户界面(GUI)的语言上编写程序[1]。两位教授的意见非常中肯,但笔者认为采取适当措施可以解决以上问题。

    (1)让学生独立实现部分类库和阅读Java标准类库。学生过早使用Java框架,长于整合和快速开发,生产效率高,做直接的、有章可循的、非研究性和非创新性的工作比较合适,但这样的学生基础不牢,对计算机系统的理解薄弱,处理细节和矛盾的能力不足,缺少自主分析问题、解决问题的知识、能力和经验。因此在Java教学中教师决不能让学生依赖Java框架写出程序就大功告成,而应该让学生独立实现部分类库。教师可先介绍Java框架中相应类的接口定义和使用方法,学生使用后,从用户的角度有了直观的认识,再让学生自己完成具体实现,然后在可用性、灵活性、可扩展性和性能上与Java框架中的实现比较,分析结果差异,最后再阅读、研究分析Java框架的具体源代码实现。这种让学生先当用户,体会用户的需求,然后再当设计者的方案不仅培养了学生独立解决问题的能力,也使其学习了Java框架中优秀的编程技巧与风格。

(2)注重Java课程与后续相关专业课程的联系。入门教学语言的选择是至关重要的事情,作为大多数学生第一种需要认真学习理解的编程语言,其将会成为他们中间很多人的编程母语,深深地烙印在学生的思维方式中。这个编程母语要帮助学生破除计算机和软件的神秘感,建立对于程序的基本认识和对计算机体系的最初理解。但教师不能希望仅通过一门编程语言的学习就使学生掌握诸多的专业内容,在后续专业基础课和专业课程的学习中,这门编程语言应该作为主要工具贯穿始终,帮助学生认识计算机系统,掌握算法与数据结构技能,熟悉操作系统概念,理解编译原理知识,理解软件抽象及软件设计的基本思想,完成一定量的课程及课外项目实践,建立正确的软件开发实践习惯。不仅如此,教学语言必须是工业界的主流语言,否则学生学非所用,学习动力无法保证。Java在教学上具有其特殊的优势,比如其开发环境和工具支持非常成熟,有助于培养学生正确的编程习惯;Java是当今第一工业主流语言,标准类库非常全面,可以迅速地开发具有实际用途的程序,有助于激发和保持学生的兴趣;而在数据结构、算法、编译原理的教学方面,Java也毫不落于下风,在软件抽象设计方面,Java还有着明显的优势;特别是在并行编程的教学方面,Java concurrent包提供的优势是压倒性的。

Java作为入门教学语言是有诸多可取之处的,关键是教师了解其优点与缺点后,教学中要“扬长补短”,也就是在利用其面向对象的优势前提下,通过补充适当内容和依靠后续专业课来弥补其不足,但没有必要因为其不支持指针等细节而耿耿于怀。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值