包淑芳

【摘要】:計算機信息技術現在已經被廣泛的應用到各個領域,在生產生活中起到的作用也越來越重要,這樣就使得計算機技術在大學課程中的重要性得到了提升。其中C程序設計為計算機課程的基礎部分,同時也是計算機考級的要點,對培養學生專業能力具有重要意義。本文淺析C程序設計課程教學。
【關鍵詞】:C程序設計;多模式教學法
【引言】:C程序設計課程是計算機專業本科的核心課程,它的培養目標是使學生掌握正確的程序設計方法、具備良好的計算思維能力。通過對該課程的學習,學生不僅要掌握高級語言程序設計中數據類型、句法、語法等基礎知識,還要掌握在實踐中如何運用這些基礎知識的思想和方法,進而養成獨立思考的習慣和利用計算機解決實際問題的計算思維能力,進而為后續計算機課程,如數據結構、操作系統、算法設計等打下良好的基礎。
1建立科學完整的課程內容體系
1.1理論教學環節
本課程的教學內容包括“語法知識”和“程序設計”兩條主線,兩者并重。第一條主線———“語法知識”:以程序設計語言必須具備的功能(數據類型和流程控制)為重點,旨在使學生熟練掌握基本語法知識,具備扎實的理論功底。第二條主線———“程序設計”:包括問題分析、建立數學模型、算法設計和編碼、測試等方面,重點講授程序設計的思想和方法以及程序設計風格,使學生能從更高的角度認識該課程的學習目的,不局限于對語言本身的學習和編程技巧的掌握,更看重對語言應用能力的培養,并在課程中引入軟件工程的思想,指導學生編寫規范的程序。具體內容及學時分配如表1所示。
1.2實踐教學環節
為了分層次培養學生的編程能力,我們在實踐教學環節中設計了3個層次的題目供學生練習,即基礎性題目、設計性題目和綜合性題目。這些練習題目可以幫助學生分別從知識點掌握、簡單程序編寫和大型程序設計三個層次上掌握語言知識、逐步提升程序設計能力。根據知識點布置的基礎性題目,偏重基本知識的熟練掌握,學生在自動評判上機測試系統上完成;具有一定難度的設計性題目,要求學生能將1~3個知識點綜合運用并落實到具體程序的編寫、調試中去;綜合性題目是為優秀學生設計的,要求應用軟件工程的思想和方法編寫大型程序,解決實際問題。在實踐教學中,考慮多樣性和靈活性,為學生提供選擇的余地,鼓勵自主學習。基礎性題目題庫10套,必做6套,其余選做;設計性題目,每一類包括6題,必做3題,選做3題;綜合性題目8題,規模在1000代碼行以上,全部選做,提交作業形式是程序和相關文檔。
2 C程序設計課程教學優化措施
2.1教學模式調整
以提高C程序設計課程教學質量為目的,對傳統教學模式進行更新。就現狀來看,很多C程序設計課程將重點放在C語言,并不符合學習規律要求,這樣就需要將教學重點調整到C程序設計本身上來,包括程序設計思想、方法與算法,重視學生形象思維訓練,培養學生C程序設計專業能力。例如,將全班30名同學身高輸入,輸出最大值。對于此問題的解決要點是選擇合理的算法,即以結構化程序設計目的為依據,確定任務內容后,對任務進行向下逐層分解、逐步細化,直到滿足一個要求為止。為使得學生體會和理解這一思維方式,更直觀的了解程序設計過程,教師不能向以往一樣直接進行講解,而是要引導學生從問題分析入手,促使學生自己逐步找出各個求解步驟算法,并用N-S流圖描述,最終完成程序編寫。對于實例問題,通過初步分析可知求解過程可分為三步,得到第一層N-S流圖,然后對各部分進行求精,且對某部分進行求精時,可以忽略對其他部分的要求。求精步驟1:輸入30個學生身高信息,定義一個一維數組h,并用一個循環來控制輸入,N-S流圖如圖1所示:
求精步驟2:求30個學生身高最大值,選取第一個數值,將其設置為最大值max,然后逐一與剩余數值進行大小比較,N-S流圖如圖2所示:
步驟3:僅需要一個輸出語句,無需進行求精,完成最大值問題的算法求精工作。將所有步驟N-S流圖綜合整理在一起,便可得到最終綜合算法N-S流圖,如圖3所示,根據此N-S流圖便可完成程序的直接編寫。
應用此教學方法進行教授專業內容,教師并不是單純的對語法細節、解釋程序和運行結果進行講解,而是通過一個問題解決的全過程來向學生說明,并且在整個過程中學生也可以參與進去,激發學生的學習興趣。應用靈活的模式進行教學,不僅可以讓學生更好的掌握C語言規范,同時還可以完成實際問題的處理,培養學生C程序設計思想,掌握程序方法與算法。這樣在學生在后期遇到編程問題時,便可以靈活的運用,具有可以解決實際問題的編程能力,而不是單純的C語言。
2.2提高教學靈活性
對于C程序設計課程教學內容,因為復雜程度比較高,想要提高學生對專業內容的掌握效果,需要保證其對學科具有較高的興趣,可以在學習過程中發現問題,并積極解決問題,成為整個教學活動中的主導者,改變以往以教學為中心的教學模式。因此,教師應提高教學的靈活性,增多問題數量,引導學生在解決問題過程中學習,提出問題后由學生自主進行思考、討論與解決,經過分析后可以更深入的掌握學科內容。例如C語言數據類型概念的教學,為保證學生可以切實體會到一般整型數據、長整型數據、單精度數據以及順高精度數據所能保存范圍的差異,可以使學生模仿求1到100間所有自然數之和方法來計算5,且將求階乘變量s定義為短整型,學生可以短時間內得出正確結果。然后改為計算8,學生能夠快速將循環變量終值更改為8,得到正確結果。而一個負數-25216,結果表示出現了“數據溢出”現象。這時學生便遇到了問題,教師便可提醒學生對程序進行部分修改,將求階乘變量s變為長整型,計算得到正確結果。并按照此中方法,依次將程序修改為20和40,通過發現問題、解決問題過程,確定一般整型數據、長整型數據、單精度數據以及順高精度數據所能保存范圍的不同。
結語
計算機基礎課程的教學尤其是程序設計語言的教學是一個系統工程,教學方法也應豐富多樣,不能單純地認為哪一種方法優,哪一種方法劣,應當采用多種教學方法的優化組合。在程序設計語言的教學實踐中,我們還要不斷探索新思路、新方法,為提高學生的計算機應用能力和創新能力而努力.
參考文獻
[1] 黃靜,高延英,楊宇姝.基于計算思維的程序設計課程教學模式研究[J].計算機教育,2017,05:51-54.
[2] 劉在英,楊平,張麗曉.程序設計課程實踐教學模式的探討[J].實驗室研究與探索,2016,10:156-159.