何海棠,文萬志,丁 浩,陳森博
(南通大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 南通 226019)
C++課程中思維導(dǎo)圖的應(yīng)用探索
何海棠,文萬志,丁 浩,陳森博
(南通大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 南通 226019)
通過分析目前C++課程中教師教學(xué)與學(xué)生學(xué)習(xí)中普遍存在的問題,文章提出在課程中引入思維導(dǎo)圖的教學(xué)方法改革,有效提升學(xué)生學(xué)習(xí)C++課程的積極性,培養(yǎng)學(xué)生創(chuàng)新思維和創(chuàng)新能力。
C++;思維導(dǎo)圖;創(chuàng)新思維;教學(xué)改革
在最新的2016年10月的TIOBE編程語言排行榜中,C++語言仍然處于排名第3的位置并呈上升趨勢。C++語言[1-2]以其通用性極強(qiáng)、支持多種編程范式、執(zhí)行高效及與“數(shù)據(jù)結(jié)構(gòu)”“操作系統(tǒng)”等課程密切相關(guān)等特點(diǎn),成為很多高校計(jì)算機(jī)專業(yè)學(xué)生的專業(yè)基礎(chǔ)必修課程;同時(shí),隨著信息技術(shù)的發(fā)展,當(dāng)代大學(xué)生學(xué)習(xí)一門程序設(shè)計(jì)語言,具有一定的程序設(shè)計(jì)思想的需求越來越迫切,C++語言以其基礎(chǔ)性、嚴(yán)謹(jǐn)性、簡潔性成為許多高校非計(jì)算機(jī)專業(yè)開設(shè)的程序設(shè)計(jì)類課程的有效選擇。在南通大學(xué),在計(jì)算機(jī)專業(yè)開設(shè)有“程序設(shè)計(jì)基礎(chǔ)與C++”,部分非計(jì)算機(jī)專業(yè)開設(shè)有“高級(jí)語言程序設(shè)計(jì)VC++”課程。
高等院校中程序設(shè)計(jì)類課程的教學(xué)研究一直是熱點(diǎn),C++課程由于其在計(jì)算機(jī)專業(yè)及非計(jì)算機(jī)專業(yè)中的基礎(chǔ)性,其教學(xué)研究更是重點(diǎn)。理論知識(shí)點(diǎn)繁多、規(guī)則性強(qiáng)、關(guān)聯(lián)度高,對(duì)學(xué)生的邏輯思維能力有一定的要求,使得該課程的教和學(xué)一直存在一定的困難,以南通大學(xué)計(jì)算機(jī)學(xué)院為例,在多年的教學(xué)實(shí)施過程中,為了提高教學(xué)效果及教學(xué)質(zhì)量,針對(duì)該課程進(jìn)行了一系列的研究和改革,包括改進(jìn)教學(xué)方法、優(yōu)化教學(xué)內(nèi)容、調(diào)整考評(píng)規(guī)則、開展教材建設(shè)等,每一次的研究和改革均取得一定的成效,但授課對(duì)象的不斷變化、教學(xué)要求的時(shí)代順應(yīng)性均促使針對(duì)該課程的教學(xué)研究與改革仍需要不斷地進(jìn)行,不斷融入新思想、新方法。
1.1 缺乏師生互動(dòng)性
雖然在各類教學(xué)研究中不斷地強(qiáng)調(diào)課堂互動(dòng)的重要性,但在具體實(shí)施中往往存在各種障礙。教學(xué)內(nèi)容多、學(xué)時(shí)緊,迫使教師在授課過程中往往更多地處于迎合授課計(jì)劃、趕進(jìn)度的狀態(tài),無暇停下來與學(xué)生一起互動(dòng),即使在追求改革的過程中犧牲時(shí)間進(jìn)行互動(dòng),也容易由于學(xué)生基礎(chǔ)掌握不牢靠、程序編寫出錯(cuò)率高、調(diào)試能力不達(dá)標(biāo)等原因造成冷場、自問自答。
1.2 缺乏關(guān)聯(lián)性思考
C++課程的教學(xué)內(nèi)容通常以線性方式進(jìn)行,講完面向過程的部分再講面向?qū)ο蟮牟糠?,而面向過程的部分又是逐漸從數(shù)據(jù)類型按部就班地過渡到函數(shù)、數(shù)組等,學(xué)生在學(xué)習(xí)的過程只是被動(dòng)地學(xué)習(xí)每一個(gè)知識(shí)點(diǎn),只見樹木不見森林,對(duì)當(dāng)前知識(shí)點(diǎn)的掌握尚且存在困難,更難于思考各知識(shí)點(diǎn)的應(yīng)用場景,導(dǎo)致對(duì)已學(xué)知識(shí)點(diǎn)與當(dāng)前知識(shí)點(diǎn)、當(dāng)前知識(shí)點(diǎn)與未來知識(shí)點(diǎn)之間的關(guān)聯(lián)性缺乏思考。
1.3 缺乏創(chuàng)新思維培養(yǎng)
創(chuàng)新思維是以原創(chuàng)的、新穎的方法解決問題的一種思維過程,是創(chuàng)造力的核心。授課及實(shí)踐過程中,由于學(xué)生數(shù)目眾多、作業(yè)提交頻繁,教師更多地著重于已有的算法思路,對(duì)于“節(jié)外生枝”力不從心;而學(xué)生則由于課程的難學(xué)而怕出錯(cuò)、怕調(diào)試,囿于機(jī)械原樣照搬,無力發(fā)掘自己的視角和方法。這從教和學(xué)的兩方面均阻礙了創(chuàng)新思維的培養(yǎng)。
思維導(dǎo)圖(MindMap)由英國學(xué)者東尼·博贊[3]在20世紀(jì)60年代提出,是一種可視圖表,一種整體思維工具。思維導(dǎo)圖是用圖表表現(xiàn)的發(fā)散性思維,其模擬腦細(xì)胞的突觸和連接,用曲線、符號(hào)、詞匯、顏色、圖片圍繞某一主題建構(gòu)知識(shí)結(jié)構(gòu),在此過程中涉及形象思維和邏輯思維,有利于提高注意力、記憶力,并能促進(jìn)聯(lián)想力及創(chuàng)造力。思維導(dǎo)圖可以手工繪制,亦可通過軟件進(jìn)行繪制。XMind,iMindMap,MindMeister,MindManager等均為常用的思維導(dǎo)圖繪制軟件,其中部分軟件還可以實(shí)現(xiàn)思維導(dǎo)圖的動(dòng)態(tài)展示。
思維導(dǎo)圖可以應(yīng)用到所有認(rèn)知功能領(lǐng)域,在國內(nèi)教學(xué)領(lǐng)域的應(yīng)用可以追溯到2000年,其第一次在“黑龍江科技信息”上被介紹并應(yīng)用于教案編寫,其后,其在教學(xué)領(lǐng)域的研究和應(yīng)用越來越多,涉及學(xué)科教學(xué)設(shè)計(jì)、教學(xué)方法、知識(shí)管理領(lǐng)域等各個(gè)方面[4-5]。
程序設(shè)計(jì)語言是程序員與計(jì)算機(jī)間進(jìn)行交互的媒介,程序員通過程序設(shè)計(jì)語言編寫程序控制計(jì)算機(jī)的運(yùn)行,而程序是程序員腦力活動(dòng)的結(jié)晶,體現(xiàn)了程序員的思維模式。鑒于思維導(dǎo)圖是將思維圖形化的最佳工具,及多種便捷的思維導(dǎo)圖繪制軟件的存在,筆者研究在C++課程的教學(xué)中引入思維導(dǎo)圖以期達(dá)到教學(xué)質(zhì)量和教學(xué)效果的提高。
3.1 保障師生思考頻率的統(tǒng)一,促進(jìn)師生互動(dòng)
教學(xué)是一個(gè)互動(dòng)過程,教的人需要把握在教什么,學(xué)的人需要明白在學(xué)什么,也就是教和學(xué)的雙方需要最大化地保持在同一個(gè)思考頻率上。只有在同一思考頻率上,才有互動(dòng)的可能與必要。C++課程作為一門教與學(xué)都存在很大難度的課程,如何實(shí)現(xiàn)這點(diǎn)極為重要。
圖1是筆者在引入思維導(dǎo)圖后給學(xué)生展示的課程說明。首先,豐富的色彩、多樣的圖形、粗細(xì)虛實(shí)不同的線條相較于文字更能吸引學(xué)生的注意力,這為師生共處在同一思考頻率上提供了可能;其次,脈絡(luò)分明、條理清晰的圖示方式相較于枯燥文字的方式更為簡單直觀,一目了然地讓學(xué)生明白自己與課程之間的關(guān)系,簡化了原來學(xué)生從文字中獲取數(shù)據(jù)到處理獲得信息的過程,這為師生共處在同一思考頻率上提供了保障;最后,最為重要的是,在以學(xué)生為中心、模仿學(xué)生的思考模式、以可視化工具動(dòng)態(tài)展示思維導(dǎo)圖的過程,實(shí)現(xiàn)了師生思考頻率的統(tǒng)一,其最典型的表現(xiàn)為學(xué)生對(duì)已知的內(nèi)容主動(dòng)提出質(zhì)疑和補(bǔ)充。在給非計(jì)算機(jī)專業(yè)的學(xué)生授課時(shí),就有學(xué)生對(duì)課程展示部分“達(dá)到什么目標(biāo)”提出疑問:除了通過等級(jí)考試,這門語言在專業(yè)里能有什么樣的應(yīng)用?學(xué)生提出這樣的疑問后,很自然地把教學(xué)雙方引到了共同探討課程與學(xué)生所在專業(yè)之間內(nèi)在聯(lián)系的話題上,由于話題是學(xué)生自己主動(dòng)提出的,因此在討論的過程中,學(xué)生更樂于去主動(dòng)地思考、完善答案,也因此而激發(fā)出學(xué)生對(duì)課程學(xué)習(xí)的興趣。
圖1 C++課程說明的思維導(dǎo)圖
3.2 解決知識(shí)的關(guān)聯(lián)性,提高了學(xué)習(xí)的興趣
一門程序設(shè)計(jì)語言包括如何描述數(shù)據(jù)、如何控制流程、如何解決復(fù)雜問題等幾個(gè)部分,因此從教學(xué)內(nèi)容來說,要讓學(xué)生學(xué)懂、學(xué)好一門語言,必須以這幾個(gè)部分為基礎(chǔ),缺一不可,C++語言的教學(xué)自然也是如此。
在常規(guī)的教學(xué)模式中,為了避免知識(shí)點(diǎn)介紹的混亂,教師往往選定一本教材,然后順序化地從第一章講到最后一章,整個(gè)講授過程以教為主,線性化進(jìn)行,即忽視了學(xué)生的主觀興趣,又忽略了學(xué)生對(duì)知識(shí)需求的規(guī)律。在筆者的實(shí)踐中,引入思維導(dǎo)圖后,教學(xué)的整體內(nèi)容雖然仍然是固定的,但在授課過程中卻可以將不同部分的內(nèi)容打散后重新組織,圍繞大部分學(xué)生的思考習(xí)慣,從解決學(xué)生最想解決的問題開始入手,通過思維導(dǎo)圖來建立各個(gè)知識(shí)點(diǎn)之間的聯(lián)系、控制知識(shí)點(diǎn)的展開與略過。例如,初始接觸C++課程,學(xué)生的第一思考是“怎么寫出一個(gè)可執(zhí)行的程序”,此時(shí)教師可以忽略知識(shí)的系統(tǒng)性,直接從實(shí)現(xiàn)一個(gè)兩整數(shù)相加的順序結(jié)構(gòu)的程序入手,添加頭文件、書寫main函數(shù)、定義整型變量……一邊實(shí)現(xiàn)一邊通過思維導(dǎo)圖來展示知識(shí)點(diǎn)的歸屬及相互間的聯(lián)系,順序結(jié)構(gòu)是結(jié)構(gòu)化程序設(shè)計(jì)的一部分、添加頭文件屬于模塊化程序設(shè)計(jì)中編譯預(yù)處理部分、整型是若干數(shù)據(jù)類型之一……實(shí)踐證明,這樣的方式即能讓學(xué)生注意到知識(shí)點(diǎn)間的關(guān)聯(lián)性,又避免了以往為了講而講的尷尬,并且真正吸引了學(xué)生,激發(fā)了他們的求知欲。
3.3 學(xué)習(xí)思維的圖形化展示,促進(jìn)創(chuàng)新思維的培養(yǎng)
大量有關(guān)創(chuàng)新思維的理論研究證明創(chuàng)新思維具有可培養(yǎng)性。培養(yǎng)創(chuàng)新思維需要從兩個(gè)方面著手。一是培養(yǎng)讀懂他人思維的能力。只有讀懂了他人的思維,才有可能建立自己的視角、開辟自己的方法。二是培養(yǎng)創(chuàng)新意識(shí)[6]。創(chuàng)新意識(shí)本質(zhì)上是一種心理取向,強(qiáng)調(diào)了個(gè)體在發(fā)現(xiàn)問題、解決問題過程中的主動(dòng)性,是創(chuàng)新的出發(fā)點(diǎn)和內(nèi)在動(dòng)力,是創(chuàng)新思維的前提。在C++課程中引入思維導(dǎo)圖,在培養(yǎng)創(chuàng)新思維的這兩個(gè)方面均有利無弊。
以解決“輸出所有的水仙花數(shù)”問題為例,圖2為筆者授課時(shí)給出的思維導(dǎo)圖展示。首先,圖的右半部分簡潔地呈現(xiàn)出解題過程中需要考慮的幾個(gè)方面及他們的內(nèi)在聯(lián)系,是一種完整解題方案的實(shí)現(xiàn),是教師有意識(shí)地提供給學(xué)生的既有思維的圖形化呈現(xiàn),供學(xué)生進(jìn)行借鑒、研究。實(shí)際授課中,這種圖形化的展示拋棄了文字的繁瑣,簡化了對(duì)他人思維的描述,使得學(xué)生掌握了一種讀懂他們思維的方法,能夠讀懂,并能夠在其他的問題中去模仿。其次,圖的左半部分是為了培養(yǎng)學(xué)生創(chuàng)新意識(shí)的主動(dòng)性而故意藏拙和留白。左、右兩部分內(nèi)容完整的差異性有利于激發(fā)學(xué)生的好奇心及補(bǔ)充完全的意識(shí),已知的方案又迫使他們換角度思考、換方法試探。值得注意的是,在此過程中,教師需要放寬對(duì)創(chuàng)新的理解,只要學(xué)生提出的見解是目前未討論、未涉及的就可被認(rèn)可。
圖2 求解水仙花數(shù)的思維導(dǎo)圖
實(shí)踐證明,無論是面對(duì)計(jì)算機(jī)專業(yè)的學(xué)生,還是面對(duì)非計(jì)算機(jī)專業(yè)的學(xué)生,引入思維導(dǎo)圖教學(xué),從大部分學(xué)生思考的角度組織教學(xué),吸引了學(xué)生的注意力,調(diào)動(dòng)了學(xué)生的主動(dòng)性,促進(jìn)了課堂的互動(dòng)性,提高了學(xué)生的動(dòng)手能力,同時(shí),也為培養(yǎng)學(xué)生的創(chuàng)新思維能力提供了一定的基礎(chǔ)。然而,目前的研究還主要側(cè)重于教師的角度,在教的過程中引入思維導(dǎo)圖,在今后的研究中還需進(jìn)一步從學(xué)的角度,收集學(xué)生在學(xué)習(xí)、解題過程中優(yōu)秀的思維導(dǎo)圖,并進(jìn)行展示和對(duì)比分析,借此真正促進(jìn)學(xué)生相互取長補(bǔ)短、共同進(jìn)步。
[1]STEPHEN P.C++ Primer Plus[M].6版.孫建春,韋強(qiáng),譯.北京:人民郵電出版社,2012.
[2]劉維富,陳建平,葛建芳. C++程序設(shè)計(jì)實(shí)踐教程[M].北京:清華大學(xué)出版社,2007.
[3]東尼·博贊,巴利·博贊.思維導(dǎo)圖[M].北京:化學(xué)工業(yè)出版社,2015.
[4]劉曉寧.我國思維導(dǎo)圖研究綜述[J].四川教育學(xué)院學(xué)報(bào),2009(5):109-111.
[5]劉利.實(shí)例演示思維導(dǎo)圖可視化編程思維的教學(xué)[J].計(jì)算機(jī)教育,2014(8):83-86.
[6]湯銘.促進(jìn)學(xué)生“創(chuàng)新思維”發(fā)展的思維導(dǎo)圖教學(xué)研究[D].上海:上海師范大學(xué),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
南通大學(xué)教學(xué)改革項(xiàng)目;項(xiàng)目編號(hào):2015B57。
何海棠(1981— ),女,江蘇鹽城,碩士,講師,教師;研究方向:計(jì)算機(jī)編程,計(jì)算機(jī)教學(xué)改革。