处理教材:Everything is an object of "Thinking in Java"

——关于以TIJ为课本的Java教与学的方法

 

     本章内容仍然是java的基本概念,为了让学生在本章能够几乎完全地理解入门程序HelloDate,作者仔细考虑了知识点的铺陈顺序和深度,有些部分做得非常有新意,如讲授引用(reference)时,提出在java中,一切对象都是通过“遥控器”来使用的。

     在开始讲解第一个程序之前,作者安排了对象的使用和创建、基本类型、类的创建、变量可见性、包的基本概念、静态成员等许多概念,而且还带了关于jdk的使用,然后才真正开始第一个程序,可以说是一个非常特别的教学思路。这样能够让学生对HelloDate程序做到完全理解,并熟练地掌握如何自己写出一个可运行的类。从后面的十多个习题来看,也必须是完全掌握了这些知识,才能够做得出来。可以说,作者是以牢固掌握为目标的,牢固掌握了基本的面向对象操作,对编程环境非常熟练以后,才能进入下一章“运算符”的学习。

     但是本章还不是作者所提出的“练习和讲授紧密结合”的风格,这对课程提出了挑战,要求老师在第一节小课就能把前面的内容全部讲解完,甚至包括javacjava命令的用法,最好还能做1个课堂习题,然后第二节课继续练习,和讲解如何使用javadoc命令和如何做出合适的文档,这样的话,可以要求每个学生在后续的练习中必须写出文档,以熟悉文档的写法,养成良好的编程习惯。文档中常用的注释法,TIJ上介绍得稍显冗余,实际上,对于初学者为了养成良好习惯而写的一般的文档,@param,和@see已经足够了,其他的使用“/**”和“*/”文字说明。

     对于BigInteger的处理,我选择舍弃,因为一堂课最忌内容太多,而这个知识点和后续并没有联系,只是为了照顾对java特性的覆盖而设的,因为如果要做一本“java知识大全”的话,BigInteger几乎只能放在这里。对于课本上过多的文字描述,同学们可能难以理解,而因为是电子教材,课堂授课时学生们无法看课本,只能是把PPT打印出来带着,为了照顾同学们的视力PPT上字体不能小于24号,而且还是英文,所以我想,可以保证课本上的斜体字(TIJ上的重要概念都用了斜体)PPT上都有,孤立的小代码也会出现,其他的则依据教学思路进行取舍。其实,这次我很想把第一个程序HelloWorld放在第一节课,为了在第一节课就教会同学们使用javacjava命令,但是考虑到命令行本身就有好几个dircd等诸如此类的小知识,而main函数的讲解在本章又如此铺陈,所以,只能看这一次的教学效果而定了,如果在课堂上还有时间演示这个实验的话,就增加进来,也把第二章的相关练习加上;与此相似,关于java虚拟机的原理,许多PPT都会放在第一章大篇幅讲解,但是TIJ却不是这样,反而选择了比较宏观的方式,只是带过,也没有画出一个虚拟机工作原理示意图,对此,我想这可能是Eckel的一个教学经验吧!作者强调java的核心在于其对编程体验的贡献,对于提高学生的学习积极性,减少陌生感才会更有帮助,但是我在讲到javacjava命令的时候,是要简略讲述的。同样,为了减少同学们一开始时的畏惧感和陌生感,我会选择在开头提到SunGosling的故事。

     用TIJ教学的核心,是要理解并借鉴它的教学思路,让同学们更加轻松、自然地学习,享受到高品质的教育,打下一个牢固的基础,而不是故意用这本书让同学们学得很累,老师也会教得很累。所以,虽然我会尽量努力让同学们能够读懂这本经典著作,比如我会使用它的例子,借鉴它的内容编排顺序、好的教学方法,和教学重点,但是,我只是理解并借鉴它,会在它的教学思路上做必要的调整,比如关于编程环境,在开头的时候我希望用记事本和命令行,为了突出编程的隐性基础锻炼,是和它一致的,但是讲过Access Control那一章后,因为同学们已经对java编译执行的原理非常清楚,就会转到Eclipse。再如,TIJ并没有使用网络交流作为辅助教学,因为Eckel的培训对象是西方文化下的人,往往已经具有良好的网络交流习惯和基础,而中国学生往往比较内向,对于开放的编程社区,还是有一定的畏惧情绪,有相当一部分同学还不习惯在网上分享自己认真的想法,也还需要锻炼网络交流所依赖的书面表达技能,这都需要依赖一个宽厚、积极的网络社区的鼓励,这里先对CSDN上的网友们一并表示感谢!

当然了,关于一些细节的变化,还会有不少,但是对于TIJ上体现出的优秀的教学思想,是会认真吸收的,对于我还没有理解到的地方,希望专家和老师们多给予我提醒,和我交流!对于我没有意识到的同学们的需要,也请同学们予以提醒和宽容。在此,向现在和将来会关心我们的网友和同学们表示真挚的感谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
《Thinking in Java》是由Bruce Eckel撰写的一本Java编程的经典教材,该书以英文语言出版。以下是该书的目录大纲: Chapter 1: Introduction to Objects - Introduction - The progress of abstraction - How objects communicate - Every object has an interface - The process of object-oriented design - Implementation hiding - Inheritance and reuse - Polymorphism and dynamic binding - Summary of object-oriented principles Chapter 2: Everything Is an Object - Primitive types - How the objects are created - Aliasing: All arguments are passed by value - Documentation comments - Controlling access to members of a class - First exposure to Java syntax Chapter 3: Operators - Thinking recursively - Operator precedence - Assignment with objects - Mathematical operators and precedence - Autoboxing and unboxing - Increment and decrement - Java logic operators - Bitwise operators - The instanceof operator - Summary of operators Chapter 4: Control Structures: Part 1 - True and false - The if-else statement - The switch statement - The while statement - The do-while statement - The for statement - Summary of control structures Chapter 5: Control Structures: Part 2 - The break and continue keywords - Foreach and multidimensional arrays - Using the comma operator - The return keyword - Summary of control structures Chapter 6: Initialization & Cleanup - Member initialization - Constructor initialization - Method overloading & generic methods - Order of initialization - Constructor & parameter lists - Garbage collection - The finalize() method - Summary of initialization and cleanup ......(接下去的章节继续)

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值