崔鵬
關鍵詞:C語言? 中職院校? 教學策略
C語言本身是一門應用較為廣泛的計算機語言。其本身具有結構化的特點,在進行邏輯思維表達的過程中具有結構清晰、易于編譯、高效運行等優點,而且其能夠儲存各種類型的數據,具有非常靈活的應用性。因此對于初學者來說,對C語言模塊化的學習能夠更好地幫助學生鍛煉邏輯思維能力,這也是在中職院校中開設C語言課程的目的。
目前國內的大部分中職院校中都將C語言程序設計作為計算機、自動控制專業的一門基礎性課程。但是受傳統教學模式的影響,其并沒有達到理想的教學效果。首先,由于C語言本身的邏輯性很強,學生對該門課程并沒有學習的興趣,再加上有部分學生對現在較為流行的語言開發程序并不是很了解,因此會認為C語言本身并沒有什么用處。其次,在C語言的教學過程中仍然注重對語法、語句等細節內容的講解,卻忽略了對學生設計能力和邏輯能力的培養,這樣與實際的教學目標之間存在很大差異,學生被動接受知識,參與程度不高。最后,C語言具有較強的實踐能力,但是教師過分注重理論知識教學,導致上機課教學效果不理想,許多學生在上機課時過分依賴課本,不具備獨立編程的能力。
總之,由于多種因素的影響,導致教師在進行C語言教學的過程中不能有效吸引學生的注意力,也不能讓學生具備獨立編程能力,導致最終的教學效果不理想。
受多種因素的影響,中職院校在進行C語言教學時存在諸多問題,以下就從六方面進行教學模式研究。
1. 精心設計導課
在新課改的形式下教師在開展教學活動之前都會進行課程導入,主要目的是為了更為深入地了解當前學生的學習現狀,從而為教學內容找到合適的切入點,因此教師要精心設計導課。導課在內容上可以分為兩部分,第一部分就是從C語言的基礎知識入手,讓學生了解C語言的關鍵作用,學會如何利用C語言解決其在實際應用過程中的運行模式和思維方式。第二部分就是對教材經典案例進行分析和效仿,了解C語言的數據類型、表達式、基本語句、基本結構、數組、指針、函數直至整個程序的編寫方式和流程,使學生最終能夠利用這些技巧進行整個程序的編程。這樣經過導課的精心設計,能夠有效吸引學生的注意力,從而讓學生能夠自主學習知識。
2. 深入挖掘案例
C語言中的概念、基本語法等都是一些概念性的知識,具有較強的邏輯性,如果單純地對這些知識進行學習,學生很難理解其內容,也不會靈活運用,再加上C語言的許多語言之間差別非常小,學生只通過理論知識的學習,很難區分這些差別。因此在針對這些內容進行教學時,教師就可以深入挖掘案例,以案例為基礎進行教學內容的講解。
比如說while()和do while()語句,兩者在進行應用時所使用的環境以及所表達的內容大致相同,但是其所使用的初始條件是不相同的,因此在進行應用時可以將兩者分別設置為初始條件“真”和“假”的例子,然后進行程序的運行,最終會出現兩種不同的效果,同時在進行教學時結合具體的案例進行知識點的挖掘,這樣學生就會明白,當程序的初始條件為“假”時,do while()語句就會多執行一次。這樣,經過案例的分析,學生可以將兩種相似的語法區分開來,還能夠加深對知識的運用程度,從而提高整個課堂教學效果。但是值得注意的是,在進行案例選擇時要根據教學進度安排進行合理選擇,并逐漸加深案例的難度,這樣才能夠起到鍛煉能力的作用。
3. 巧設錯誤陷阱
對于計算機語言來說,每一個語句、語法的應用都具有一定的規則,而且這些規則適用于所有的編程人員,如果違背了這些規則,所編寫的程序在進行編譯時就會報錯。但是由于自身能力的限制,中職院校的學生并不具備準確避免編譯錯誤的能力,再加上教師在進行教學時,不能夠對這些編譯不規范的行為進行提醒,從而導致學生在實際編程的過程中就很容易掉入陷阱。針對此類問題,教師在教學時可以巧設錯誤陷阱,從而對學生起到警示作用。
比如說在進行C語言編程時,以求三角形面積的程序為例進行教學,教師就可以為學生設置錯誤陷阱。將正確的程序故意寫錯:
#Include
main( )
{float a,b,c,p,s;
printf(“輸入三角形的三條邊長(用逗號隔開):”);
scanf(“%f,%f,%f”&a,&b,&c);
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
printf(“\n三角形的面積為: %d”,s);}
在課堂上運行該程序運行時,將三角形的三個邊輸入到程序中,如果程序正確,學生可以運算出三角形的面積。但是運行以上的程序就會發現,該程序并不能夠運行,這是為什么?程序在邏輯上并沒有什么錯誤,也沒有語法上的錯誤,那為什么程序就不能夠運行出正確的答案呢?這時教師就可以幫助學生進行分析,對其中數據的輸出類型進行分析,發現其類型并不一致,輸入的三個邊數據類型為“%f”,但是最后求的三角形的面積數據類型則是“%d”,然后試著將其中的“printf(“\n三角形的面積為: %d”,s );}”中的“%d”改為“%f”再次進行程序運行,就可以得出結果。通過這樣的一個例子,學生就會在以后的編程中能夠仔細對待。
4. 理論與實踐結合
C語言本身具有非常強的邏輯思維能力,如果在進行教學時只注重對學生進行理論知識的傳授,很難讓學生真正學會運用知識,因此在教學時要將理論知識教學與實踐能力鍛煉有機地結合在一起,從而更好地提升C語言教學效果。這就意味著教師在進行教學的過程中要摒棄滿堂灌的教學方法,利用一些現代化的教學方式將理論與實踐結合在一起。教師可以將一些實踐知識借助多媒體的形式在課堂上進行編程和運行,展示程序運行的效果,這樣通過學生在課堂上的真實反應,教師能夠及時地掌握學生的學情況,從而更有針對性地進行教學重難點調整,從而及時解答學生的疑惑之處。同時多媒體這樣的新穎教學方式還可以有效吸引學生的注意力,從而激發學生的學習興趣。
比如說,教師在進行教學時應該根據教學內容設計不同的實踐內容,并結合學生自身的特點,進行課堂展示,這樣能夠利用實踐的作用吸引學生的注意力。同時將理論與實踐結合,能夠讓學生在實踐中加深對理論知識的記憶,在實踐中驗證理論的正確性,最終提升學生的編程能力。
5. 合理利用上機時間
在中職院校C語言程序設計課程中都會設置專門的上機課,其主要的目的是為學生提供一個良好的操作能力鍛煉平臺,從而讓學生有機會鍛煉自己的上機編程能力,同時也能夠檢驗學生對理論知識的掌握程度。學生在上機課中進行編程才能夠暴露出自己在學習過程中的不規范行為和錯誤編程習慣。但是就目前來說,C語言課程任務重,時間有限,大部分的時間還是花在理論知識的講解上,因此學生上機時間是非常有限的,這就要求教師在上機之前著重強調上機的重要性,并布置對應的上機作業,要求學生明確自己上機的目的和作用。上機的任務要有難有易:利用簡單的任務鞏固學生對理論知識的學習,加深其記憶程度,鍛煉其編程能力,樹立其成就感和自信心;利用較難的任務挑戰成績好的學生,從而調動其創造性。這樣才能充分發揮上機課的作用。
就目前來說,在上機課中學生所處的編譯環境是Visual C++,而且在該環境中所有提示都是英文的。為了讓學生快速發現自己的錯誤并自行糾正,在上機之前,教師就需要對常見的提示語進行解釋和說明,這樣學生在看到對應的提示語之后就能夠有針對性地分析自己的錯誤之處,從而減少對上機時間的浪費現象,提高上機課效率。另外教師在教學時還需要對學生在上機課中遇到的錯誤操作進行歸納,讓學生在上機鍛煉時能夠時刻注意程序編寫的規范性,端正自己上機的態度,這樣才能夠有效降低在上機時出現錯誤的次數,最終提高學生上機課的效果。
總之,在中職院校中進行C語言程序設計教學的過程中應該打破傳統教學模式的弊端,在教學的過程中深刻認識到C語言程序設計的特點,然后精心設計導課,吸引學生的注意力;深入挖掘案例,鍛煉學生的能力;巧設錯誤陷阱,糾正學生的錯誤行為;理論與實踐結合,鍛煉學生的操作能力;合理利用上機時間,提升學生的操作水平,最終提升學生的C語言編程能力。
參考文獻:
[1]陳戰勝. C語言課程創新教學模式研究與實踐[J]. 教育教學論壇, 2015(3).
[2]馮運仿. C語言程序設計課程教學模式的研究與實踐[J]. 福建電腦, 2012, 28(1).
[3]郭曉俐, 湯克明. 研究性教學模式在C語言教學中的實施[J]. 計算機教育, 2010(2).
[4]王曉光. C語言教學的教學模式改革策略解析[J]. 電腦知識與技術, 2013(10).
(作者單位:邢臺技師學院)