摘 要:本文針對(duì)大學(xué)生在C語言程序設(shè)計(jì)課程學(xué)習(xí)指針過程中存在的主要問題進(jìn)行了總結(jié)和分析。針對(duì)KM教學(xué)法在C語言指針教學(xué)中的應(yīng)用進(jìn)行了探討,事實(shí)證明這種教學(xué)方法取得了較好的效果,存在一定的推廣價(jià)值。
關(guān)鍵詞:C語言KM教學(xué)法指針
中圖分類號(hào):G420文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1674-098X(2011)06(a)-0190-01
教學(xué)方法是教師為完成教學(xué)任務(wù)所采用的手段,對(duì)教學(xué)目的的實(shí)現(xiàn)具有重要意義。在確定了教學(xué)目的,有了相應(yīng)的教學(xué)內(nèi)容之后,為了取得預(yù)期的教學(xué)效果,就必須采用適當(dāng)?shù)慕虒W(xué)方法。教學(xué)方法要與學(xué)生的認(rèn)識(shí)規(guī)律相適應(yīng),要與訓(xùn)練指導(dǎo)思想和教學(xué)原則相適應(yīng)。因此,教育工作者在教學(xué)方法上作了大量的改革和創(chuàng)新,如問題教學(xué)法[1]、任務(wù)驅(qū)動(dòng)法[2]、專題式教學(xué)、引導(dǎo)發(fā)現(xiàn)教學(xué)法、互動(dòng)教學(xué)法、問答式教學(xué)法以及KM教學(xué)法[3][4]等。其中,KM 教學(xué)法符合教學(xué)賴以存在和發(fā)展的認(rèn)知機(jī)理,能夠系統(tǒng)而有重點(diǎn)地組織教學(xué)內(nèi)容,符合學(xué)習(xí)思維的邏輯認(rèn)知過程,它貫穿于教學(xué)的主要環(huán)節(jié),具有實(shí)用性和通用性。
1 C語言指針
C語言因?yàn)槠涔δ軓?qiáng)大、使用靈活、可移植性好,幾乎成為了高校大學(xué)生必修的一門課程,在大學(xué)生計(jì)算機(jī)知識(shí)體系中有著重要的基礎(chǔ)性作用。
指針是C語言中非常重要的一種數(shù)據(jù)類型,也是C語言的一個(gè)重要特色,靈活掌握指針的用法是C語言使用能力的一個(gè)標(biāo)志。正確而靈活地運(yùn)用它可以有效地表示復(fù)雜的數(shù)據(jù)結(jié)構(gòu),能動(dòng)態(tài)地分配內(nèi)存。能直接處理內(nèi)存地址等,可以使程序簡(jiǎn)潔、緊湊、高效。這對(duì)軟件設(shè)計(jì)十分必要。但是指針概念比較復(fù)雜。應(yīng)用也比較靈活且容易出錯(cuò),學(xué)習(xí)者較難掌握,是C語言教學(xué)的難點(diǎn)。
特別對(duì)于初學(xué)者來說,指針通常比較難理解。而由指針錯(cuò)誤引起的調(diào)試問題連富有經(jīng)驗(yàn)的程序員都感到頭痛。然而,指針是大多數(shù)C語言程序的重要組成部分,在C語言的高級(jí)編程中基本都涉及到指針的應(yīng)用,而且在以后的許多C++程序中仍然受到重用。
2 KM教學(xué)法
KM是指在“知識(shí)邏輯結(jié)構(gòu)”(Knowledge Logic Structure)的總體架構(gòu)下融入“思維導(dǎo)圖”(Mind Mapping)進(jìn)行微觀演繹[4]。知識(shí)邏輯結(jié)構(gòu)(K)是通過知識(shí)邏輯結(jié)構(gòu)圖的形式給出所論知識(shí)系統(tǒng)的總體框架,表示了其中各知識(shí)子系統(tǒng)間的內(nèi)在聯(lián)系,是從宏觀層面而論的,而思維導(dǎo)圖(M)則是從微觀層面揭示了知識(shí)子系統(tǒng)中思維過程的一種自然導(dǎo)向的表達(dá)。
在教學(xué)實(shí)施過程中,先講邏輯結(jié)構(gòu)或知識(shí)框架,使得學(xué)生對(duì)所要學(xué)的知識(shí)全貌一目了然,有一個(gè)宏觀的認(rèn)識(shí),并且很容易理清知識(shí)總體條理;然后再在框架中填充知識(shí),是一個(gè)微觀學(xué)習(xí)的過程,而在介紹微觀知識(shí)的過程中,借助思維導(dǎo)向啟發(fā)學(xué)生對(duì)知識(shí)進(jìn)行逐層深入的研究;最后再把填充知識(shí)概括起來,重新回到主框架中,使得學(xué)生加深對(duì)知識(shí)的理解和掌握,以便進(jìn)入下一部分知識(shí)。從而形成以知識(shí)邏輯結(jié)構(gòu)為主體貫穿、將思維導(dǎo)圖融入進(jìn)去的一種綜合集成、多層次遞階的知識(shí)認(rèn)知系統(tǒng),完全符合學(xué)生學(xué)習(xí)和認(rèn)知事物的科學(xué)規(guī)律。
本文從KM教學(xué)法入手,介紹C語言程序設(shè)計(jì)中指針的知識(shí)邏輯結(jié)構(gòu)與框架,以及各知識(shí)點(diǎn)之間的內(nèi)在聯(lián)系,從而達(dá)到熟練應(yīng)用指針的目的。
3 應(yīng)用KM教學(xué)法的C語言指針教學(xué)
指針是C語言的重要組成部分,是C語言程序設(shè)計(jì)的難點(diǎn)之一。本文以清華大學(xué)出版社出版的C程序設(shè)計(jì)[5](第三版)為主,輔以程序設(shè)計(jì)中涉及到的其他指針部分,對(duì)指針涉及到的知識(shí)點(diǎn)進(jìn)行歸納總結(jié),設(shè)計(jì)了指針的邏輯思維圖,以整型(int)為例,假設(shè)已經(jīng)正確定義了整型變量x,y,z,且已經(jīng)正確初始化。
教學(xué)中,首先根據(jù)程序中的變量都是要存儲(chǔ)的,引入指針的概念:指針就是用來指向變量的,具體地說,指針就是地址,指針保存的就是其所指向的變量的地址。從而引出指針變量的定義形式(以int為例): int x;int *p=x; 這就定義了一個(gè)整型的指針變量p,該指針指向整型變量x。進(jìn)而一步一步對(duì)指針?biāo)婕暗降闹R(shí)點(diǎn)一一展開,詳述其定義方式與應(yīng)用形式,最后介紹指針的運(yùn)算方式等。
4 結(jié)語
指針是C語言最顯著的特征,也是C語言中的重點(diǎn)難點(diǎn)內(nèi)容.熟練使用指針,可以使程序質(zhì)量提高,且編寫程序更方便、靈活。本文根據(jù)KM教學(xué)法按照知識(shí)延伸和發(fā)展的內(nèi)在邏輯性,確立以講授知識(shí)的邏輯結(jié)構(gòu)、理論框架和內(nèi)在聯(lián)系為主,對(duì)思維活動(dòng)加以誘導(dǎo),堅(jiān)持“先搭架,后填充,再誘導(dǎo)”和少而精的原則,進(jìn)行指針知識(shí)的組織和教學(xué),是一種非常值得大力推廣的教學(xué)方法。
參考文獻(xiàn)
[1] 呂偉.應(yīng)用問題教學(xué)法改革材料力學(xué)的課堂教學(xué)模式[J].力學(xué)與實(shí)踐,2001.
[2] 胡寧.計(jì)算機(jī)教學(xué)中的任務(wù)驅(qū)動(dòng)法[J].遼寧師專學(xué)報(bào):自然科學(xué)版,2005.
[3] 楊炳儒,張?zhí)壹t.理工科課堂KM教學(xué)法研究[J].現(xiàn)代大學(xué)教育,2006.