- Java Web开发就该这样学
- 王洋编著
- 2596字
- 2020-08-28 21:38:37
前言
一直以来人们都认为教师和书籍是知识的载体,教学的过程就是将这些知识传递给学生,于是书上写满了正确的知识,学生看书就可以迅速掌握知识,理论上这是高效率的系统,但事实上只有极少数人能够适应这样的系统,因为这些知识也是有人经过一个过程得到的,忽略了发现知识的过程,而直接将结果传递给学生,似乎高效率,但是学生却常常无所适从,因为学习是发现知识的过程,而不是记住知识的过程。
好在建构主义教育思想指明了更加适合学生的教学过程,在这一思想下,书和教师从正确知识的传递者,转变成探索知识的引领者,带领着学生去体验、去感觉、去发现属于学生自己的知识,正如这本书,读者会发现有60%的内容是不正确的,这些错误是学习过程避免不了的,优秀的学生不同之处就是,通过自己的努力在到达学习目标的道路上,不断地调整,将错误的理解剔除掉,问题是大多数学生无法完成这个过程,要么陷入错误的包围中,最终放弃了探索,要么通过死记硬背来自己达到学习目的,结果学生能够通过考核,却没有运用知识的能力。学习离正确的轨道越来越远,甚至很多人迷失了学习的真正目标,将记住知识作为唯一的目标,很多教育者苦苦探索的正确教育途径,在教育理论研究中早已经被发现,那就是建构主义教育。
建构主义教育思想从来不认为掌握知识是学习的最终目的,我认为学习的目标是认知、能力和精神。认知和知识是不同的,知识停留在人的头脑中,而认知是能够被熟练使用的知识;能力在不同的领域是不同的,由于Java Web技术是前端页面技术和后端编程技术的结合,其中前端技术结合了HTML、CSS和JavaScript,这些几乎完全不同语法特点的编程,通常是Java Web程序员的薄弱环节,所以综合运用能力就成为Java Web前端技术学习的关键。
后端编程技术经过多钟不同思路的发展,产生了更加适合编程的Servlet技术和JSP技术,并且在两个主流的分支基础上又演变出了JSP+JavaBean以及JSP+Tag的应用手段,为了改善用户体验,还出现了AJAX技术,所以在这本书的范畴内,一个优秀的Java Web程序员,既需要有前端编程能力,又需要掌握后端编程的特点,清晰地理解每一种技术适用的范围和优缺点;如果学习的目的仅仅是为了掌握一项技术,那么人终将被新的技术手段所替代,任何学习过程都是生命价值的提升,一个程序员需要有严谨的态度、专注的品质、探索的精神和创新的意识。这些学习目标不是一节课或一个章节的任务,需要通过整个教学过程来建构。
一直以来学生的学习动机都是教育理论界热衷讨论的话题,我认为学生学习的动机有三个方面,一是为了获得喜悦,二是为了消除恐惧,三是自我效能。好的成绩可以获得家长、老师的表扬,可以有更好的名次甚至奖学金。而差的成绩会被批评、留级,甚至拿不到毕业证。我们发现普遍的教学手段是为了推动学习动机的前两个方面,这造成了两个可能的结果,有些学生对于奖励或是惩罚麻木了,一旦丧失了学习动机,自然好的成绩无从谈起,在另外的学生身上,这些手段一直能够起到作用,我们会得到所谓的好学生,问题是这些动机是外界推动的,而非内生的,这些习惯于此的好学生或许一生都在意别人的评价。如果教学过程能够激发学生的自我效能,让学生的学习是基于自己强烈的爱好和成功的喜悦,我们就一定能够培养出来优秀的学生,而他们也将一生受益。
问题是为什么建构主义教育思想如此的好,却很少在教学实践中应用,这是因为建构主义和现有的教学形式相比仍有些弱点:第一,建构主义在教育的效率理论上比较低,现在我们能够在短时间内将大量的正确知识传递给学生,学生只需要理解记忆就好了,而建构主义教育要呈现知识探索的过程,这样会消耗更多的时间和精力。第二,建构主义教育的效果不可控,学生是通过体验自己发现整合知识,那么不同的学生或许得到的结论不同,深度不同。第三,考核困难,我们不能再用知识点来考核学生,因为教学过程中就没有传递经典的知识点。第四,实施建构主义教育对于教师的要求比较高,教学过程的设计建立在对学生深入理解的基础上,教师不仅仅要准备教学知识了。
为了实现上述效果,老师将扮演不同以往的角色,教师不再是知识的载体,教师将陪伴着学生一同探索,带领着学生犯错误,引导着学生进行思考整合。为了克服建构主义教育思想的弱点,在写这本书时,我基于对学生和技术的理解,剔除了大量知识点的讲解,在反复的教学实践中,已经能够获得和传统教学相同的教学效率。另外我大量总结和研究了学生的学习过程,建立了学生在学习Java过程中的学习曲线,依照学习曲线来评估和考核学生的学习效果。
本书总结了作者多年在这条道路上的探索,力求提供基于建构主义教育思想的Java Web教学材料,帮助学生轻松地掌握作为Java Web程序员所需要的知识和能力,通过比对运用相似技术,帮助学生将最适合的技术运用到项目中。书中的内容并不是简单的案例堆砌,每个部分的任务都包含了对相关知识的整合,都基于学生的学习曲线特点。
我在8 年教学探索后才动手写这本书,因为我一直相信“教育是用生命影响生命的过程”,我无法在一本书中实现和我亲自上课同样的影响过程,课堂上一遍遍的重复代码所传递的严谨态度,无法在书中呈现,加上我对技术、对学生理解,以及对于建构主义教育思想理解的局限,让我清楚地知道,我并没有完成一部让我心满意足的作品,书中不可避免的有很多不足,恳请读者批评指正。
这本书的内容是我数以万计的学生的成果,甚至有很多案例是我的学生在学习的过程中发明的,这段从8 年前开始的探索并不是一蹴而就的,我诚挚地感谢我所教过的学生,是他们的忍受、包容和努力帮助我完成了这本书。我要感谢我的家人,我儿子的出生和成长,让我开始接触和研究教育理论,给我之前漫无目的地探索指明了方向,为了让这本书通俗易懂,我那学文科的爱人像一名真正的学生一样,通过这本书来学习Java技术,在她的努力下,这本书具备了更强的覆盖范围,确保读者即便是没有任何专业基础,也能够通过这本书掌握Java技术。同时也要感谢电子工业出版社的老师们为本书的出版所付出的辛勤工作。
光盘使用:我一直希望这本书的定价尽可能低,希望有更多的人能够没有负担的学习Java技术,本意不想提供光盘,但是权衡再三,由于本书中的代码是伴随着讲解逐步展开的,很多代码没有整体呈现(否则会增加太多页数),所以不得不通过光盘提供书中的代码,这些代码被放在codes目录中,按照书中的章节组织,需要强调的是,请不要直接编译运行,或是复制我提供的代码,光盘中的代码是我的,只有你亲手输入到电脑里的内容才属于你。
王洋
于2013年4月14日