皮亚杰认知发展理论对《计算机程序设计》课程教学的启示
2013-08-16师文浩朱显峰李冬艳张建留
师文浩,朱显峰,刀 伟,李冬艳,张建留
(1.云南师范大学信息学院,昆明 650500;2.个旧市第二中学,云南个旧 661000)
皮亚杰认知发展理论对《计算机程序设计》课程教学的启示
师文浩1,朱显峰2,刀 伟1,李冬艳1,张建留1
(1.云南师范大学信息学院,昆明 650500;2.个旧市第二中学,云南个旧 661000)
皮亚杰认知发展理论体系对儿童心理发展和教育研究产生了巨大的影响,对教学活动有很好的指导作用。根据皮亚杰的理论,《计算机程序设计》课程教学应注意以下几点:根据学生需要设置课程,激发学习动机;顺应学生的认知发展情况;教学内容安排应螺旋上升;重视实践活动;通过分析学生的学习过程发现问题;鼓励学生采用小组协作方式学习。
皮亚杰;认知发展;程序设计;教学
皮亚杰(Jean Piaget)是心理学历史上最具影响力的发展心理学家之一,同时也是一位博学多才的大家。他于1918年获得生物学博士学位,并把生物学的原则和方法运用到人类发展的研究当中,同时对哲学和逻辑学也进行过研究学习并对其日后在心理学方面的研究产生了重要影响〔1-2〕。皮亚杰一生著作颇丰,包括《发生认识论原理》《结构主义》等70多部著作。对后世的儿童发展与青少年教育产生了深刻的影响。尽管今天皮亚杰的理论在很多方面受到了质疑和挑战,一些新的发现也对他的理论体系做出了修正,但是其基本观点和大部分内容依然受到教育界的追捧,在启发和指导着教育者改进和完善教学。
1 皮亚杰理论的基本观点
1.1 发展的本质皮亚杰认为,儿童发展并不是决定于外部环境,也不是决定于有机体内部,而是依赖于儿童与周围环境的互动,亦即“活动”决定了发展。
儿童和成人内心都有一个用于组织和加工信息的“认知结构”,或者叫做“图式”,我们利用“图式”来对应现实世界中的事物并与之交互。在交互的过程中,根据自身已有的“图式”来解释新事物(即“同化”)。当出现的新事物无法被理解的时候,就更新已有的“图式”使之能够与新事物的特征对应(即“顺应”)。这样的过程是外部刺激打破了原有认知结构的平衡,而认知主体需要通过某种方式来改造或重建图式,以达到新的平衡。因此发展的过程实际上是一个“平衡—不平衡—平衡”的过程。它不是一个数量不断增加的累积过程,而是一个认知结构不断重新组合、构建,产生质的区别的过程〔3〕。建构的过程如图1所示。
图1 认知结构建构过程
1.2 发展的阶段皮亚杰将儿童和青少年的认知发展划分为4个阶段:感知运动阶段、前运算阶段、具体运算阶段和形式运算阶段。
第一阶段,感知运动阶段(0~2岁)。这一阶段的婴儿或儿童主要是通过感觉和动作技能来与外界交互,探索世界。这一阶段婴儿的主要成就是思维开始萌芽,并且逐渐形成“客体永久性”。
第二阶段,前运算阶段(2~7岁)。这一阶段的儿童语言与概念发展迅速。但是他们的思维是单维的和不可逆的,往往只注意事物的一个方面而忽视了其余方面,或者只注意状态而不注意过程。“自我中心”也是这个阶段的特点。
第三阶段,具体运算阶段(7~11岁)。这个阶段的儿童能够形成概念、发现关系、解决问题,但是所有这些都必须与他们熟悉的物体和场景有关〔4〕。
第四阶段,形式运算阶段(11岁至成人)。形式运算阶段的儿童逐渐开始可以像成人一样思维,能够理解假设的和抽象的情况,并且能够将形式与内在进行区分开来。
皮亚杰认为,儿童发展的4个阶段是以不变的、常恒的顺序进行的。任何儿童的心理发展都是以固定的顺序进行的,不能够跳过其中的某个阶段而直接进入下一个阶段,也不能够将顺序进行颠倒,这是具有普遍性的。但是,不同的儿童经历不同阶段的速度可以不尽相同。
2 皮亚杰理论对《计算机程序设计》课程教学的启示
尽管在当今的心理学界和教育界,皮亚杰的理论在一些方面受到了质疑和挑战,一些心理学家和教育工作者或者改进实验方法,或者提出新的理论来不断修正皮亚杰的理论体系,并且出现了“新皮亚杰主义”,但是皮亚杰的理论对于教育教学的影响仍然巨大,依然有许许多多的教育工作者在尝试将皮亚杰认知发展理论应用到相关教学工作中〔5-15〕。
《计算机程序设计》是大中专院校计算机相关专业的基础课,在一些高校甚至在全校范围内开设该课程(面向理工、文史、艺体等专业学生),还有一些高中也开设有程序设计类的入门课程。从笔者在不同类型的学校(本科、大专、中专、培训机构)针对不同专业的学生(计算机、文史、艺体等)的教学经验来看,尽管各级各类学校对于该课程都比较重视,教师投入精力也不少,但是教学效果却不尽如人意,学生普遍反映比较难以掌握该门课程。如何有效地进行《计算机程序设计》课程的教学,是一个值得探讨的问题,从皮亚杰认知发展理论体系里,我们可以得到一些有用的启示。
2.1 课程设置要考虑学生需要,激发学生的学习动机根据皮亚杰的理论,认知发展产生的原因不是外界环境的刺激,也不是有机体内部的变化,而是来自有机体与环境的交互。也就是说“活动”是认知发展的根本原因。皮亚杰反对把儿童看成是一个依赖的变量,主张儿童是一个主动的接受者,认识的获得是在儿童与外部世界相互作用过程中逐步建构的〔3〕。因此,学生是否能够较好地掌握《计算机程序设计》的知识,关键是他是否主动地在内部建构了这个知识的体系并填充了内容。
笔者同时承担了计算机等级考试培训机构的《二级程序设计》课程和本科学校的公共课《计算机程序设计》课程的教学任务,在不同的机构里教授的内容基本相同,讲授方法大体一致,授课对象的年龄和学历特征也比较接近(都是大学一、二年级非计算机专业学生,之前基本没有进行过程序设计的学习),但是授课结果却大相径庭。培训机构的学生计算机等级考试二级过关率超过50%,而学校里的学生在更为简单的期末考试中的及格率却达不到50%。究其原因,笔者认为主要是与学习动机有关,培训机构的学生都是抱着通过“全国计算机等级考试二级”的目的来学习的,他们的学习动机很高,在学习过程中愿意积极主动地进行思考并与教师互动,在此过程中建构了自己的知识结构,因而能够取得较好的成绩。而在本科学校里的授课对象主要是艺体专业的本科生,他们大多对于课程无需求,觉得与自己的专业没有关系,只不过是“被动”接受学校安排,“迫于无奈”才来上课,因此自然不会积极主动地去建构自己的知识体系,学习结果较差。
我们认为,要想使学生较好地掌握《计算机程序设计》课程知识,取得好的成绩,教师的首要任务是帮助学生激发学习动机,给学生分析课程将会给他们带来哪些好处,教师可以从专业需要、思维锻炼、帮助就业等方面鼓励学生学习。在教学过程中应当多采用吸引学生的案例来进行教学。要将课程与他们的专业结合,例如,利用程序设计对物理公式进行推导,对化学公式进行计算等等。当然,对于课程的安排,还是应该多考虑专业的需要,对于文史类学生和艺体类学生是否需要学习《计算机程序设计》,还是要进行斟酌的。只要确实是从学生的需要出发设置课程,并激发出学生的学习动机,要想取得好的成绩并非难事。
2.2 教学内容应适应学生的认知发展情况笔者在不同的学校任教发现,同一门课中同一章节的内容,用同样的方法讲授,中专学生的接受能力相较于本科学生来说要差。往往本科学生讲一遍就能够理解的内容,要对中专学生讲很多遍才能使其理解。
虽然根据皮亚杰的理论,11岁以后直至成人都已经进入形式运算阶段,但是显然由于阅历和学习容量的不同,中专学生与本科学生的认知结构还是不一样的。中专学生的知识基础是初中水平,而本科学生则比他们多了高中知识的储备,他们所建构的认知结构应当更为庞大和完整,因此在学习《计算机程序设计》的过程中会更加容易地把新的内容“同化”到认知结构中,而中专学生则可能要反复修正认知结构(即“顺应”)才能掌握新的知识。
教师在教学之前,应当首先分析学生的认知情况,根据学生的认知特点采用合适的教学策略,选择贴近学生的案例来进行教学。对于认知结构相对“简单”的学生,要多一些耐心,采用更加具体形象的方法来引导他们。
2.3 教学内容安排应螺旋上升,不断打破学生的平衡并帮助建立新的平衡认知发展的过程是一个“平衡—不平衡—平衡”的过程。学生在学习的过程中只有感受到了不平衡,才会主动地去选择将知识“同化”到认知结构中或者让认知结构修正以后去“顺应”新的知识,教师的任务是帮助学生打破已有的平衡,为新的建构创造条件,但是又要注意帮助他们将新的平衡建立起来,否则只有“破”而无“立”,很可能使学生失去学习的积极性。
在讲授《C程序设计》中的“while循环”知识点的时候,笔者给学生引入了一个例子:
“由于老师太胖了,因此决定每天跑步来进行减肥,老师给自己设定的目标是每天跑5圈。那么老师跑步的时候是怎么做的呢?没有跑的时候圈数是0,每跑完一圈,老师心里记着的圈数加1,然后不停重复,直到圈数是5的时候,老师知道数量够了,于是就停下来了。这就是一个循环的例子。”
到这里并没有打破平衡,因为这是一个正常人的思维方式,学生可以不假思索地理解这个例子。
接下来通过一个问题打破平衡:“在C语言的while循环方法中,这个例子应该用什么样的格式进行表示呢?”
然后老师给学生讲解while循环的基本结构和运行规则,帮助学生建构新的认知结构,学生通过这个例子基本掌握while循环的基础知识,新的平衡建立起来。
当学生的平衡建立起来以后,教师抛出新的问题:“如果有一次,老师没有跑完5圈,但是腿受伤了,只得休息,怎么表示?”学生的平衡再次被打破。
老师给学生讲解循环过程中需要中断的时候采用“break”语句,学生建立起新的平衡。
随着这个例子的不断变化,逐渐复杂,学生比较清晰地掌握了while循环的知识,效果较为理想。
2.4 重视“活动”对学习效果的影响皮亚杰理论中认知发展实现的关键就是“活动”,即有机体与外界的交互。正是在“活动”的过程中逐渐实现了认知结构的“同化”和“顺应”,因此,“活动”对于教学效果会产生重要影响。尤其是对于《计算机程序设计》这种重实践能力的课程来说,更是应当足够重视。
学生在实际操作计算机进行程序设计的过程中,不断发现错误和改进错误,加深和巩固课堂理论知识的理解,重新修正自己的认知结构。
笔者在教学过程中,对于难以“入门”的学生,往往强制要求他们上机完成某一项或几项实际操作任务,学生在完成之后通常发现程序设计并不是像想象中的那么难,从而激发起学习的信心和欲望来。
教师应当尽量利用实验、课程设计等实际操作的机会鼓励学生多动手。当然,对于实际操作内容的编排,应该做到不仅考虑教学进度的需要和教材的匹配,更要考虑到学生的认知能力,尽量安排对他们有一定的挑战同时又是经过努力可以完成的内容。
2.5 着重分析学生的学习过程,而不只是看到结果认知结构的形成是通过“活动”来实现的,在学生的学习过程中,除非他对知识点“视而不见”,否则只要学生进行思考,就一定能够建构起一个属于他的认知结构。
在《计算机程序设计》的教学过程中,尤其是对于“指针”、“递归”等较为复杂的知识点,学生往往出现各种各样的错误。这正是由于他们构建了与“标准”不符的认知结构,但是这样的结构在他们的认知体系里,其实是合理的,符合他们的认知逻辑的。
对于出现的这样那样的错误,教师不应该简单地批评或者只是对他们重复唠叨“正确答案”,而是应该分析出错的原因,是不是学生压根就没有进行认知结构的建构,如果学生确实主动建构了,那么要帮助他们分析建构的过程,找出出错的环节,帮助他们修正已有的认知结构。
2.6 要认识到个别差异,鼓励学生采用小组协作方式学习皮亚杰自身也承认,尽管儿童发展的4个阶段是以不变的、常恒的顺序进行的,不能跳跃或颠倒顺序,但是不同的儿童经历不同阶段的速度可以不尽相同。有的个体或者种族甚至终其一生都没有进入到形式运算阶段。
也就是说个体与个体之间的认知发展是存在差异的,这种差异可能表现在对知识点的掌握程度不同,也可能表现在理解的角度和运用知识的方法不同。《计算机程序设计》是一门开放的课程,除了基本概念的掌握以外,更重要的是要锻炼学生的逻辑思维、创造力和解决问题的能力。教师应该鼓励学生以小组协作的方式学习,这样一方面可以使理解知识相对困难的学生得到同伴的帮助(通常比教师的帮助更有效),另一方面可以使学生接触到其他同伴的不同的思维,从而不断打破他们的平衡,不断修正和更新认知结构。
3 结束语
皮亚杰的理论其实远不止局限于前文所述,对于教育教学的影响也超过了文中涉及的主题。然而教育理论与教学实践的结合并不是一蹴而就的,需要教育工作者们在教学实践中努力探索发现,一点一滴地将优秀的教育理论融入到实际工作当中,不断地“同化”和“顺应”我们对教学的认识,提高我们的教学水平。
〔1〕皮亚杰.发生认识论〔M〕.范祖珠,译.北京:商务印书馆,1990.
〔2〕斯莱文.教育心理学(理论与实践)〔M〕.姚梅林,译.北京:人民邮电出版社,2004.
〔3〕陶云,高飞.皮亚杰理论对教育的主要影响〔J〕.云南师范大学学报:哲学社会科学版,1993,25(3):63-67.
〔4〕皮亚杰.发生认识论原理〔M〕.王宪钿,译.北京:商务印书馆,1982.
〔5〕方勤华.皮亚杰认知发展理论及其对数学教学的启示〔J〕.周口师范学院学报,2009,26(5):154-156.
〔6〕申春雪.皮亚杰理论在开放教育《计算机数学》课堂中的应用〔J〕.河南广播电视大学学报,2003,16(1):70-71.
〔7〕郑翔.皮亚杰教育理论在数学教学中的应用〔J〕.安康师专学报,2004,16(2):121-124.
〔8〕刘金明.皮亚杰认知发展理论在素质教育中的应用〔J〕.天津市教科院学报,2001(6):43-47.
〔9〕姜虹.皮亚杰认知发展过程理论对语文阅读教学的启示〔J〕.现代语文,2007(11):58.
〔10〕陈传宝.从皮亚杰认知发展论看思想政治工作〔J〕.温州大学学报,2003(2):101-103.
〔11〕梁仓.建构主义学习理论在中专计算机课堂教学中的运用研究〔J〕.今日南国,2010(10):31.
〔12〕刘静.皮亚杰认知发展理论视野下的中小学音乐教育研究〔D〕.石家庄:河北师范大学,2010.
〔13〕陈瑞芳,郑丽君.皮亚杰认知发展理论及其对当代教育教学的启示〔J〕.当代教育论坛,2007(10):31.
〔14〕余小波.皮亚杰认知发展阶段理论及其对教学的启示〔J〕.长沙电力学院学报:社会科学版,2001,16(4):113-115.
〔15〕孙清祥.论皮亚杰认知发展阶段理论及其对教育的启示分析〔J〕.南昌高专学报,2012(1):64-66.
The Enlightenment of Piaget's Theory of Cognitive Development to Computer Programming Teaching
SHI Wenhao1,ZHU Xianfeng2,DAO Wei1,LI Dongyan1,ZHANG Jianliu1
(1.School of Information Science and Technology,Yunnan Normal University,Kunming 650500,China;2.Gejiu No.2 Middle School,Gejiu,Yunnan 661000,China)
Piaget's theory of cognitive development has huge influence on the field of children’s psychological development,which is good to guide teaching activities.By Piaget's theory,we should note the followings in the teaching process of Computer Programming:set up course according to students'need;inspire the motive of students;be responsive to students'cognitive development;teaching content should be spiral;attach importance to practical activity;find problems by analyzing the students'learning process;encourage students to coordinate study.
Piaget;cognitive development;programming;teaching
G40
A
1672-2345(2013)04-0069-05
2012-09-11
师文浩,硕士研究生,主要从事课程与教学论、教育信息技术研究.
(责任编辑 袁 霞)
10.3969/j.issn.1672-2345.2013.04.019