处理教材:Preface/Introduction of "Thinking in java"

来源:互联网 发布:白银市连环杀人案知乎 编辑:程序博客网 时间:2024/06/11 18:32

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

 

    Preface的开头很有意思,它论述了java语言受到欢迎的一个根源:java的根本优势是提高了程序员们的编程体验,这得益于Sun的长远眼光,因为Sun似乎以此作为了其java语言设计最重要的目标。随后,列举了一些证据,如相似项目的平均开发周期比使用C++缩短了一半,以及降低了一些复杂软件工程要素的编程难度,如多线程、网络编程、跨平台(一次编写,到处运行)、团队编程等。最后,认为从文化的角度,java的开发领域跨越了移动开发、网络开发等广泛的应用领域,成为一门非常重要的语言,可以作为实现一些人类的文化理想的工具。

    然后,关于本书适用的java版本,做了一些说明,即适用于目前的javaSE6。余下的部分,是对TIJ edition1-3的读者们写的,也论述了作者成书的一些心得。比如为了考虑到教学需要,改进了课堂练习的设计,使其和课堂内容联系更紧密,以利于学生吸收。(P25)这里暗示教师应重视加强课堂练习,提高学生知识掌握的牢固程度。再如,提到了将培养学生的良好编程习惯作为一个修改完成本书的目标,提高了例程质量等。这些都是对教学有良好启示性的。最后,提到删除了一些非核心的部分,以将本教材提炼得更加简短。

 

    在Introduction一章中,主要是对本书编写目的和使用方式的论述。开头提出,编程语言和普通语言一样,是用来表述问题和解决问题,程序设计也就是这么回事。那么,java语言的每一个语言特性,也都是用来解决某个特定的问题,TIJ在介绍语言特性的时候,就不能仅仅介绍特性的内容,还必须对其在程序设计中的用途做介绍和潜移默化的引导。

    关于预备知识,在运算符和控制流程两章介绍得是很深入的,所以有一些预备的需要,同学们有C/C++基础,只是缺乏足够的练习。

    在Learning Java一节,主要谈到了教学,也符合我自己的体会,即每堂课必须且只能有一个中心内容,要足够集中,帮助学生完全弄清。接下来的本书目标中,是关于作者教学经验的分享和作者如何实现这个理念的论述。作者做了多方面的努力,如内容的介绍顺序、设计适合学生完全理解的玩具代码、内容精炼、讲解和练习之间的配合等,或者说,作者把教学设计作为最重要的写作目标之一。

    本书是作为两个学期的课堂教学而设计的,基础部分涵盖了12章,直到异常处理为止。一学期的内容,可以在此基础上加入使用IDE的调试技术、ArraysGenericsContainers in depth的一部分,以及对ServeletJSP的介绍,平均每个章节4学时。

    本书并没有介绍IDE的使用,如Eclipse或者Netbeans等,其实这是一个聪明的地方,我看到不少教材因为迁就IDE使得读者无法对编程产生自信。对于一个初学者而言,简单编译环境,对他们产生对语言的驾驭感更有益。因为IDE是面向熟练程序员开发大型程序使用的,功能繁杂,若作为初学者的实验环境,常会分散学生的注意力,而自动完成代码的功能更阻止了学生对于编程中的隐性基础知识的掌握。学到调试技术时,学生已经形成了比较好的基础,介绍并使用IDE才是合适的时机。

 

    Introduction中还谈到了Sun官方发布的JDKdoc的使用,这对锻炼学生英文阅读能力和适应程序设计文化非常重要,我注意到计算机系大四的同学有的甚至还是看不懂JDKdoc,而这是最基本的从网络获取java知识的手段。对中国学生而言,必须将JDKdoc融入课堂讲解,和加入足够的练习。作者还注意了编码风格(36),为了实现本书的目标之一,即帮助学生培养良好的编程习惯。

原创粉丝点击