关于以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基础设施。我所理解的,是这些特性使得这本书成为一本国外声誉斐然,值得为之开发教学设计的英文经典教材。
&
相关文档:
detachedCriteria.add(Restrictions.or(
Restrictions.like("chengBanDanWeiIds", rForm.getChengBanDanWeiIds()+(char)13, MatchMode.START),
Restrictions.or(
&n ......
一、通过HttpClient(apache commons-httpclient)方式,获许网页内容,并解析出需要的东西。
这种方法相对比较简单,因为commons-httpclient已经做了很好的封装,简单的代码如下:
// 构造HttpClient的实例
HttpClient httpClient = new HttpClient();
HttpClientParams clientPar ......
你曾经需要应用执行一个任务吗?这个任务每天或每周星期二晚上11:30,或许仅仅每个月的最后一天执行。一个自动执行而无须干预的任务在执行过程中如 果发生一个严重错误,应用能够知到其执行失败并尝试重新执行吗?你和你的团队是用java编程吗?如果这些问题中任何一个你回答是,那么你应该使用 Quartz调度器。
......
String str = "中";
String str1 = new String(str.getBytes("gbk"), "ISO8859-1");
String str2 = new String(str1.getBytes("ISO8859-1"), "gbk");
System.out.println(str2); //输出"中" ......
package tao.hai.bing;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLClassLoader;
public class LoadJar {
public static void main(String[] args)
{
Syst ......