分类: Java
2013-06-14 12:00:13
前段时间,听学生说,某校外培训公司有时会到我们工作室宣传,鼓动学生报名参加他们的培训。这不,有一次在游说一个学生时还正好被我看到了。事后,这个学生告诉我,培训公司声称,相对于我们工作室的学习方法,他们的培训能让学生学习的知识更系统。
嗯,知识若能够系统地学习,当然最好了,这是我们多年来学习经历的常识。而我在工作室倡导的学习方法,是“非线性学习方法”(详情请参见我的博文:什么是非线性学习方法?)。这种学习方法给人的印象就是,学习的知识不够系统。培训公司拿这一点作为吸引学生的卖点,似乎很有说服力。
传统的知识体系,前后的知识点联系紧密,前面的掌握不好,会严重妨碍后面知识的理解。比如说学物理的一定要学好数学,因为物理规律都是用数学中的方程描述的;再比如说,学习C语言中的链表处理程序,就要求掌握循环处理、结构体和指针等相关知识。在这种情况下,系统地学习相关知识,是必要的、必须的。
不过,就像我在“什么是非线性学习方法?”一文中所说的那样,JAVAEE所涉及的知识体系庞大,但知识点之间的联系并非像传统的知识体系那样紧密,这也是我的非线性学习方法得以提出的前提。学习过JAVAEE及JAVAEE程序员都知道,JAVAEE程序设计实际上都是针对API编程,知识点之间的联系并不紧密(不是说没有),体现了软件工程中模块之间低耦合的要求。在这种情况下,在已经具备一定的基础的情况下,完全可以先只学习相关的最基本知识,然后即参与项目(先模拟项目、后实际项目)开发。然后,在开发的过程中,再有针对性地学习遇到的新知识。当然,在此过程中,教师的指导、学习环境的创建必不可少。这样由点及面,就能完整地构建整个知识体系,这就是非线性学习方法的核心思想。
而如果按照传统的学习方法,正如培训公司所做的那样,一个知识点一个知识点地学习,则整个学习过程和回报期会变得很长,学习者容易逐渐丧失学习兴趣。更重要的是,参加培训,是要花一笔钱的。
不过采用非线性学习方法,也需要一定的系统学习作为有效补充,以完善我们的知识体系。不过这时的系统学习,动机会更强,因为实际项目告诉我们,这些知识必须要学;学起来更简单,因为有了一定的基础;学习周期也短,因为只是系统学习某一小方面的知识。
因此,对于学习能力较强的学生,只要提供了合适的环境,那么培训公司所声称的“学得更系统”的优势,就没有意义。