許 楠 (黑龍江八一農(nóng)墾大學(xué)信息技術(shù)學(xué)院,黑龍江 大慶 163319)
《C語言程序設(shè)計》教學(xué)改革探討
許 楠 (黑龍江八一農(nóng)墾大學(xué)信息技術(shù)學(xué)院,黑龍江 大慶 163319)
為提高學(xué)生的學(xué)習(xí)效率,增強實踐動手操作能力,并根據(jù)《C語言程序設(shè)計》課程特點,提出教學(xué)改革的幾點建議:理論教學(xué)改革方面打破先講授知識點,再講解實際案例這一舊模式,提出“倒敘法”理論教學(xué)模式,該方法能夠較好的調(diào)動學(xué)生學(xué)習(xí)的積極性,通過具體案例對該方法的可行性進(jìn)行了驗證;建議多媒體與板書相結(jié)合的授課方式,使兩者的優(yōu)點可以得到充分的發(fā)揮,共同使用更適合于編程語言類課程的講解;實驗課建議1名教師利用多媒體投影設(shè)備對共性問題或難點進(jìn)行詳細(xì)講解,其他指導(dǎo)教師在臺下對個性問題進(jìn)行答疑。
《C語言程序設(shè)計》;理論教學(xué); 授課方式;實驗課
《C語言程序設(shè)計》是一門計算機編程語言類課程[1],其語言的特點有:①既具有高級語言的基本結(jié)構(gòu),又有低級語言面向機器較為實用的特點,這點從它可以對計算機的基本工作單元進(jìn)行操作得以證實;②代碼與數(shù)據(jù)彼此獨立,用戶面對的是各個函數(shù),這種結(jié)構(gòu)使程序?qū)哟吻逦?,易于理解,方便人們使用與調(diào)試;③數(shù)據(jù)類型齊全,通過引入指針,可以方便的對“位”、“字節(jié)”、“地址”直接操作,提高程序的運行效率;④C語言適用范圍廣泛。
對于從未接觸過編程語言的學(xué)生,往往老師講的很生動,但仍然有“不知所云”的感覺,似乎該門課程很抽象,不明白為什么幾個語句就可以讓計算機執(zhí)行某些功能,還有很多疑惑使得學(xué)生們有心無力去深入學(xué)習(xí)該門課程。隨著多媒體技術(shù)的不斷發(fā)展以及網(wǎng)絡(luò)的普及,該門課程的教學(xué)方法得到了一定程度的改善,但也同時存在不足之處。現(xiàn)根據(jù)上述該課程的特點以及目前的教學(xué)現(xiàn)狀,提出以下幾點教學(xué)改革的建議。
1.1“倒敘法”理論教學(xué)
課堂理論教學(xué)往往先講授知識點,然后給出實際案例,對知識點進(jìn)行應(yīng)用,學(xué)生往往對知識點的理解上就會出現(xiàn)困難,對于將其應(yīng)用到解決實際問題自然從心理上就有一種抵觸情緒存在,針對此現(xiàn)象可以探討一種新的教學(xué)方法——“倒敘法”?!暗箶⒎ā本褪菍⑹谡n順序顛倒,即先給出比較貼近生活且較有吸引力的案例,從而給出解決該問題的方法即算法,由此引出所需用到的知識點。這樣學(xué)生們對案例產(chǎn)生興趣后就會主動開啟思維解決問題,不但能較容易接受知識點的用法,而且印象深刻,對知識點的運用能達(dá)到舉一反三的效果。
下面通過《C語言程序設(shè)計》課程的一個案例,來講授較抽象的知識點——遞歸思想,從而分析該方法的可行性。首先在沒有說明知識點的情況下,向?qū)W生闡述案例[2],以此吸引學(xué)生注意力。
案例1有3個人坐在一起,問第3個人多少歲?他說比第2個人大2歲。問第2個人多少歲?他說比第1個人大2歲。最后問第1個人多少歲?他說20歲。請問第3個人多少歲?
算法分析解決該問題的方法:
(1)
其中,age(n)表示第n個人的年齡;age(n-1)表示第n個人前1人的年齡。
由此可見n=1即第1個人的年齡是解決該問題的“切入口”,若第1個人的年齡未給出,那么無法求解第3個人的年齡。這就引出遞歸的一個“潛規(guī)則”:必須有條件控制遞歸的結(jié)束或繼續(xù),無終止的遞歸是不切合實際的,遞歸次數(shù)只能是有限的。
用選擇結(jié)構(gòu)語句來解決“切入口”問題,具體語句如下:
If(n==1)
c=20;
else
c=age(n-1)+2;
若要解決該問題,則必須經(jīng)過2個過程,即回推和遞推:
(1) age(3)=age(2)+2; age(2)未知,因此age(3)不可得;
(2) age(2)=age(1)+2;age(1)未知,因此age(2)不可得;
(3) age(1)=20;給出第1個人年齡20歲;
(4) age(2)=age(1)+2=20+2=22;age(1)在第(3)步已經(jīng)給出,由此可計算age(2);
(1)~(3)步是“回推”過程,回推到“切入口”,此時所要求的第3人年齡仍然不可解;由切入口進(jìn)入(4)、(5)步是“遞推”過程,已知第1人年齡后,可以依次計算第2人以及第3人年齡,最終問題得以解決。
若使用一個函數(shù)解決這個案例,完成上述具體步驟,則可引導(dǎo)學(xué)生一同分析下面名為age的函數(shù):
int age(intn)
{
intc;
if(n==1)
習(xí)近平總書記指出:“人民對美好生活的向往,就是我們的奮斗目標(biāo)?!盵14]4這一重要論斷為我們理解和把握美好生活指明了學(xué)思理路。將美好生活置于馬克思人的解放理論的視域中來考察,是深入探討美好生活意蘊的前提性根據(jù)。由此觀之,美好生活是凸顯人民主體性的生活、是滿足人的自由全面發(fā)展需要的生活、是構(gòu)建人的共同體的生活。深入理解美好生活生成的理論與實踐邏輯,不僅有利于彰顯馬克思人的解放理論的科學(xué)性和價值性,展現(xiàn)其理論穿透力和歷史震懾力,而且有利于人們把握美好生活的豐富內(nèi)涵,明確達(dá)成美好生活的理想圖景的理論坐標(biāo)與實踐途徑。
c=20;
else
c=age(n-1)+2;
return(c);
}
該函數(shù)的執(zhí)行過程關(guān)鍵在于語句c=age(n-1)+2,這是一個調(diào)用語句,但特點在于其被調(diào)函數(shù)是名為age的函數(shù),與主調(diào)函數(shù)名字相同,這是與以往的函數(shù)調(diào)用最大的區(qū)別,那么由此可以引出“遞歸調(diào)用”的概念,即在調(diào)用一個函數(shù)的過程中又出現(xiàn)直接或間接地調(diào)用該函數(shù)本身。讓學(xué)生了解概念的同時,一同探討它的每一步執(zhí)行過程,可以發(fā)現(xiàn)與上述(1)~(5)步完全一致,這樣該案例可通過遞歸調(diào)用得以解決,也可容易看出遞歸調(diào)用的函數(shù)體簡短,結(jié)構(gòu)清晰等優(yōu)點。
可見這種方法從問題的提出就可以緊緊抓住學(xué)生的注意力,后續(xù)的每一步分析及推導(dǎo)都為解決案例而環(huán)環(huán)相扣,學(xué)生求知情緒不易松懈,最后給出函數(shù)引出遞歸概念及其思想,有了前面案例分析過程,同學(xué)們就不會感到這一知識點很抽象,難以接受和理解,相反,會很自然得理解甚至將其應(yīng)用到其他實際問題的求解,這自然也就達(dá)到了教學(xué)的目的,從而也體現(xiàn)了“倒敘法”教學(xué)的可行性。
1.2多媒體與板書相結(jié)合
多媒體技術(shù)[3]有著吸引學(xué)生注意力的特點,不僅如此,利用多媒體授課還可以節(jié)省板書時間,便于案例的演示等。
板書是一種重要的教學(xué)手段,直接影響教學(xué)效果,它可以幫助學(xué)生記憶、理解、整理和運用所學(xué)知識,還可以突出重點、難點等等,這些優(yōu)點使得板書在教學(xué)過程中成為一種不可或缺的手段。
一些高校對《C語言程序設(shè)計》授課完全采用單一的多媒體方式教學(xué),這樣雖然能夠增強課程講授的生動性,但這種授課方式對于程序的講解似乎并不很合適。分析程序如何解決案例往往是學(xué)生們最不易理解的難點,若該過程采用多媒體方式,由于教師站在電腦前講解,這樣不方便突出所講到的每條語句,如果某條語句學(xué)生沒有跟上老師的思維,而每條語句都息息相關(guān),不能理解接下來的各條語句的可能性很大,學(xué)生注意力很容易分散,因此建議該處使用板書詳細(xì)分析,這就能使學(xué)生緊跟老師強調(diào)的每個細(xì)節(jié),遇到不甚明白的地方還可以及時與老師溝通或討論,這樣不但可以及時解決問題,還可以使其他同學(xué)一同獲益。如果怕書寫程序會浪費時間,可以犧牲課前或課間幾分鐘來將程序?qū)懙胶诎?,這樣既可以節(jié)省時間,又可以向?qū)W生詳細(xì)講解程序的執(zhí)行過程,便于同學(xué)們理解并消化知識點的運用。講解后可以通過多媒體投影向?qū)W生做直觀的演示。
對于編程語言類課程的講解,單純的多媒體授課不利于程序的分析,單純的板書授課容易使學(xué)生感到枯燥乏味,這2種方式單獨使用均不能完全吸引學(xué)生的注意力。將多媒體與板書相結(jié)合,可以發(fā)揮各自的優(yōu)點,取長補短,從而盡量使課堂效果達(dá)到最佳狀態(tài)。
《C語言程序設(shè)計》實驗課[4]上,現(xiàn)在通常采用的授課手段是學(xué)生每人一臺計算機進(jìn)行編程操作,每30個學(xué)生配1名教師,對遇到困難的同學(xué)進(jìn)行指導(dǎo)。這種授課方法雖然貼近學(xué)生,能夠更加詳細(xì)的做個別指導(dǎo),但經(jīng)常有多名同學(xué)問相同的問題,這樣教師就要重復(fù)對每個學(xué)生進(jìn)行講解,比較浪費時間。
針對這一問題,建議實驗課上在條件允許的情況下,1名或幾名教師在臺下對學(xué)生進(jìn)行個別指導(dǎo),1名教師在講臺上利用多媒體投影設(shè)備對共性問題進(jìn)行統(tǒng)一講解,這就可以在該問題上節(jié)省時間,方便臺下指導(dǎo)教師對其他問題進(jìn)行答疑,對該問題沒有疑問的學(xué)生可以繼續(xù)著手其他實驗。講臺上教師還可以通過該手段對典型案例進(jìn)行重點強調(diào)和再次分析,加深學(xué)生對知識點的理解和掌握,這實質(zhì)上是復(fù)習(xí)的過程,學(xué)生一邊聽講解一邊進(jìn)行操作,對知識的掌握可以更加深刻、扎實。
編程語言類課程的實驗尤為重要,僅僅紙上談兵遠(yuǎn)遠(yuǎn)不夠,必須付諸實踐才能對知識點理解透徹,因此實驗課對學(xué)生學(xué)習(xí)該門課程的質(zhì)量起到非常關(guān)鍵的作用,上述實踐改革方法是幾年教學(xué)經(jīng)驗的一點心得,僅供探討。
根據(jù)目前學(xué)生《C語言程序設(shè)計》課程學(xué)習(xí)過程中存在的問題,從理論與實踐2方面提出教學(xué)改革的具體方法。提倡多媒體與板書相結(jié)合的授課方式,通過對具體案例的分析,說明“倒敘法”理論教學(xué)的可行性,最后對如何提高實驗課質(zhì)量總結(jié)一點體會,這些建議希望能夠?qū)υ撻T課程今后的教學(xué)起到一定的幫助。
[1]譚浩強.C程序設(shè)計[M].第3版.北京:清華大學(xué)出版社,2005.
[2]劉帥,張星.基于案例的C語言程序設(shè)計教學(xué)改革[J].教育教學(xué)論壇,2011(20):162-163.
[3]宮婷.對高校計算機教學(xué)改革的探討[J].黑龍江科技信息,2011(33):243.
[4]肖偉才.理論教學(xué)與實踐教學(xué)一體化教學(xué)模式的探索與實踐[J].實驗室研究與探索,2011(4):89-92.
10.3969/j.issn.1673-1409(N).2012.08.061
N4
A
1673-1409(2012)08-N180-03
2012-05-12
許楠(1980-),女,2003年大學(xué)畢業(yè),碩士,講師,現(xiàn)主要從事混沌神經(jīng)網(wǎng)絡(luò)方面的教學(xué)與研究工作。
[編輯] 洪云飛