曹亞平
【摘要】要想減輕學生的學習壓力,使學生輕松掌握教材知識,就必須扎實推進教育教學改革,在改革中不斷創(chuàng)新,形成屬于自己的,切實有效的教學觀。我的C語言教學觀是:初學者應當熟悉標準格式語句,掌握必備算法;熟練后應當適應語句的多種形式,增加常用算法的理解。
【關鍵詞】C語言 入門難 初學者 算法
談及C語言,許多朋友都感覺到:C語言功能強大,應用廣泛。C語言知識猶如“少林功夫”般博大精深,實在難學。有教師認識到:學習C語言必須解決學生問題,提出激發(fā)學生學習興趣,做學習主人的方法。也有教師認為:C語言教學入門難,學生在課堂上聽懂了,但不會應用,歸結為應試、考級等要求的制約。
我認為:教師除了分析學生因素,研究考綱之外,應該把正確把握編者意圖,剖析、吃透教材,突出重點,更好地適應學生的學習需求作為教學的根本方向。對C語言教材的處理,按掌握知識的難易程度可分為初步掌握和熟練掌握,按知識的側重點可分為必須知識和補充知識。
C語言教學一般分為兩個學期,第一學期的關鍵是破解入門難。教師做好“快”、“實”、“精”三步驟,學生往往能夠感受到學習C語言的信心和樂趣。
“快”——快速進入語句部分的教學過程。忽略C語言的產生、發(fā)展,重點講述程序的構成和程序設計的三種基本結構。如何解決數(shù)據(jù)類型較多,學生忙于記憶,走錯學習方向十分重要。初學者可以先掌握int和char類型,教師只要告訴他們,其他類型與int類型本質一樣,只是精度不同。忽略定點、浮點數(shù)的概念與表示,在理解常量、變量的含義,函數(shù)、表達式的計算和表示后,立即進入語句部分的教學,同時輔以上機實踐。這樣的教學,減輕了學生記憶的負擔,使學習C語言成為一種享受;同時,也理通了教材,為以后突出重點,克服難點,預留了教學空間。實踐證明,教師講授C語言4課時左右就進入語句部分,教學效果相當好。
“實”——夯實語句部分的教學基礎。C語言函數(shù)由一條條語句構成,語句是編程的基礎,C語言語句的書寫靈活多變,令人神傷。初學者應先掌握常規(guī)格式,教師在教學時可以把常規(guī)格式稱為標準格式,待C語言基礎扎實后,再去熟悉其多變的格式。學生掌握了常用語句,能進行簡單的編程,可激發(fā)其學習興趣,提高求知欲,增強學習的積極性和主動性。教師往往會碰到這樣的問題:按教材授課,學生能理解語句,但課后不會運用語句編程。學習C語言的目的是為了學以致用,這就要求教師在授課時注重語句與實際編程相結合。例如:在教學if語句時,讓學生用C語句描述“如果x為偶數(shù),則n+1”,“如果x能被y整除,則打印x值”,“判斷year是否為閏年”等。在教學for語句時,讓學生用C語句描述“循環(huán)變量x為1-100間的所有奇數(shù)”、“循環(huán)變量x為2-100間的所有偶數(shù)”、“循環(huán)變量x為2—n-1的整數(shù)”等。
“精”——狠抓典型算法。算法是C語言的靈魂,需要反復變化題型,精講精練。止步于算法學習的C語言編程愛好者不在少數(shù),究其原因,是把C語言當作一門記憶量大,且拗口的科目學習,當然事倍功半。通過前面快速而實效的基礎學習,學生興致高昂,探究編程思想的感情濃厚,若教授的算法過多、太難,則會造成學生的畏難思想,不利于教學。初學者在第一學期必須掌握的典型算法集中在累加求和、素數(shù)問題,并掌握一種排序算法。通過不斷練習,使算法思維得到強化,逐步從模仿轉變?yōu)樽约悍治鰡栴}、解決問題的能力。
第二學期的關鍵是學習算法,理解自定義函數(shù)的調用與返回。數(shù)組與自定義函數(shù)章節(jié)是教材的重點,也是難點,教學過程中需要一“慢”二“懂”。
所謂“慢”,就是放慢教學進度,在學生掌握一種算法后再學其他算法。如:教學四種排序算法至少8課時,要給學生足夠的時間來消化吸收知識,否則寧可只講兩種算法。一維數(shù)組中常見的查找、刪除、移動等算法,可作為語句應用和編程思想的有效補充。二維數(shù)組中矩陣轉置、鞍點等問題,對學生靈活運用數(shù)組及數(shù)組下標提出更高要求。“慢”是讓學生跟上學習的節(jié)奏,是學生能夠學有所得的要求。第二學期,學生必須掌握新增排序算法,矩陣轉置算法。教師通過抓住教材重點,突破難點,減輕學生學習壓力,那么,所教學生熟練掌握C語言不再是難題。
“懂”,就是注重理解,理順弄懂。自定義函數(shù)教學時涉及概念較多,如:全局與局部,靜態(tài)與動態(tài),實參與形參等。教師先教授基本型函數(shù),即實參為局部變量,形參為動態(tài)變量,充分理解實參與形參的概念,掌握函數(shù)的調用及返回過程,鼓勵學生多寫,爭取熟能生巧。在此基礎上,通過全局與局部、靜態(tài)與動態(tài)對程序運行有何不同后果的比較,加深對概念的理解并掌握其應用。告訴學生:自定義函數(shù)只是書寫形式不同,就是把具有某功能的程序段寫入某函數(shù),并實現(xiàn)調用和返回,屬于模塊化程序設計,僅此而已。
C語言在各類院校的教學安排通常是一學年,而在中職學校則時間更長。學習C語言需要通過多次復習,層層推進,加強理解,才能不斷深入掌握其應用,越學越有勁,樂在其中。老舍說過:“驕傲自滿是我們的一座可怕的陷阱;而且,這個陷阱是我們自己親手挖掘的。”作為一名教師只有不斷探索教育教學新方法,才能不斷進步,才能滿足人們不斷增長的知識需求。
參考文獻:
[1]譚浩強.C程序設計[M].清華大學出版社.2010.