摘要:本文分析了KM教學法的設計思想,通過把握“C程序設計”課程知識及其認知規(guī)律,提出“C程序設計”課程的KM教學機制,將其知識內容按邏輯結構化,經由思維演繹得到反映知識宏觀、微觀聯系的邏輯思維圖。這種“薄—厚—薄”的教學講解過程,使得“C程序設計”知識邏輯銜接緊密,便于學生抓住深層次知識,達到高效的教學目的。
關鍵詞:知識邏輯結構圖;思維導圖;KM教學法;C程序設計
教學方法是教員為完成教學任務所采用的手段,對教學目的的實現具有重要意義。在確定了教學目的,有了相應的教學內容之后,為了取得預期的教學效果,就必須采用適當的教學方法。教學方法要與學員的認識規(guī)律相適應,要與訓練指導思想和教學原則相適應。因此,教育工作者在教學方法上作了大量的改革和創(chuàng)新,比如已有的問題教學法[1]、任務驅動法[2]、專題式教學、引導發(fā)現教學法以及KM教學法[3]等。其中,KM教學法符合教學方法賴以存在和發(fā)展的認知機理,能夠系統而有重點地組織教學內容,符合學習思維的邏輯認知過程,它貫穿于教學的主要環(huán)節(jié),具有實用性和通用性。
1KM教學法的思想
KM是指在“知識邏輯結構”(Knowledge Logic Structure)的總體架構下融入“思維導圖”(Mind Mapping)進行微觀演繹。知識邏輯結構(K)是通過知識邏輯結構圖的形式給出所論知識系統的總體框架,表示了其中各知識子系統間的內在聯系,是從宏觀層面而論的,而思維導圖(M)則是從微觀層面揭示了知識子系統中思維過程的一種自然導向的表達。
在教學過程中,先講框架或結構,把課本知識變“薄”,使得學生對所學知識全貌一目了然,有一個
宏觀的認識,并且很容易理清知識總體條理;然后在框架中填充知識,也就是把課本知識變“厚”,而在介紹微觀知識的過程中,借助思維導向啟發(fā)學生對知識進行逐層深入的研究;最后再把填充知識概括起來,即把知識變“薄”回到主框架中,使得學生加深對知識的理解和掌握以便進入下一部分知識。從而形成以知識邏輯結構為主體貫穿、將思維導圖融入進去的一種綜合集成、多層次遞階的知識認知系統,完全符合學生學習和認知事物的科學規(guī)律。
2“C程序設計”課程的KM教學法
“C程序設計”課程是計算機專業(yè)及相關專業(yè)中重要的一門程序設計基礎課程,在人才培養(yǎng)中占有戰(zhàn)略性的地位和作用。學習C語言編程的一般方法和步驟,可以使學生掌握傳統的結構化程序設計的一般方法,培養(yǎng)學生嚴謹的程序設計思想、靈活的思維方式及較強的動手能力,并以此為基礎,讓學生逐漸掌握復雜軟件的設計和開發(fā)手段,為后續(xù)專業(yè)課程的學習打下扎實的理論和實踐基礎。因此,“C程序設計”還是一門邏輯性很強、思維很靈活的課程,適用于KM教學法。
2.1“C程序設計”課程的邏輯思維過程
“C程序設計”的關鍵是掌握結構化程序設計的
基金項目:中國高等教育學會“十一五”教育科學研究規(guī)劃重點課題“研究生教育創(chuàng)新工程中KM教學方法論系統的研究”(2006[28]06AIJ0010007)。
作者簡介:張?zhí)壹t,女,江蘇句容人,副教授,碩士生導師,博士,研究方向為計算機仿真與計算機集成。
思路。任何一個C語言程序都可以看作由4個步驟組成:定義數據、輸入數據、計算數據、輸出數據。
定義數據就是要定義數據存儲的結構,在C語言中有最初的基本數據類型(int、float、double等);為了便于存儲有序的數據集合,提出了數組的概念;更高層次數據結構還有指針、結構體和共用體。
有了數據的定義,才可以輸入數據。從基本的直接賦值輸入及調用基本輸入函數scanf的格式化輸入方法,到數組的輸入方法特別是其中字符數組的輸入,最后還有從文件中輸入數據。
計算數據是關鍵、核心、難點。要實現合理的計算,必須采用恰當地結構控制(順序、選擇、循環(huán))。具體語句的書寫,最常用的是由運算符和表達式組成的表達式語句;還可以把處理數據的過程交給一個子程序(函數),通過函數調用的形式來完成;還有位運算方法。
輸出數據方法與輸入數據方法相對應,這里不再累述。
“C程序設計”的整個知識內容通過概括所有知識點而得。以譚浩強老師主編,清華大學出版社出版的《C程序設計(第三版)》[4]為例,書中第一、二章為概述;從第三章的數據類型、運算符和表達式到第四、五、六章的順序、選擇、循環(huán)控制結構,完成了第一層次初級程序設計;第七章的數組、第八章的函數、第九章的預處理命令為第二層次較高級的程序設計;高級程序設計涉及到了第十章的指針、第十一章的結構體和共用體、第十二章的位運算以及第十三章的文件操作。這樣就把知識經縱向與橫向的剖析,將知識要點按初學者到高級程序員分成3個階層(見圖1所示),學習者根據所處的階層有目的、有針對地學習知識,避免貪多嚼不爛而導致的學習混亂。每個階層的學習都以數據結構加算法為指導思想,從而將“C程序設計”課程從淺層次的語法學習上升到強實踐性帶有算法思想的程序設計。
從圖1可以歸納出著名計算機科學家沃思提出的一個公式:程序=數據結構+算法。由此看見,KM教學指導下的C程序設計邏輯思維圖符合計算機程序設計的認知規(guī)律,是一種科學的教學方法。
2.2“C程序設計”課程的KM教學方法
在教學方法上,采用“薄—厚—薄”的教學思路,邏輯銜接地、有側重點地講授知識。具體而言,首先給出知識的總體架構,然后按照思維導向實施啟發(fā)式教學,邏輯銜接地把知識鋪展開來,最后給出相應思考題目供學生練習并對知識進行總結。
就數組知識這部分,如圖2所示,首先向學生講明數組的學習就3點內容:數組定義、引用、輸入和輸出。數組分為一維數組、二維數組及字符數組3種,然后就每一部分數組的知識點進行詳細講解。以一維字符數組為例,因為字符數組中每個數組元素為字符型,由一維數組的定義可以聯想到定義字符數組時只需要把數組類型改為char即可。
圖1C程序設計課程知識的邏輯思維圖
同樣在引用字符數組元素時,數組下標是從0到數組長度減1。同理,采用數組最基本的輸入方法用scanf語句,只是格式控制是%c;然而這種方法一次只能接受一個字符,而且需要循環(huán)控制輸入;能否一次接受一串字符呢?由此引入了scanf的%s格式控制語句,但用%s輸入中會存在遇空格結束的情況,gets(字符數組名)輸入方法則可以一次接受一行包括空格在內的任意字符,強調后兩種方法是應用重點并能夠進行區(qū)別。教師可以采用這種提問、擴展、深入等思維誘導的方法很恰當地將知識內容融為一體,融入到整個邏輯結構中。最后再次概括總結,并給出一個例題讓學生獨立完成字符串的3種不同方式的輸入和輸出。
同理,可以把“C程序設計”課程的邏輯思維圖中各個知識環(huán)節(jié)按照數組邏輯思維圖的過程進行知識的組織、牽連和鋪展,由此形成了樹型結構。它包括一個根節(jié)點(課程邏輯思維圖)、多個子結點(各知識結點的邏輯思維圖),子結點下還可以生成子結點(知識子結點的邏輯思維圖)。
當然,KM教學法不是獨立的,它要配合其他教學手段、練習題目、作業(yè)及設計性題目等,通過多方面的支持讓學生積極參與以達到事半功倍的效果。
圖2C程序設計中數組知識的邏輯思維圖
3結語
教學的關鍵就是教授學生學習知識的思路及學習課程的方法。KM教學法就是一種便于抓住事物本質、高效掌握知識的符合認知規(guī)律的科學方法。本文
針對邏輯性較強的“C程序設計”課程,提出了“C程序設計”課程的KM教學法的具體思路,在知識邏輯結構的宏觀架構下融入思維導圖進行微觀演繹,將所有知識融為一體。教學實踐證明,這種方法對教學及學生學習都是非常有效的。
參考文獻:
[1] 呂偉. 應用問題教學法改革材料力學的課堂教學模式[J]. 力學與實踐,2001(2):64-65.
[2] 胡寧. 計算機教學中的任務驅動法[J]. 遼寧師專學報:自然科學版,2005(02):18-19.
[3] 楊炳儒,張?zhí)壹t. 理工科課堂KM教學法研究[J]. 現代大學教育,2006(4):83-85.
[4] 譚浩強. C程序設計[M]. 3版. 北京:清華大學出版社,2006.
The Research of KM Pedagogics in the Course “C Programming Design”
ZHANG Tao-hong1, PENG Zhen1,2, YANG Bing-ru1, XIE Yong-hong1
(1. Information Engineering School, University of Science and Technology, Beijing100083, China;
2. Computer Department, Northchina Institute of Science and Technology, Beijing101601, China)
Abstract: After analyzing the theory of KM pedagogics, the KM mechanism of “C Programming Design ”is put forward by absorbing the course knowledge and its cognizing rule. The knowledge content is constructed logicly, and deducted by thought. And the logic-mind-map is obtained showing the macrocosmic structure and microcosmic deduction. The knowledge of “C Programming Design” is joined compactly by this kind of “Thin-Thick-Thin” lecture process, and the deep knowledge is grasped firmly to improve the lecturing effect.
Key words: knowledge logic structure map; Mind mapping; KM pedagogics; C Programming Design
(編輯:姚彥如)