潘黎陽
摘要:針對高職高專的學(xué)生,以培養(yǎng)具有較強的專業(yè)技能和實踐能力為目的,高職高專C語言程序設(shè)計的教學(xué),必須做出應(yīng)有的改革,其改革效果如下:學(xué)生能夠有條理地構(gòu)思程序設(shè)計的步驟;學(xué)生能夠很好地編寫程序語言;學(xué)生能夠在實踐中很好地應(yīng)用編程技術(shù)。
關(guān)鍵詞:高職高專;C語言程序設(shè)計;教學(xué)改革
中圖分類號:TP39 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2015)12-0141-02
The Discussion about The Teaching Reform of C Language Program and Design
PAN Li-yang
(Department of Electronic and Information Engineering in Foshan Professional Technical College, Foshan 528000, China)
Abstract: In view of characteristics, the higher vocational colleges students, in order to be cultivated to have strong professional skills and practical ability, The teaching of C language program and design in higher vocational college, must make the proper reform, the reform effect is as follows: students can have clear idea of program design steps;Students can write well programming language;Students can well use programming technology into practice.
Key words: higher vocational college;C language program and design; teaching and reform
C語言程序設(shè)計在高職高專院校的教學(xué)里有著重要的地位,它是深入理解與研究計算機的前提之一,它又是很多理工專業(yè)編程技術(shù)的基礎(chǔ)課。然而作為以培養(yǎng)實踐運用型人才為主的高職高專院校,在實際的教學(xué)中往往存在一些問題:學(xué)生學(xué)后多數(shù)能讀懂C語言程序的表達(dá),而只有少數(shù)能自行編寫C語言程序。這樣學(xué)生是無法很好地掌握該課程的專業(yè)知識,更無法很好地運用在實踐中,是達(dá)不到教學(xué)的要求。但是基于對象是高職高專院校的學(xué)生,不可能實行像本科那樣的教學(xué)要求,也不可能要他們編寫具有綜合復(fù)雜性的程序,而只是讓學(xué)生會編寫一般的程序,會運用到實踐中,這一點還是可以通過改革來實現(xiàn)。因此,如何讓高職高專的學(xué)生學(xué)好《C語言程序設(shè)計》這一門課,是值得探討。
1 學(xué)生必須理解和記憶書本上的知識點
書本上的知識點是學(xué)生編寫程序的前提,學(xué)生在教師的講解下要在理解的基礎(chǔ)上進行記憶和努力掌握,基礎(chǔ)差的學(xué)生,教師要鼓勵他們課前預(yù)習(xí),上課認(rèn)真聽講和課后復(fù)習(xí)。但是實際上很多學(xué)生都不怎么復(fù)習(xí),甚至今天聽課明天就忘掉,等到快要期末考試時才熬夜復(fù)習(xí),這樣所得的學(xué)習(xí)效果是很低。針對這類情況做出以下措施:每次課(由兩小節(jié)課組成)的前十五分鐘,教師拿上次課講的知識點用來抽問學(xué)生,然后把學(xué)生回答的情況以平時分記錄在案,作為學(xué)期末總評分?jǐn)?shù)的依據(jù)。這實際上是借著學(xué)生怕補考的心理作為學(xué)習(xí)的驅(qū)動能量,結(jié)果證明學(xué)生學(xué)習(xí)的積極性是有所提高,而在提問與回答中也再一次使學(xué)生鞏固學(xué)習(xí)C語言的知識點 [1]。
2 學(xué)生能夠有條理地構(gòu)思程序設(shè)計的步驟
對于學(xué)生學(xué)《C語言程序設(shè)計》這門課來說,必須會設(shè)計算法尤其是流程圖,并且根據(jù)流程圖來編寫程序。如果說編寫的程序代碼是一個具體的過程,那么,流程圖就是這個具體過程的綱要,如圖1的流程圖實例。因此在教學(xué)方案上,想辦法讓學(xué)生學(xué)好與用好流程圖,是學(xué)生能夠有條理地構(gòu)思程序設(shè)計步驟的關(guān)鍵。
流程圖包含順序結(jié)構(gòu),選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu),按照美國國家標(biāo)準(zhǔn)化協(xié)會ANSI規(guī)定的常用流程圖符號包括:起止框、輸入輸出框、判斷框、處理框、流程線、連接點、注釋框,這些符號按照一定的程序構(gòu)思組成流程圖。流程圖是受軟件設(shè)計師歡迎,軟件設(shè)計師在結(jié)構(gòu)化設(shè)計時,喜歡用軟件Microsoft Visio 2010 來設(shè)計,這是因為流程圖在Microsoft Visio 2010里能夠被快速設(shè)計與修改,在開發(fā)大型的軟件和處理眾多的流程圖時,具有很高的效益。而N-S流程圖則忽略流程線,它是由一定數(shù)目的基本框組成一個大框,它具有易讀懂性的特點,但它的設(shè)計與修改的效率不如前者的流程圖。
由此,關(guān)于學(xué)生能夠有條理地構(gòu)思程序設(shè)計的步驟有如下措施:第一,在教學(xué)上學(xué)生學(xué)會借鑒式地從綱要與具體過程中,運用流程圖來構(gòu)思程序設(shè)計;第二,在使用工具上學(xué)生要與實際接軌,緊跟軟件設(shè)計師的腳步,學(xué)會使用Microsoft Visio 2010 來設(shè)計流程圖;第三,學(xué)生要適當(dāng)從書本上沒有流程圖的編程語言中設(shè)計出流程圖。
3 學(xué)生能夠很好地編寫程序語言
流程圖對學(xué)生能夠很好地編寫程序語言有著重要的作用,學(xué)生要按照流程圖的表達(dá),進行C語言程序編碼,而且在課堂上教師要通過大量的練習(xí)對學(xué)生進行輔導(dǎo),如下圖2的求和循環(huán)。
上圖2,即求3 + 4 + 5 + 6 + 7… + 999 + 1000的和,其代碼如下:
# include
void main()
{
int i ,sum1 = 0;
i = 3;
while (i <= 1000 )
{
sum1 = sum1 + i;
i++;
}
printf(“%d\n” , sum1);
}
對上述類別的循環(huán)編碼,有些學(xué)生不適應(yīng)或者跟不上,要改變這種狀況,學(xué)生要在課堂上努力聽講,課后教師要鼓勵同學(xué)之間互相幫忙和互相促進。另外,學(xué)生在程序語言編寫與學(xué)習(xí)時,要努力克服困難,遇到不懂的問題時停下來思考是很正常,因此,學(xué)生不要依賴別人的答案,要習(xí)慣通過自身的理解與記憶,查找相關(guān)的學(xué)習(xí)資料與知識點去解決問題,如果實在是解決不了,才去問同學(xué)或者問老師,這樣才有印象和效果。
學(xué)生在學(xué)習(xí)復(fù)雜的C語言程序編碼時,會存在一些錯漏的編碼,這是比較普遍的現(xiàn)象,教師適當(dāng)教他們從重點著手的方法,也就是說先把關(guān)鍵的代碼編完,然后再從關(guān)鍵的代碼展開,缺什么就編什么,編完再測試一下,看有無出錯,如有錯誤再按照測試軟件的提示去修改。
學(xué)生要想學(xué)好C語言程序編碼,需要一個過程,這個過程需要足夠的耐心與毅力,而成功往往屬于敢于吃苦的學(xué)生[2]。
4 學(xué)生能夠在實踐中很好地應(yīng)用編程技術(shù)
很多教師在課堂上按照書本上的知識點逐一去講解,又通過編程實例,目的讓學(xué)生得以鞏固,這看起來是很系統(tǒng)化。然而對學(xué)生而言,他們在課堂上能聽多少就是多少,在課外他們中卻有不少人,是懶得動手和懶得去練習(xí)C語言編程,課后安排的編程作業(yè),很多學(xué)生的編程是同一個版本,也就是雷同。針對有一部分學(xué)生積極課后學(xué)習(xí),而另一部分學(xué)生懶得課后學(xué)習(xí)的這兩種情況,從教學(xué)的整體上看,這談不上是知識技術(shù)與實踐結(jié)合,因為可能只有少數(shù)學(xué)生的學(xué)習(xí)效果達(dá)標(biāo),而且書本上的知識,對多數(shù)學(xué)生來說,是否學(xué)得好還令人懷疑。所以,教學(xué)改革必須在實踐中以編程實例的驅(qū)動方式,結(jié)合企業(yè)軟件開發(fā)項目的實例去培養(yǎng)學(xué)生。
C語言程序編程技術(shù)的實踐應(yīng)用能力的培養(yǎng),對于學(xué)生這類初學(xué)者來說,主要還是依靠計算機實驗室,他們不可能一開始就適應(yīng)企業(yè),畢竟企業(yè)還是要講效益,還要生存,只不過教師可以把實際軟件企業(yè)開發(fā)的項目搬到實驗室來,讓學(xué)生了解軟件開發(fā)的實戰(zhàn)過程,讓學(xué)生更深入了解編碼的技巧。
不過要做到這一點,教師在教學(xué)中要首先在實驗室里培養(yǎng)學(xué)生的運用能力,即讓學(xué)生編寫一些與課堂上學(xué)過的類似程序,看看學(xué)生能否把學(xué)過的知識加以鞏固與應(yīng)用。學(xué)生在實驗室做的練習(xí),教師主要還是采取目標(biāo)驅(qū)動法,并把練習(xí)的結(jié)果以平時分記錄在案,到學(xué)期末加到總評上去。這樣的把關(guān),對學(xué)生下階段學(xué)習(xí)實際企業(yè)開發(fā)軟件的實戰(zhàn)技巧有著鋪墊的作用[3]。
5 結(jié)束語
高職高專的學(xué)生對于C語言程序設(shè)計的學(xué)習(xí),關(guān)鍵是能否把學(xué)過的編程技術(shù)應(yīng)用到實踐中去,以上的改革措施與途徑正努力做到這一點,而實踐證明,經(jīng)過教師與學(xué)生的雙方努力,學(xué)生所取得的成績是有所提高,該措施與途徑具有一定的可行性。
參考文獻(xiàn):
[1] 石光華. 基于案例驅(qū)動的高職C語言結(jié)構(gòu)化編程教學(xué)[J]. 計算機教育, 2006(5): 43-144,76.
[2] 石翠, 王楊. C語言程序設(shè)計課程設(shè)計探討[J]. 電腦編程技巧與維護, 2014(23): 28, 38.
[3] 葉煜, 任華, 丁蓮. 高職C語言課程項目化教學(xué)改革與實踐[J]. 軟件工程師, 2014, 17(7): 47-48