APP下载

C++课程中思维导图的应用探索

2016-12-10何海棠文万志陈森博

无线互联科技 2016年22期
关键词:计算机专业程序设计导图

何海棠,文万志,丁 浩,陈森博

(南通大学 计算机科学与技术学院,江苏 南通 226019)

C++课程中思维导图的应用探索

何海棠,文万志,丁 浩,陈森博

(南通大学 计算机科学与技术学院,江苏 南通 226019)

通过分析目前C++课程中教师教学与学生学习中普遍存在的问题,文章提出在课程中引入思维导图的教学方法改革,有效提升学生学习C++课程的积极性,培养学生创新思维和创新能力。

C++;思维导图;创新思维;教学改革

在最新的2016年10月的TIOBE编程语言排行榜中,C++语言仍然处于排名第3的位置并呈上升趋势。C++语言[1-2]以其通用性极强、支持多种编程范式、执行高效及与“数据结构”“操作系统”等课程密切相关等特点,成为很多高校计算机专业学生的专业基础必修课程;同时,随着信息技术的发展,当代大学生学习一门程序设计语言,具有一定的程序设计思想的需求越来越迫切,C++语言以其基础性、严谨性、简洁性成为许多高校非计算机专业开设的程序设计类课程的有效选择。在南通大学,在计算机专业开设有“程序设计基础与C++”,部分非计算机专业开设有“高级语言程序设计VC++”课程。

高等院校中程序设计类课程的教学研究一直是热点,C++课程由于其在计算机专业及非计算机专业中的基础性,其教学研究更是重点。理论知识点繁多、规则性强、关联度高,对学生的逻辑思维能力有一定的要求,使得该课程的教和学一直存在一定的困难,以南通大学计算机学院为例,在多年的教学实施过程中,为了提高教学效果及教学质量,针对该课程进行了一系列的研究和改革,包括改进教学方法、优化教学内容、调整考评规则、开展教材建设等,每一次的研究和改革均取得一定的成效,但授课对象的不断变化、教学要求的时代顺应性均促使针对该课程的教学研究与改革仍需要不断地进行,不断融入新思想、新方法。

1 现存问题

1.1 缺乏师生互动性

虽然在各类教学研究中不断地强调课堂互动的重要性,但在具体实施中往往存在各种障碍。教学内容多、学时紧,迫使教师在授课过程中往往更多地处于迎合授课计划、赶进度的状态,无暇停下来与学生一起互动,即使在追求改革的过程中牺牲时间进行互动,也容易由于学生基础掌握不牢靠、程序编写出错率高、调试能力不达标等原因造成冷场、自问自答。

1.2 缺乏关联性思考

C++课程的教学内容通常以线性方式进行,讲完面向过程的部分再讲面向对象的部分,而面向过程的部分又是逐渐从数据类型按部就班地过渡到函数、数组等,学生在学习的过程只是被动地学习每一个知识点,只见树木不见森林,对当前知识点的掌握尚且存在困难,更难于思考各知识点的应用场景,导致对已学知识点与当前知识点、当前知识点与未来知识点之间的关联性缺乏思考。

1.3 缺乏创新思维培养

创新思维是以原创的、新颖的方法解决问题的一种思维过程,是创造力的核心。授课及实践过程中,由于学生数目众多、作业提交频繁,教师更多地着重于已有的算法思路,对于“节外生枝”力不从心;而学生则由于课程的难学而怕出错、怕调试,囿于机械原样照搬,无力发掘自己的视角和方法。这从教和学的两方面均阻碍了创新思维的培养。

2 思维导图

思维导图(MindMap)由英国学者东尼·博赞[3]在20世纪60年代提出,是一种可视图表,一种整体思维工具。思维导图是用图表表现的发散性思维,其模拟脑细胞的突触和连接,用曲线、符号、词汇、颜色、图片围绕某一主题建构知识结构,在此过程中涉及形象思维和逻辑思维,有利于提高注意力、记忆力,并能促进联想力及创造力。思维导图可以手工绘制,亦可通过软件进行绘制。XMind,iMindMap,MindMeister,MindManager等均为常用的思维导图绘制软件,其中部分软件还可以实现思维导图的动态展示。

思维导图可以应用到所有认知功能领域,在国内教学领域的应用可以追溯到2000年,其第一次在“黑龙江科技信息”上被介绍并应用于教案编写,其后,其在教学领域的研究和应用越来越多,涉及学科教学设计、教学方法、知识管理领域等各个方面[4-5]。

程序设计语言是程序员与计算机间进行交互的媒介,程序员通过程序设计语言编写程序控制计算机的运行,而程序是程序员脑力活动的结晶,体现了程序员的思维模式。鉴于思维导图是将思维图形化的最佳工具,及多种便捷的思维导图绘制软件的存在,笔者研究在C++课程的教学中引入思维导图以期达到教学质量和教学效果的提高。

3 引入思维导图的教学实施及效果

3.1 保障师生思考频率的统一,促进师生互动

教学是一个互动过程,教的人需要把握在教什么,学的人需要明白在学什么,也就是教和学的双方需要最大化地保持在同一个思考频率上。只有在同一思考频率上,才有互动的可能与必要。C++课程作为一门教与学都存在很大难度的课程,如何实现这点极为重要。

图1是笔者在引入思维导图后给学生展示的课程说明。首先,丰富的色彩、多样的图形、粗细虚实不同的线条相较于文字更能吸引学生的注意力,这为师生共处在同一思考频率上提供了可能;其次,脉络分明、条理清晰的图示方式相较于枯燥文字的方式更为简单直观,一目了然地让学生明白自己与课程之间的关系,简化了原来学生从文字中获取数据到处理获得信息的过程,这为师生共处在同一思考频率上提供了保障;最后,最为重要的是,在以学生为中心、模仿学生的思考模式、以可视化工具动态展示思维导图的过程,实现了师生思考频率的统一,其最典型的表现为学生对已知的内容主动提出质疑和补充。在给非计算机专业的学生授课时,就有学生对课程展示部分“达到什么目标”提出疑问:除了通过等级考试,这门语言在专业里能有什么样的应用?学生提出这样的疑问后,很自然地把教学双方引到了共同探讨课程与学生所在专业之间内在联系的话题上,由于话题是学生自己主动提出的,因此在讨论的过程中,学生更乐于去主动地思考、完善答案,也因此而激发出学生对课程学习的兴趣。

图1 C++课程说明的思维导图

3.2 解决知识的关联性,提高了学习的兴趣

一门程序设计语言包括如何描述数据、如何控制流程、如何解决复杂问题等几个部分,因此从教学内容来说,要让学生学懂、学好一门语言,必须以这几个部分为基础,缺一不可,C++语言的教学自然也是如此。

在常规的教学模式中,为了避免知识点介绍的混乱,教师往往选定一本教材,然后顺序化地从第一章讲到最后一章,整个讲授过程以教为主,线性化进行,即忽视了学生的主观兴趣,又忽略了学生对知识需求的规律。在笔者的实践中,引入思维导图后,教学的整体内容虽然仍然是固定的,但在授课过程中却可以将不同部分的内容打散后重新组织,围绕大部分学生的思考习惯,从解决学生最想解决的问题开始入手,通过思维导图来建立各个知识点之间的联系、控制知识点的展开与略过。例如,初始接触C++课程,学生的第一思考是“怎么写出一个可执行的程序”,此时教师可以忽略知识的系统性,直接从实现一个两整数相加的顺序结构的程序入手,添加头文件、书写main函数、定义整型变量……一边实现一边通过思维导图来展示知识点的归属及相互间的联系,顺序结构是结构化程序设计的一部分、添加头文件属于模块化程序设计中编译预处理部分、整型是若干数据类型之一……实践证明,这样的方式即能让学生注意到知识点间的关联性,又避免了以往为了讲而讲的尴尬,并且真正吸引了学生,激发了他们的求知欲。

3.3 学习思维的图形化展示,促进创新思维的培养

大量有关创新思维的理论研究证明创新思维具有可培养性。培养创新思维需要从两个方面着手。一是培养读懂他人思维的能力。只有读懂了他人的思维,才有可能建立自己的视角、开辟自己的方法。二是培养创新意识[6]。创新意识本质上是一种心理取向,强调了个体在发现问题、解决问题过程中的主动性,是创新的出发点和内在动力,是创新思维的前提。在C++课程中引入思维导图,在培养创新思维的这两个方面均有利无弊。

以解决“输出所有的水仙花数”问题为例,图2为笔者授课时给出的思维导图展示。首先,图的右半部分简洁地呈现出解题过程中需要考虑的几个方面及他们的内在联系,是一种完整解题方案的实现,是教师有意识地提供给学生的既有思维的图形化呈现,供学生进行借鉴、研究。实际授课中,这种图形化的展示抛弃了文字的繁琐,简化了对他人思维的描述,使得学生掌握了一种读懂他们思维的方法,能够读懂,并能够在其他的问题中去模仿。其次,图的左半部分是为了培养学生创新意识的主动性而故意藏拙和留白。左、右两部分内容完整的差异性有利于激发学生的好奇心及补充完全的意识,已知的方案又迫使他们换角度思考、换方法试探。值得注意的是,在此过程中,教师需要放宽对创新的理解,只要学生提出的见解是目前未讨论、未涉及的就可被认可。

图2 求解水仙花数的思维导图

4 结语

实践证明,无论是面对计算机专业的学生,还是面对非计算机专业的学生,引入思维导图教学,从大部分学生思考的角度组织教学,吸引了学生的注意力,调动了学生的主动性,促进了课堂的互动性,提高了学生的动手能力,同时,也为培养学生的创新思维能力提供了一定的基础。然而,目前的研究还主要侧重于教师的角度,在教的过程中引入思维导图,在今后的研究中还需进一步从学的角度,收集学生在学习、解题过程中优秀的思维导图,并进行展示和对比分析,借此真正促进学生相互取长补短、共同进步。

[1]STEPHEN P.C++ Primer Plus[M].6版.孙建春,韦强,译.北京:人民邮电出版社,2012.

[2]刘维富,陈建平,葛建芳. C++程序设计实践教程[M].北京:清华大学出版社,2007.

[3]东尼·博赞,巴利·博赞.思维导图[M].北京:化学工业出版社,2015.

[4]刘晓宁.我国思维导图研究综述[J].四川教育学院学报,2009(5):109-111.

[5]刘利.实例演示思维导图可视化编程思维的教学[J].计算机教育,2014(8):83-86.

[6]汤铭.促进学生“创新思维”发展的思维导图教学研究[D].上海:上海师范大学,2006.

Application of mind map in C++ course

He Haitang, Wen Wanzhi, Ding Hao, Chen Senbo
(Computer Science and Technology College of Nantong University, Nantong 226019, China)

Through the analysis of common problems in the course of C++ of teachers’teaching and students’learning problems,the article puts forward reform of the teaching method of introducing mind map in the course, to enhance the enthusiasm of students learning C++ curriculum, and cultivate students’ innovative thinking and ability.

C++; mind map; innovative thinking; teaching reform

南通大学教学改革项目;项目编号:2015B57。

何海棠(1981— ),女,江苏盐城,硕士,讲师,教师;研究方向:计算机编程,计算机教学改革。

猜你喜欢

计算机专业程序设计导图
烃思维导图
借思维导图算24点
“以赛促学,以赛促教”促进计算机专业教学理念创新与实践研究
角的再认识思维导图
基于Visual Studio Code的C语言程序设计实践教学探索
从细节入手,谈PLC程序设计技巧
高职高专院校C语言程序设计教学改革探索
职业高中计算机专业教学改革浅析
PLC梯形图程序设计技巧及应用
非计算机专业C语言教学探讨