前言:一篇好文章的诞生,需要你不断地搜集资料、整理思路,本站小编为你收集了丰富的计算机程序设计艺术主题范文,仅供参考,欢迎阅读并收藏。
【关键词】程序设计课程 教学方案 能力培养
【中图分类号】G642 【文献标识码】A 【文章编号】1006-9682(2012)06-0010-03
程序设计类课程是计算机科学与技术及相关专业的基础课程,在计算机专业课程体系建设中占有十分重要的地位。目前大部分高校在程序设计教学中多采用传统的讲授法和系统的学习,同时结合一些上机实践操作来巩固和熟悉课堂上所讲的一些知识点,但对于计算机程序设计课程而言,其特点是更新更快、内容多、课时少。所以,在授课内容处理上既要讲授大量的基础知识、基本概念,而且还要讲授具体的应用甚至操作,要让学生掌握计算机的应用能力;既不能抛弃传统的、经典的内容,又要介绍当前最新的成果。传统的系统学习和讲授有许多缺点,它偏重知识的灌输,重理论轻实践,以教师为中心,以单项讲授为主,是式的学习方法,培养出的学生实践能力不强,不能满足当前社会对人才的需要。[2~4]教育的目标是培养、提高学生的科学素质,科学素质教育的核心是培养学生的实际动手能力与创新精神。[5]所以,我们提倡把程序设计课程的重点放在学生的能力培养上,即如何从计算机解决实际问题的角度,以解决实际问题的程序设计思想作为切入点进行教学,培养学生具有利用软件开发环境解决实际问题的能力。
在上述教学理念的指导之下,为了使程序设计课程达到上述的目标,提出以下教学方案,包括课程设置、教学内容与教材建设、教学方法、教学手段等。
一、课程设置
在课程设置上,我们应采用《程序设计基础C++》+可视化开发环境介绍的方式,并配备集中课程实践的方式。通过《程序设计基础C++》的学习,学生可以掌握基本的编程技能,但不能具备利用软件开发工具进行高级编程的能力,不能满足社会对计算机专业学生的编程要求,甚至出现大四毕业生连一门开发工具都不掌握的情况。通过这两门课程的学习,学生能较深入全面地掌握程序设计的思想和技能,并可以使用软件开发工具进行高级编程。
学习程序设计的目标是利用计算机这个智力工具来分析和解决问题,对现实问题进行建模并编程解决的能力的培养是程序设计类课程的首要任务。知识、能力和素养三者具有辩证关系,一个具有较强能力和良好素养的人,必须掌握丰富的知识。程序设计基础领域的知识是由程序设计的基本概念和程序设计艺术(技巧)组成的,要掌握这些基本概念和设计艺术,必须立足于理性化的学习和理性化的实践。能力是技能化的知识,是知识的综合体现,程序设计能力的培养必须通过动手实践来培养,同时程序设计需要以扎实的理论基础、学科方法以及思维方法来指导实践。为此,程序设计的课程应在加强课堂教学的同时,更注重上机实践环节,学生通过上课掌握了丰富的知识,通过实践锻炼了个人能力,与此同时个人素养也得到提高。[1] 程序设计基础C++的语法和语义介绍以及开发工具的介绍,可以帮助学生掌握基本的程序设计概念,只有通过两门课程大量的上机实践才能帮助学生把所学的理论知识用于解决实际问题,促进学生程序设计能力的提高。以我校为例,程序设计基础共96学时(60学时课堂教学+36学时上机实验),在大一开设,课程结束后紧接着是两周的程序设计课程设计。目前该课程实践教学环节由两部分组成:与课堂教学同步安排的实验上机和集中安排的课程设计。实验上机注重学生理解和消化课堂讲授的知识,偏重于如何编写功能单一的“小”算法,局限于一个或两个知识点,运用这些知识解决一些具体的算法设计问题,培养学生的动手能力,并培养良好的程序设计风格。课程设计是软件设计的综合训练,包括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧,多人合作,以至一整套软件工作规范的训练和科学作风的培养,对学生的一种全面综合训练,是与课堂听讲、自学和练习相辅相成的、必不可少的一个教学环节。但是,课程设计的效果不尽人意,绝大部分同学只是在DOS环境下实现了一个算法,演示效果缺乏美观,尽管我们一再要求学生自学可视化开发工具如Visual C++,但是只有极少数同学进行这项工作,很多同学反映,看不懂,太难了。所以,根据实际教学经验,应该开设可视化开发环境介绍这门课,帮助学生掌握一门实际的开发工具。学习完这门课以后,开设课程设计,这样,在课程设计阶段综合运用所学知识,提高学生用软件开发环境解决实际问题的能力。
二、教学内容与教材建设
教学内容的组织与实施是程序设计课程改革的重要内容。教学内容在组织上应该与时俱进,不与实际的程序设计发展脱节,比如,STL(Standard Template Library),即标准模板库,是一个具有工业强度的,高效的C++程序库。它被容纳于C++标准程序库(C++ Standard Library)中,是ANSI/ISO C++标准中最新的也是极具革命性的一部分。应该作为程序设计课程的必不可少的组成部分,程序设计内容体系结构应分为三个部分:第一部分简述程序设计的基本概念和思想,以C++语言面向语法和语义为背景,讲述一般程序设计语言所具有的基本内容:数据(类型)、操作、程序控制结构、数据控制,这部分内容重点介绍如何进行结构化程序设计及计算机解题的思路和方法,使学生理解算法结构与解题过程,同时掌握程序调试与测试的初步技术。第二部分以C++面向对象机制为背景,介绍面向对象的基本概念:类、对象、消息、方法、封装、继承、多态,使学生初步掌握面向对象程序设计开发技术的基本方法,为后继课程打下基础。第二部分以标准模板库和Visual C++开发工具为背景,介绍容器、算法、迭代子、开发环境、MFC、视图等知识,使学生进一步掌握面向对象的程序设计方法,以及用高效的工具进行软件开发的能力。
教材的质量直接影响教学的质量,以注重学生的程序设计思想和能力的培养为指导,组织编写具有特色的、高水平的教材。此外,随着教育信息化进程的推进,仅提供一本平面纸质教材,已无法满足高校的教学需求。为了教学的需要,我们给学生提供了立体化的教材,主要包括:主教材、学习指导书(实验和课程设计指导书)、主要参考书目、电子教案、多媒体课件、习题库和试题库等。这些资料,学生都可以通过网站获得。
三、教学方法
教学方法是程序设计教学的核心,有了合理的课程设置和教学内容,把程序设计的知识传授给学生,这是决定教学成功与否的关键因素。
在目前普遍采用的教育模式中,学生处于一种较单纯的接受式学习方式中,学生所学知识,基本上是由教师以定论的形式传授给学生的,学生不需要进行独立发现,而只需接受或理解。教师则更多注重知识的传授,重视教学内容的选择和讲授的技巧和方法的研究,而往往不重视对学生的自主学习能力和创新思维的培养。因此,在对传统教学方法分析的基础上,继续保持传教法研究的优势,改变以教师为中心的状况,注重学生多方面的能力和素质的培养,特别要重视学生思维能力、思维方法和创新能力的培养,应采用探究式教学方法。
1.采用探究式教学培养学生的创新能力
“探究式教学”,是指教学过程在教师的启发诱导下,以学生自主学习和合作讨论为基础,为学生提供充分自由表达、质疑、探究、讨论问题的机会,让学生通过个人、小组、集体等多种解难释疑尝试活动,将所学知识应用于解决实际问题的一种教学形式,[6]探究式教学方法通过“探究—创新”的过程,在培养创新型人才上起了明显的作用,强调通过在教师引导下的学生自主或合作进行探索而获得知识,特别适宜于思维能力的锻炼和自主学习能力和团队合作精神的培养,它在启发和培养学生创新能力方面呈现着明显的优点,受到教育学界的重视并得到了逐步推广。
2.采用案例教学法提高学生的兴趣
案例教学法(Case Method),在1870年由哈佛法学院院长蓝德尔(C.C.Langdell)首倡,案例教学法已被大学很多专业及中小学教学广泛应用。它是培养和提高学习者知识能力的一种教学方法,即将已经发生或将来可能发生的问题作为个案形式让学习者去分析和研究,并提出各种解决问题的方案,从而提高学习者解决实际问题能力的一种教学方法。案例教学法是一种启发学生研究实际问题,注重学生智力开发及能力培养的现代教学方法,它有着传统教学方法所不具备的特殊功能。和传统的“满堂灌”、“注入式”教学法相比,案例教学侧重实践和案例的讲解分析,启迪学生积极思维,强调在教学过程中学生主动参与,引导学生动用科学的理论知识,去分析、归纳、演绎、推理、总结,从而达到巩固知识的目的。案例教学的实施一般包括三个步骤,案例的选择,作为教师可以选择一些经典案例课题,如程序设计课程中的“学生管理系统”案例,接下来是案例教学的开展。案例教学的一般流程是教师介绍案例背景给出任务目标,学生开展现场讨论提出初步意见,之后就是在教师的指导下不断讨论与实践直至最终完成任务目标。案例教学的最后一步是评价,对学生提交的案例实施报告和案例解决方案根据案例任务目标进行评价,这里案例的评价通常由教师与学生共同完成,让学生介入评价更有利于加强学生对案例的认识提高案例教学效果。古语云:“授人以鱼,三餐之需;授人以渔,终生之用。”在案例选择及实施阶段强调学生的自学能力是非常有必要的。那么如何做到这点呢?首先逐步削弱学生对老师的依赖,即老师不再是学生学习知识的唯一途径,告知学生如何提高各种途径获得解决问题的方法是一种很有效的手段。在课堂中经常告知学生获取知识的三种途径:互联网、书籍或者编程软件的帮助文档、他人。其次是对学生独立解决的任何问题给予鼓励及肯定,这必将进一步促进其独立解决问题的兴趣。最后是在案例中刻意制造一些未学习过的问题,促使学生必须通过各种途径找到解决方法。[7~8]
3.采用任务驱动式教学法增强学生的综合能力
任务驱动教学法是一种建立在建构主义教学理论基础上的教学法。所谓任务驱动教学法,就是让学生在一个典型的信息处理“任务”的驱动下,展开教学活动,引导学生由简到繁、由易到难、循序渐进地完成一系列“任务”,从而得到清晰的思路、方法和知识的脉络,在完成“任务”的过程中,培养分析问题、解决问题以及用计算机处理信息的能力,为学生创造良好的学习环境,让学生通过努力,能顺利完成每个具体的任务,掌握学习内容,获得成功的体验。任务驱动式教学在形式上是:提出任务师生共同分析完成任务的方法和步骤适当讲解或自学或协作学习完成任务实践归纳和研讨。比如我们在上运算符重载时,在没进入主题以前,先给学生布置一个任务,实现两个复数的运算,可能学生会用以前的知识完成任务,也有的学生可能会有比较超前的想法,然后通过研讨的方式对问题进行分析并提出解决方案,最终完成任务,学生在完成任务的同时既学会了运用以前的知识点分析解决问题,又学会了运算符重载这一知识点。采用任务驱动教学法进行教学,教师的教和学生的学都是围绕如何完成一个具体的任务进行。教师教学思路清晰,学生学习目的明确,学习变成了学生的主动行为,可以充分调动学生的主观能动性,在用的需求下学,学以致用,更容易掌握学习内容,增强学生的综合能力。[1、7]
四、教学手段
在教学手段上,采用多媒体(黑板辅助)+实验室环境+网络课堂的方式。多媒体教学已经是一种非常重要的教学手段,但单纯使用多媒体进行教学,老师的即兴发挥以及与学生的交互将受到限制,所以,我们采用黑板进行辅助的方式。对于识记性的内容可以通过多媒体展示,对于理解性的内容,为了理清学生的思路则通过黑板给学生讲解。此外,对于一些例题,我们采用在集成开发环境下进行现场调试和制作例题的多媒体动态演示课件等方法来加深学生的理解。当前,程序设计的课堂教学一般在教室里采用“计算机+大屏幕投影”的方式,实验课在实验室环境下人手一机练习。该模式缺点是理论与实践相脱节、以教师为中心、束缚学生的思维,最终直接影响到教学效果。[9]在实验室环境下,老师讲课时,锁住所有的机器,使学生机和教师机保持同步,在学生练习时,再给机器解锁,让学生自由练习,通过这种方式,边讲边练,可以通过实际动手编程加深对新知识的理解。为了使所有的教学资源能被有效地利用,要建立一个网络辅助教学环境,即建立程序设计网络课堂,将现实教学中的课堂教授、作业、答疑、测试、课程设计、讨论等全部在网络课堂中予以实现,提供课程的教学大纲、教学日历、参考资料等。这样,为学生提供了一个很好的学习氛围。学生可以进入程序设计网络课堂进行在线学习、在线讨论和答疑、在线测试等。
五、结束语
总之,程序设计是计算机专业的核心课程,合理的课程内容设置配以科学的教学方法,充分利用科技发展带来的教学方式的革新,定能促进学生能力的提高,但是,还有很多方面有待进一步摸索。
参考文献
1 杨静、王浩、胡学钢、方宝富、张晶.程序设计课程教学改革探讨[J].吉林大学学报(信息科学版),2005(S2)
2詹自胜.案例教学法在计算机程序设计教学中探索与实践. 省略/lunwen/2008/200811/270935.shtml
3 方宝富、王浩、胡学钢.机器人足球赛程序设计教学研究——大学生创新能力培养实践第七届全国计算机系主任论坛论文集[C].北京:清华大学出版社,2004
4 何炎祥、伍春香.现代教学理论指导下的“编译原理”教学综合改革[J].计算机教育,2005(3)
5 刘传平.《C++语言程序设计》课程教学改革的探讨[J].中国科技信息,2005(11)
6 戴挺、童蔚苹.探究式教学法在计算机程序设计教学中的应用[J].电气电子教学学报,2005(4)
7 崔艳莉、张敏、王重英.浅谈“案例+任务”驱动教学法在VB程序设计语言教学中的应用[J].中国农业银行武汉培训学院学报,2009(1)
关键词:C语言教学;自动化专业;专业技能;专业特色
中图分类号:GDP42 文献标识码:A 文章编号:1009-3044(2013)13-3111-03
随着信息技术在全社会的进一步普及,就业单位对大学生的计算机技能有了更高的要求。作为计算机教学的主要方面—计算机语言的讲授,也成为了高等院校教学改革的一个重点内容[1]。计算机语言已不再是一门孤立的课程,而是渐渐地作为一个必不可少的工具渗透到所在专业的整个学习进程中来。随着中小学阶段计算机课程的开设,大学新生的计算机基础也在日益提升。同时,由于我国人口素质的进一步提高,对计算机应用已不再满足于传统的简单编程,而是希望将计算机作为一个真正的工具,为生产生活服务。因此,高校计算机语言教学改革的迫切性进一步增强。如何适应新时期下学生、社会、用人单位对计算机语言水平的要求,是摆在教学人员面前的一个重要课题[2,3]。
该文以C语言为例探讨计算机语言在自动化专业学生中教学的一些改革途径[4]。作为一门适应性很广的计算机语言,C语言有着很强的生命力。它具备丰富的教材来源、大量的可参考教案和程序实例[5]。是在我国从985重点高校到各类职业技术学院中工科学生学习最广的一门计算机语言,具有很强的代表性。对自动化专业的学生而言,学好C语言有助于加深对计算机程序设计思想的理解,为学习汇编语言和其他计算机高级语言打下良好的基础。同时为学习后续专业课程以及进行相应的课程设计做好专业知识的储备。
当然,应该指出的是,该文所列举的很多方法并不仅适用于C语言。不同计算机语言具有大量的共性,该文所提出的不少思路完全可以在作适当增删之后移植到其他计算机语言的教学中。同样,适应专业也不一定局限在自动化专业,很多方法也可供其他专业参考。
1 教学过程的组织实施(Plan of teaching process)
1.1 C语言思想的引入
作为C语言教学的开始,教师有必要向学生介绍C语言的特点,培养学生对程序设计的兴趣。同时需要解答学生在学习C语言初期遇到的一些常见问题,使他们不至于一开始就对C语言的学习产生畏难情绪。就笔者的教学经验而言,教学初期一般会面临如下问题:
1)学了它有什么用?
这个问题可能是大学新生问得最多的一个问题?这时,教师并不一定说:“到时候你们就知道了”,而是可以从学生所在专业特色开始深入浅出地谈一下C语言的特点和一些容易理解的直观的应用。可以给学生介绍一下计算机程序在工厂过程自动化控制中的应用。因为学生将来都要去工厂进行实习的,事先给他们介绍一下这些背景知识可以有效地提高他们对C语言学习的好奇和渴望。同时也是为他们的专业课程学习做好铺垫。
2)我能学好吗?
由于我国一些农村中学计算机教学的局限,一些新生在看到其他有些同学具备较为熟练的计算机操作能力可能会产生焦虑情绪。这时,教师在课堂举例时,应当多举浅显易懂的例子。兴趣是最好的老师。C语言教学不是数学学习,不应该拿复杂的公式编程来使学生望而生畏。例如:如果要使学生熟悉条件语言、循环语句的使用,用最简单的数学四则运算举例即可。不要让学生把注意力过多地放在数学背景上。
3)考试怎么考?
关注自己的成绩是每个学生的权利,作为老师也有义务向学生讲述考试的题型和方式。在这里,我们的经验是鼓励学生多看其他的讲授C语言的书籍。大学不像中学,由于知识的经典性,中学的教材一般是统一的。而大学教材则体现了不同专业,不同编者的个性风格。在这里,我们希望学生能汲取各家之长。如果某个知识点在一本教材里没有看懂,那么就试图去另外一本教材里去找找。这种做法另一个好处是破除了学生对知识会一成不变的迷信。让学生明白:知识是不断发展的,必须不断学习才能不断地充实自己。
4)今后还会用到吗?
在中学,虽然每个学期所学的知识在不断的变化,但课程名却总是那么几个。但是在大学,课程名会随着所学内容的变化在不断地更新。如果说新生对大一的英语、数学、政治理论等课程名还似曾相识的话,那么面对高年级的一堆陌生的课程名就有点迷茫了。面对这个问题,我们可以在讲授C语言各个章节时用适当的时间举例讲授一下该部分内容在未来的哪些课程里面会有所涉及。通过这样的讲述,学生不但从感性上认识了将来要学习的课程的一些特点,也更进一步加深了对目前学的C语言的理解。
1.2 注重论述C语言和其他课程的相关性
作为自动化专业的一门课程,C语言既是整个自动化专业课程体系的一部分,同时也是一个贯穿专业学习始终的工具。我们在讲授C语言时,没有将它与其他课程割裂开来,而是时而不时有目的地贯输了C语言如何在其他的知识领域中的一些应用。在这里所需要指出的的,或许有老师认为对新生谈及一些专业课内容可能会使他们无所适从(因为他们尚无太多的专业基础)。就我们的实践经验来看,这种担心没有太多必要。现在大部分学生的自学能力和理解能力较过去已大大增强,而且目前高校给予学生的专业熏陶较之过去也已不可同日而语。新生完全有能力理解老师所讲的一些简易的专业内容。现举一些C语言与其他专业课结合的例子如下:
《数字电子技术》的一个基础内容是与门、或门、非门等逻辑门电路的讲解。而这部分内容又恰好对应了C语言中的与、或、非三种逻辑运算。我们在讲授C语言逻辑运算的同时也介绍了该部分内容与《数字电子技术》内容的吻合性。同时,电子技术中又涉及到数/模、模/数的转化问题。我们在讲循环语句时就要求学生尝试编一个十进制数和二进制数转化的程序(其算法在更早的《大学计算机基础》课程里就已经讲授到)。使学生对硬件逻辑和软件逻辑的概念具有了直观的概念。
计算机控制的一个特点在于它控制指令的离散性。《计算机控制》课程中一个很重要的知识点是控制量的递推运算。我们在讲述一维数组时有意识地强化了数组元素的递推编程。并且通过设置标志位,对某些具有特定意义的元素进行了定位标示。使学生在今后接触到相关课程时感到有章可循。
《微型计算机原理》是自动化专业中一门重要课程。在这门课程中,指令地址的概念是一个较难理解的问题。我们在讲C语言的指针部分时有意识地涉及到了该部分内容。试图通过讲述指针为今后学习指令寻址打下基础,反之,也试图通过介绍指令地址,使学生明确指针一节的地位和重要性。
作为一门工具性与理论性兼备的课程,《数据库技术》里面的内容较为繁杂。在讲述结构体这一章时,我们有意识地介绍了数据库的基本组成思想。要求学生用结构体知识编一个小型的数据管理程序。任务虽然简单,但已经涉及到了数据库组成的主干思想。使学生对这门课程不再神秘。
MATLAB语言的讲授是《计算机仿真技术》课程的骨干内容。考虑到仿真技术对于自动化专业的重要性,我们在讲授C语言语句的同时,也适量介绍了它在MATLAB语言中所对应的代码。这样做的目的是为学生破除“世界上只有C语言”这一误解。为他们更好地理解程序员的含义打下基础。
通过诸如此类内容的引入,学生学习C语言不再感到单一乏味。同时,由于我们对相关内容点到为止,并没有增加学生的负担。而当学生将来接触到对应的知识点时,就会享受到以前学习的基础了。
2 教学案例分析
本节就我们讲述C语言时的相关案例进行探讨。意图抛砖引玉,进一步完善C语言教学。如前所述,兴趣是最好的老师。如果学生有了学习的兴趣,自然教学会事半功倍。因此,我们将兴趣的培养贯穿了C语言教学的始终。
计算机编程的一个核心思想之一是通过不断循环执行一些简单的语句来实现对目标的搜索,并且在搜索的过程中需要判断搜索的终止条件是否已经达到。因而条件语句和循环语句的教学是C语言教学的一项重点内容。为了培养学生的兴趣,结合学生理工科的专业背景,我们在教学中引入了不少数论名题作为例子,要求学生编程予以验证。例如:3x+1猜想是一个很有趣的问题[6]。这个猜想是:任意给一个自然数,如果它是偶数,则除以2;如果它是奇数,则乘以3再加上1.所得结果再按如上规则进行运算,最终结果一定是1.例如,对数字7,其后续的运算结果是;22,11,34,17,52,26,13,40,20,20,5,16,8,4,2,1.针对这个问题,我们要求学生用条件语句判断数字的奇偶性,然后用循环语句实现这个数列的计算。更推广一步,我们还要求学生用随机数发生器生成一个随机整数,然后分别用while循环和do-while循环来实现这个过程,并且要学生记录下达到1时一共产生了几个数?如何实现到1就退出循环?在这一循环过程中的最大值是多少?由于3x+1问题的浅显易懂,且因为其尚未得到证明所具有强大挑战性,使学生对编程产生了浓厚的兴趣。不少学生纷纷试图去验证自己所提出的数的正确性。还有学生则试图进一步通过函数调用的方式来改善程序。也有学生在程序中插入了各种有趣的提示性语句。这个例子的提出,满足了不同层次学生的不同要求。一下子就把他们带进了丰富多彩的代码世界中。
输入输出语句的编写是人机交互的关键环节。总所周知,英语学习是我国广大大中学生学习的一个主要课程。几乎所有的大专院校都把学生能否通过某种英语水平考试作为其能否顺利毕业的核心条件之一。我们也注意到个别学生由于担心英语的压力而在课堂上记忆英语单词。对此,我们采用了引导的办法。在针对3x+1问题编程的训练中,我们要求学生用英文写出对应代码的提示和答案。在此之前,不少学生是用汉语拼音或简单的“yes”、“no”,甚至仅是“?”来表示问题的。通过我们的这一要求,学生积极地去寻求许多词汇的英文表述。这样一来,他们希望看懂C语言编译器所给出的英文错误提示的热情也越来越高了。通过这样的训练,有些学生开始渐渐能尝试看一些关于C语言的英文著作了。如此不断循环,学生的计算机能力、英语能力都得到了提高,应该说是实现了双赢。
3 结束语
计算机语言的教学工作是工科专业教学的一个重点环节。科技发展的客观要求使得我们更加重视教学课程的一体化。作为一门在专业学习初期阶段开设的课程,C语言有它自身的一些教学特点。我们在总结自己的一些教学经验的基础上,试图更好地将C语言这个工具融入到学生的整个专业学习体系中。让学生从享受编程的快乐开始,无形中回答了自己前期的一些疑惑,同时也不知不觉地为将来的其他课程学习以及自己专业素质的培养打下了良好的基础。
参考文献:
[1] 谢宝荣.计算机教学设计艺术[M].清华大学出版社,2007.
[2] 陈国良,董荣胜.计算思维与大学计算机基础教育[J].中国大学教学,2011(1):7-12.
[3] 冯博琴.计算机基础教育新阶段的教学改革研究[J].中国大学教育,2004(9):7-10.
[4] 王鹏远,苏虹.高校非计算机专业C语言教学改革与实践[J].计算机教育,2011(2):15-18.