摘要:本文根據在C語言程序設計實際教學過程中的心得和學生的體會,對C語言的教學過程、教學資源、教學評價提出改進,以期實現教學效果的最優(yōu)化。
關鍵詞:C語言;教學過程;教學資源;教學評價
中圖分類號:TP3-4 文獻標識碼:A 文章編號:1007-9599 (2012) 21-0000-02
C語言是為編寫系統軟件而產生的一種高級語言,它具有行文簡練、運算符豐富,可以進行低級操作等特點,在計算機的歷史上起著重要的作用,鑒于此,C語言成為高校計算機專業(yè)的入門課程,具有重要的意義,為專業(yè)的后續(xù)課程起著鋪墊的作用。本文根據多位從事C語言教學工作教師的心得和學生的體會,對C語言的教學活動、教學資源、教學評價提出改進,以期實現教學效果的最優(yōu)化。
1 C語言的教學目標
1.1 培養(yǎng)邏輯思維和解決問題的能力。C語言是一種計算機語言,它本身只是一種工具,通過C語言的學習,掌握這一工具是一個目的,更主要的還是培養(yǎng)學生基本的邏輯思維、計算方面的能力,使學生逐漸建立起編程思想,找到編程感覺,能借助C語言這一工具,解決一些實際問題。
1.2 激勵和維持學生的專業(yè)興趣。計算機豐富的功能,對學生或多或少存在著誘惑,讓學生覺得它的神秘,對此產生好奇。如果通過C語言的學習,使學生發(fā)現自己也能通過工具,解決一些具體應用問題,提高學生的自信心,培養(yǎng)他們對計算機專業(yè)的興趣,激勵他們進行更深的探索。
1.3 人文素質的培養(yǎng)。C語言課程安排的時間往往是大學第一年,此時的學生正處于中學到大學的適應期,還在嘗試著從中學時期的灌輸式教學轉向自主式教學。并且第一門計算機語言對初學者而言,在理解上具有一定的難度,且實踐性很強,極易讓學生產生畏難情緒。因此,通過C語言的學習,要讓學生克服這種畏難情緒,養(yǎng)成良好的實踐習慣,提高他們的團隊合作意識,使其成為腳踏實地,科學上求真的人。
2 教學內容的設計
2.1 改變照本宣科的教學思路。目前的C語言教學,一般都按照教材的組織順序,按部就班地給學生上課。作為C語言教材而言,以介紹它的語法和結構為主,輔以相應的例子,這種編排方式是無可厚非的,但如果上課也是如此,這種教學方式跟向學生介紹使用說明書沒在太大差別,沒有起到灌輸編程思想,培養(yǎng)編程感覺的作用,這只會讓學生感到枯燥,而且目的性不強,會大大降低初學者的興趣和學習效果。如果我們把教材的思路“我們學習了什么語法,可以編寫什么程序”,在實際教學中改為“我有個什么問題,我想編個什么程序,得學習、掌握哪些語法”。前者看起來很系統,但學起來很復雜且令人生厭;而后者讓學生帶著問題去學,既有針對性,又會讓學生覺得很有趣,有成就感。這是一種心理,也是一種讓學生維持興趣的方法。
2.2 關鍵的第一堂課。很多老師在第一堂課時,就直接開始介紹C語言的歷史、特點等相關知識,等學了一段時間,很多同學還是搞不清程序到底是怎么回事,有點云里霧里,不知所云。本人認為,在學習C語言之前,對計算機語言、程序、編輯器、編譯等這些概念運用通俗易懂的表達,或生動的比喻作個鋪墊性的介紹,使學生對這些常用的名詞有個感性的認識,從宏觀的角度對所學的工具有個清晰的定位和感性的類比是必不可少的。
比如我們可以舉這樣一個例子來說明這些概念。平常我們的執(zhí)政部門為達到某種目的,往往通過使用中文這種語言,下達一些文件形式的行政指令,讓相關的執(zhí)行部門按文件的要求采取行動,達到預期目的。這里的執(zhí)政部門就相當于編程的人,執(zhí)行部門就是計算機。當人遇到問題時,需要先經過思考,找出解決問題的方法和步驟,然后根據解決方案使用計算機語言,編寫程序,讓計算機去實現解決方案。之所以使用計算機高級語言是因為人和機器沒有共同的交流語言,如果直接使用機器語言,這種溝通方式比較有效直接,但機器語言常人理解起來相當困難,不容易掌握,所以只能退而求其次,使用一種人比較容易理解的高級語言,再通過翻譯翻成機器語言。這里的程序就相當于行政指令或是文件,而我們在讓計算機執(zhí)行時,要將我們的程序通過編譯器或解釋的方式,翻譯成機器語言,而我們在編程序時,要用到編輯器,就像用Word來編輯文件一樣。程序和行政文件一樣需要有一定的書寫格式和內容要求。通過這樣的例子,幫助學生理解程序的大致模式和它的應用背景,使學生明白語言的語法和結構只是讓我們的程序內容表達規(guī)范、豐富,而精髓還是解決問題的思路。
2.3 引導實踐之路。編程是計算機專業(yè)的基本功,將伴隨學生整個的大學學習過程。要成為一名優(yōu)秀的程序員,最重要的是掌握編程思想,找到編程感覺。而編程思想和感覺必須從實實在在的編程實際工作中去實踐和體驗,一個程序員的高級境界,是在反復的實踐、觀察、分析、比較、總結中潛移默化積累的,是一個長期的過程,是一個量變到質變的過程,在量的積累中需要引導學生學會堅持,克服浮躁的心里。因此,在C語言的教學過程中,需要循序漸進地引導學生從最簡單的模仿開始學習編寫一些簡單的例子,鼓勵學生大膽地動手實踐,不必把所有的語法都搞清楚了再去編程。
3 信息資源和學習效果評價設計
目前計算機專業(yè)C語言的教學課時比較少,任課教師都是緊趕著才能勉強完成教學任務,與之配套的上機時間也遠遠不夠學生實踐一定量的編程。因此,我們需根據主題設計大量的信息資源,供學生實踐訓練。
我們可以借鑒ACM的競賽系統,根據不同的主題、不同的難易程度,收集大量的題目,完善題庫和測試系統。題目可以是以下幾種類型。
3.1 程序仿真題。即給出一示范程序,給出詳細的注釋,再將題做小小的改動,讓學生模仿著編寫程序,并可提交,由系統自動測試。這類題主要是針對初學者,還沒掌握多少語言基礎,也沒有什么編程思路。
3.2 程序填空題。給出一個程序和程序的功能說明,程序中有部分語句不完整,讓學生補充完整并提交系統測試。這類題主要也是針對初學者。
3.3 程序閱讀題。給出一個完整的程序,讓學生說明程序的功能、特色或寫出程序的運行結果。目的在于讓學生大量閱讀各種風格的程序,積累經驗,熟練掌握常用的語法、結構等使用技巧。
3.4 編程題。給出問題,讓學生編寫完整的程序并提交系統測試。這類題需要學生初具編程能力,并能綜合運用所學的知識,嘗試用C語言工具獨立解決實際問題。此類題可以根據難度讓學生獨立完成,也可以組成一個小組,合作完成,既考驗編程能力,又培養(yǎng)團隊合作精神。
在題目選擇上應盡量貼近生活,讓學生能切實感受這一工具的真實性。題庫的建立是一個漫長的過程,我們可以在現有的ACM競賽系統的基礎上不斷地補充和完善。
C語言學習的目標是學會用C語言這一工具解決實際問題,因此單純考核學生的語法掌握程度,不能客觀地反映學習效果。上述系統的建立,教師一方面可以用它給學生布置平時作業(yè),減少了批改作業(yè)的繁瑣工作,一方面可以不定時地利用該系統進行實踐考核,強調實踐的重要性,敦促學生加強實踐訓練,對于有抄襲嫌疑的同學可隨時單獨考核,打消學生的僥幸心理,改善抄作業(yè)的普遍現象。學生的學習效果完全可以通過多次的考核綜合反映出來,相對于以前的卷面考試,具有更強的實用性,更能反映學生的自主學習能力、協作能力。
C語言是計算機專業(yè)的開路先鋒,它的成敗影響著學生對專業(yè)的興趣以及后續(xù)課程的順利進行,因此還是需要教師本著教書育人的宗旨,將自己的責任心投入到教學工作中去,才能培養(yǎng)出具有過硬實踐能力的創(chuàng)新型人才。
參考文獻:
[1]雷東升,鄭全英,張波.“C語言程序設計”立體化教學模式探索與實踐[J].教育與教學研究,2008,22.
[2]徐曉偉.“C語言程序設計”教學方法改革探折[J].軟件導刊,2008,7.
[3]廖秋香.C語言課程教學改革的幾點建議[J].梧州學院學報,2008,18.