关于以Thinking in Java为课本的Java教与学的方法
在目前的关于java自学的讨论中,最经常看到的就是钻研《Thinking in java》(TIJ)的经验,但是,尽管使用TIJ作为教学材料的教学行为也很多,我却尚未发现有从教师关于如何将TIJ用于教学的论述。为此,我权作抛砖引玉。
首先,为什么要学习java?按照Eckel的话说,因为它是一个具有某种革命性意义的语言,即第一个“以提高开发人员的编程体验为主要目标的编程语言”,它的垃圾回收特性、可扩展性、跨平台特性等都为程序员们所称道,也为Sun公司赢得了声誉。在2002年左右的调查中,发现在北美已经有44%的程序员使用java作为主要编程语言,而且java程序员们的年薪比使用其他编程语言程序员们的年薪高(其实程序设计应被视为一门艺术,不可以用钱来衡量)。直至现在,不论在服务器/客户端(服务器/浏览器)架构的管理信息系统、复杂交互式网站,还是在将会流行的3G移动开发方面,java应用都有很好的前景。
其次,在学生已有基本的C/C++基础的情况下,应当如何教学java?
1、使用经典教材。最笨的方法其实是最聪明的方法,经典教材的学习不能速成,但其实是更快的路(http://blog.youxu.info/2009/08/06/my-undergraduate-year/)。TIJ是面向java培训的教材,在写作上较多考虑到了教学的需要。当然,有些文化上的因素需要适应中国学生,比如18页“An object provides services”一节实际上想用“服务”这个词来引导读者到“协作性”的概念,或许西方思维中确实如此,但在我们的教学中,这样讲反而会令学生产生陌生感。还有一些基础知识介绍的欠缺,比如需要补充详细的实验步骤指导。但是,除了这些缺点以外,这本书在知识点的循序渐进上还是处理得非常恰当的。而且,这本书考虑到了在讲授基本语言特性的过程中培养学生的良好编程习惯,比如它在第二章刚开始讲完第一个程序,就立即介绍文档的重要性以及如何自动生成文档等。把培养良好编程习惯纳为一个教材设计目标,这是很值得称道的。最后,这本书内涵了面向对象设计思想和编程行业的文化,这种表现很多,比如前几章开头的那些文化论述,具体的再如在介绍文档的时候,把文档自动抽取的意义定位为一个支持协作的java基础设施。我所理解的,是这些特性使得这本书成为一本国外声誉斐然,值得为之开发教学设计的英文经典教材。
&
相关文档:
一、Java源文件
1、一个Java应用包含一个或多个Java源文件,每个Java源文件只能包含下列内容(空格和注释除外)
l 零个或一个包声明语句
l 零个或多个包引入语句
l 零个或多个类声明语句
l 零个或多个接口声明
2、每个Java源文件可包含多个类或接口的定义,但是至多只有一个类或者接口是public的,而且Java源文件必须以 ......
1、语法:Java程序员必须比较熟悉语法,在写代码的时候IDE的编辑器对某一行报错应该能够根据报错信息 知道是什么样的语法错误并且知道任何修正。
2、命令:必须熟悉JDK带的一些常用命令及其常用选项,命令至少需要熟悉:appletviewer、 HtmlConverter、jar、 java、 javac、javadoc、javap、javaw、native2ascii、serialv ......
你曾经需要应用执行一个任务吗?这个任务每天或每周星期二晚上11:30,或许仅仅每个月的最后一天执行。一个自动执行而无须干预的任务在执行过程中如 果发生一个严重错误,应用能够知到其执行失败并尝试重新执行吗?你和你的团队是用java编程吗?如果这些问题中任何一个你回答是,那么你应该使用 Quartz调度器。
......
1.
顺序控制
if
else
switch
可以用byte,short,char,int做为表达式类型
循环结构
while
do ...while
for
标签跳转:
outer:
break outer;
outer:
continue outer;
2.数组类型
数组也是一种数据类型,它本身是引用类型。
静态初始化:程序员显示指定初始值,系统决定长度。
动态 ......