摘要:程序設計類課程是實踐性非常強一系列課程,本文針對本校程序設計類課程實驗教學改革實踐中的教學內(nèi)容、教學方法、教學手段等方面進行了探討。實踐表明通過這些方面的改革培養(yǎng)了學生獨立分析問題、解決問題的能力和創(chuàng)新意識,不僅符合計算機學科發(fā)展的要求,同時也適應了社會和產(chǎn)業(yè)的人才需求。
關鍵詞:程序設計;實驗教學;協(xié)作式教學
中圖分類號:G642 文獻標識碼:B
程序設計是計算機專業(yè)學生必須掌握的專業(yè)技能,我校對該類課程的教學十分重視,學生的學習興趣也都很高,但教學效果普遍不太理想。我們結合近年來從事實踐教學的經(jīng)驗,就計算機程序設計類課程的實驗教學模式的改革做了以下探討。
1注重教學內(nèi)容的系統(tǒng)性與科學性
程序設計類課程之間的內(nèi)容具有一定的連貫性,如目前大多數(shù)的院校先在一年級開設C或C++,接下來就是基于C或C++的數(shù)據(jù)結構和面向?qū)ο蟪绦蛟O計,因此我們一定要合理、科學地安排這些課程的實驗教學內(nèi)容。如在C語言課程中除了講授基本的程序設計的語法使用、程序設計的思想之外,還必須花一定的時間講解結構和鏈表,以及逐步灌輸面向?qū)ο笠恍┧枷?,為后繼C++和數(shù)據(jù)結構等課程打好基礎,注意內(nèi)容的系統(tǒng)性,避免重復[1,2]。
注意教學內(nèi)容的不斷更新。計算機技術的發(fā)展非常迅速,我們應該根據(jù)學科發(fā)展、經(jīng)濟發(fā)展及市場人才的需求來及時地更新教學內(nèi)容。我院從最初的“Pascal語言程序設計”、“C語言程序設計”到后來采用以C++語言為主要編程語言。如在程序設計基礎課程中以C++作為基礎語言,在“數(shù)據(jù)結構”課程中以C++語言代替C語言,在數(shù)據(jù)庫課程中以Visual C++作為前臺開發(fā)的實驗環(huán)境。近年來根據(jù)社會對計算機專業(yè)人才的需求以及程序設計發(fā)展的趨勢,目前我院計劃計算機專業(yè)學生以Java作為基礎語言課程(軟件專業(yè)繼續(xù)開設C++語言課程),并增開基于.net的相關課程。
2實驗教學和理論教學有機結合
將實驗教學與課堂講授有機結合起來,進行恰當銜接,可以提高學習效率。首先,教師必須充分準備好實驗的內(nèi)容,及時解決學生實驗過程中遇到的問題,同時采納學生提出的合理化意見并及時改進。其次,在每周一次的教研活動時,同門課程的教師可集體備課,研究教材與實驗教學的方法,討論學生的學習情況,交流心得,研究考
試及評分方法。
理論課教師需兼上實驗課,這樣可以了解學生的實驗課情況,并經(jīng)常把學生出錯的問題和難理解的問題通過課堂再次講解,同時應與本課程的其他實驗課教師溝通交流,便于課堂教學的改進,把理論課與實驗課統(tǒng)一組織、計劃,避免理論課與實驗課脫節(jié)。
3注重基本技能的訓練,培養(yǎng)學生分析解決問題的能力
(1) 基本技能的訓練
程序設計類課程是實踐性非常強的課程,通過基本語法知識、基本算法的學習,最后形成一系列的基本技能,包括語法知識的靈活運用、上機調(diào)試技巧、編寫代碼等。因此在實驗教學中應有意識地進行這些方面的訓練,比如帶領學生讀一些經(jīng)典的程序,分析經(jīng)典的算法并進行模仿,上機調(diào)試程序并對運行結果進行評析,對已有程序進行修改實現(xiàn)新的功能。通過以上訓練,學生既復習了基本的語法知識,又獲得了一定的技巧。
實驗教學是教師和學生的共同活動。但是目前一些學生基礎比較薄,動手能力和獨立工作能力相對也較差,加上或多或少的惰性,因此依賴教師的情況比較嚴重。為此我們在實驗教學中開展了協(xié)作式教學方法,增加了學生與教師的互動,培養(yǎng)學生分析解決問題的能力,收到了良好的教學效果。
(2) 開展協(xié)作式教學法
學生成立學習小組,每組4~5人,在每次實驗課和課余時間,每個小組對教師事先布置的內(nèi)容進行討論,并且將討論內(nèi)容進行總結。下次實驗課上教師要留出一點時間讓每組總結討論結果,必要時教師做簡單的總結。教師發(fā)現(xiàn)好的設計思路和想法時,應鼓勵各小組之間相互學習、相互討論、集思廣益,發(fā)揮大家的創(chuàng)造力去將這些好的想法加以實現(xiàn)。充分利用開放的交互網(wǎng)絡實現(xiàn)資源共享,如網(wǎng)上答疑、網(wǎng)上聊天、BBS、討論區(qū),同學們可就學習中遇到的問題展開討論,任課教師可定期為同學們解答。同時在有限的設備條件下,學校應盡量提供更好的實踐環(huán)境和實踐機會,盡可能地開放實驗室,鼓勵學生獨立工作,培養(yǎng)獨立思考的能力和創(chuàng)新精神[3]。
4考試和評分方法的改革
根據(jù)計算機程序設計課程實踐性強的特點,我們在考核中提高了平時實踐和討論的成績比例,占到50%甚至更高。平時實踐中增加單元考核的內(nèi)容,并將每次考核的分數(shù)按相應比例記入總評分。另外由于開展了討論教學,因此教師根據(jù)學生的情況和小組的考評情況將每次討論成績按比例記入總評。在期末的實驗考試中,利用開發(fā)的實驗教學平臺進行上機考試,學生隨機從試題庫中抽取試題(與平時訓練的題目類似),然后由系統(tǒng)自動評判。這樣即節(jié)省了老師批改試題的時間,而且可以減少相互抄襲現(xiàn)象。由于考試題目與平時訓練的題目類似,可以促使學生在平時實驗中獨立分析問題,解答問題。
在每學期末,我們用2周的時間開設課程設計,讓學生結合自己的專業(yè)或興趣進行選題,然后自編程序上機調(diào)試,完成一個大作業(yè)或一個相對完整的系統(tǒng)。通過這一過程可讓學生了解并熟悉整個系統(tǒng)的開發(fā)過程與操作的步驟。我們認為,通過考試和評分方法的改革能更好地考查學生應用計算機的水平,更好地培養(yǎng)學生把學到的計算機基礎知識和基本能力應用到專業(yè)實際問題的處理上。
5小結
這幾年的教學實踐表明,上面介紹的一些整合思路是行之有效的,激發(fā)了學生程序設計的興趣,開發(fā)了學生的潛能,提高了學生的編程能力和解決實際問題的能力。這幾年我們在大學生ACM競賽、省市級的程序設計大賽中取得了優(yōu)異的成績,有大批的學生通過了國家級程序員、高級程序員資格證書。計算機知識和技術更新非常快,對于培養(yǎng)這類人才的專業(yè)課程,特別是程序設計類課程,必須及時更新教學理念,科學進行課程設置,合理安排教學計劃,運用網(wǎng)絡化教學手段,在教學內(nèi)容、教學方法和考核方式上進行一系列的更新與整合,以適應新形勢下人才培養(yǎng)的需要。
參考文獻:
[1] 張敏霞. 程序設計語言課程教學方法改革的探索與實踐[J]. 中國高教研究,2004,(2):90.
[2] 張基溫. 計算機課程體系整合暢想[J]. 計算機教育,2004,(8):59.
[3] 孫宇清,馬軍. 在高級程序設計語言教學中對學生創(chuàng)新能力與合作精神的培養(yǎng)[J]. 高等理科教育,2000,(3):54-56.