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