很多人推荐了这么一篇学术论文,题为“The Camel Has Two Humps”(骆驼有双峰)。它提出了下面的方法,能在计算机科学专业的学生接触到一个程序或者一门编程语言之前,判断出他们当中哪些人适合学习编程,哪些人不适合。
所有教授编程的老师都发现,他们的教学结果呈现出“双峰”现象。似乎他们的学生中有两类人:一类是会编程的;另一类是不会编程的。这两类人有着各自独立的贝尔曲线。对于编程的教学,基本上所有的研究都集中在“教”上:变换语言,变换应用领域,使用一个IDE,引入激励机制,等等。但这些统统都不奏效,“双峰”现象依然存在。于是,我们发明了一种测试,通过它可以在授课之前把这两类人区别开来。我们挑选“双峰”中会编程的那些人。可能你现在还无法相信,但是在你看完之后,一定会相信的。我们还没完全搞明白为什么这种方法奏效,但我们有一些不错的理论支持。
我不曾想到,一个擅长编程的人和不擅长的人在这么早就可以被分辨出来。Dan Bricklin曾经在他的文章中提到过这个话题,文章的名字是“Why Johnny Can’t Program”(为什么Johnny不会编程)。但是,对于那些教授计算机科学的人来说,这些显然已不是秘密。
自20世纪50年代电子计算机被发明以来,尽管世界已经发生了翻天覆地的变