牛樂
摘要:C語言是目前國際上廣泛流行的一種國際化程序設計語言,應用面廣,功能豐富。重點在于培養學生對編程的興趣以及獨立編寫代碼的能力,難點在于突破常規的教學模式和授課方法,使學生學會分析問題,解決問題,培養程序設計的新思想。
關鍵詞:程序設計語言 ,教學模式,授課方法
一、前言
程序設計語言類課程指導思想是:使學生通過學習,熟練掌握程序設計編程技術,編程知識,了解程序編程思想,編程方法,能夠獨立解決編程過程中的實際問題。
二、注重教學的方式方法
計算機的發展日新月異,不斷變化,教學過程中,教學模式和方法也不是一成不變的。因此,教學內容也應隨之有所改變,同時,針對學生層次(本、專科)、學生學習能力等不同情況做出差異性區分。沒有任何一種教學方法適用于所有人,唯一可參考的就是根據實際情況具體分析具體解決。
C語言是一門計算機高級程序設計語言,更是軟件開發、計算機科學與技術、大數據、軟件技術等專業大一新生的必修專業課,其意義就更加深遠,更加重要了。新生步入大學對上課方式及上課內容及其不適應,習慣了初高中中規中矩“題海式”的教學模式,不習慣大學“實操和理論相結合”的教學體系。曾經是“學好數理化,走遍全天下”,現在是需要“實踐出真知”來進行大學相應課程的學習,在教學中,我們要降低教學難度,從基本教學內容抓起,讓學生充分學習好基本的知識點,再深入學習探討。對于計算機的實操課來說,C語言講究的是從編輯到編譯,再到連接,最后執行的過程。該過程中,需要不斷摸索,不斷報錯改錯,從而最后成功運行程序,因此,也是一個枯燥復雜的過程,會逐漸降低學生的耐心和興趣,這也是為什么很多同學抱怨學不會,不愛學的原因。針對以上情況,我們可以從以下幾個方面著手解決。
1.從興趣的角度入手,讓學生愛上編程。第一節課,可以帶著學生通過當下流行的網絡語言進行簡單輸出語句的練習,從而達到激發學生學習興趣的目的,例如:(1)printf(“小豬佩奇身上紋,從此便是社會人!”);(2)printf(“百因必有果”);printf(“你的報應就是我”);printf(“記得雙擊么么噠!”);簡單的網絡流行語代碼的運行可以大大加深學生對編寫代碼帶來的成功感和收獲感。第一次接觸實踐類的程序設計新課程,強烈的操作感和新鮮感可以使學生快速融入到程序設計課程中來。
2.在教學過程中用啟發、引導的方法;設置一些難度不一的問題, 引導學生思考,活躍他們的思維。在教學過程中,引導學生在解決問題中學習,要留給學生時間思考、討論,從而讓學生對這些知識點深刻記憶并更深入地展開學習。例如:在講解C語言常量時,可以先布置簡單的問題:輸入圓的半徑,輸出圓的面積?根據之前學的知識,學生會想到圓的面積S=∏*R*R。首先,引導學生面對該問題需要聲明幾個變量,然后如何顯示輸入半徑,在深一步如何添加輸入語句,添加圓形面積公式,確定輸出格式,最后運行成功。第一個問題解決后,可以拋出第二個問題,能否從一開始直接聲明∏的值,給∏一個固定值。此時,教師通過該問題引出常量標識符#define,講授define的意義和特點,定義#define Pi 3.1415926,然后在進行進一步輸入半徑及輸出面積的語句。這樣不僅讓學生明確知道常量標識符的作用,更能了解如何恰當的使用常量標識符。
3.教給學生正確的學習方法,引導學生掌握程序設計的思想。培養學生善于發現問題,主動解決問題。問題一:暑假到了,小迷糊回鄉下幫爺爺賣西瓜,想用自己新學習的C語言程序設計課程為爺爺設計一個簡易的計算器,幫助爺爺算賬。大家知道小迷糊是怎么做到的嗎?首先引導學生明確編程過程,編程思想,討論步驟,進行以下分析:
(1)要解決問題,需要定義幾個變量, 變量的類型如何確定。(2)變量需要定義初始值嗎?
(3)確定格式控制字符格式。
(4)指定算數運算符。
(5)輸出結果,成功運行。
進一步分析:
(1)通過分析可以定義三個變量,一個是單價a,另一個是重量b,實際金額c,設置成整型變量int a,b,c;。
(2)確定輸入輸出格式控制字符。scanf(“%d,%d”,&a,&b);
Printf(“購買西瓜應支付%d元”,c);。
(3)指定算術運算符。c=a*b;
(4)為了是代碼成功運行,要求學生輸入單價1元一斤,重量120斤。
通過引導學生完成上述材料所求的問題后再進一步拋出問題引出格式控制符的區別及作用。問題二:爺爺用了小迷糊的軟件一段時間,沒有賺錢,反而賠了,大家知道怎么回事嗎?這時要求學生輸入單價是1.2元,重量是5.3斤,讓大家求結果運行后結果是6元。然后對學生提問,雖然程序沒有報錯,但是1.2元買5.3斤,實際正常應支付多少?1.2*5.3=6.36元,那就賠了0.36元,怎么會出現這樣的問題呢?引導學生發現問題,讓學生自己找到哪一步驟出錯。“%d”表示按十進制整型數輸出,那么就只能計算整型數,而我們要進行計算的是小數,因此,對于格式控制字符的選擇,我們應該選取“%f”即表示數據按十進制帶小數點的形式輸出。那么步驟就應該改為:
(1)聲明變量時改成float a,b,c;,這樣參與計算時就可以運行小數算式了。
(2)更改之前的輸入輸出格式控制字符。更改為:scanf(“%f,%f”,&a,&b);Printf(“購買西瓜應支付%f元”,c);。
(3)指定算術運算符。c=a*b;。
(4)執行程序時,輸入單價a的值為1.2,重量b的值為5.3,運行后,結果為,購買西瓜應支付6.36元。
經過對比,改正,重新執行,終于運行成功,在該過程中,不僅使學生練習了編寫代碼的操作,更加使學生清楚明白了格式控制字符以及變量類型的區別及意義,如此教學方法比單純的講解法和灌溉教學法更加深入,更加記憶深刻,操作性強。
以上是我在教學過程中的經驗體會,其實實際在教學過程中值得探討的問題還有很多,比如教學中應適當給予學生鼓勵,本科階段的學生應該如何培養其自學能力,專科學生如何鍛煉其實操動手能力等。在C語言教學中,應把邏輯和編程解題思路放在首位,教會學生如何分析問題、解決問題是關鍵。教師的教學模式,教學方法是教師業務水平的一種極好的體現。如何將教學對象的內在積極性與潛能充分發揮出來,從而達到最佳的教學效果,還需要進行一個長期的探索、實踐并總結。
參考文獻
[1]高璐,張娟.C程序設計案例教程 [M]. 南京: 南京大學出版社,2016.8
[2]李紅,王強.C程序設計實例教程 [M]. 北京: 機械工業出版社,2010
[3]姜靈芝.C程序課程設計案例精編 [M]. 北京: 清華大學出版社,2008