文章編號:1672-5913(2008)10-0067-02
摘要:本文就如何在本科程序設計類課程教學中培養學生的創新能力進行了初步的探討,提出了實施開放式教學的思路和實施方案。
關鍵詞:創新型人才培養;開放式教學;程序設計
中圖分類號:G642
文獻標識碼:B
1引言
大學的課程教學在創新型人才培養中起著無可替代的關鍵作用。我們在長期教學實踐中,對培養創新型人才思想如何具體地在程序設計類課程教學中實施進行了一些有益的探討和嘗試。針對程序設計類課程的特點,在教學理念、教學內容組織、教學過程各環節的實施中都滲透了培養學生創新能力的新思想。本文總結了我們的思路和做法,提出實施開放式教學,有利于培養學生的創新能力。
程序設計類課程是計算機專業的基礎課程,在計算機及其相關專業培養計劃中占有重要的地位,它們既重視培養程序設計的基本理論、基本概念,又重視培養程序設計與開發的技能技巧,最終體現為培養學生用程序解決實際問題的能力。學生解決問題的能力可以總結為能否清晰的提煉問題,進行形式化的表達,再用規范的計算機程序寫出解決方案。在北京工業大學,我們將開放式的教學理念和教學方法應用于程序設計類課程,對培養學生創新能力進行了嘗試。本文總結了我們的一些思路和做法,涉及的程序設計類課程有:高級語言程序設計(或稱C語言程序設計)、C++程序設計、Windows編程基礎等。
2傳統教學過程中的問題與不足
要進行教學改革與創新,首先要研究以前的教學經驗與教訓。計算機科學與技術學科雖然年輕,但也有約50年的歷史,對程序設計類課程教學法的研究一刻也沒有停止過,已經積累了非常多的教學經驗,有了成熟的課程和教學體系,這是我們必須繼承和發揚的。但是,我們在學習繼承這些經驗的同時也體會到諸多傳統教學系統中的問題與不足,我們總結歸納為以下幾點:
⑴ 教學內容安排和教材側重語言規范,輕視程序設計規律。目前絕大多數教材根據語言規范的內在邏輯層次分為若干章節,每章節對語言規范力求面面俱到,求全責備。這種方式確有其優點,層次分明,條理清晰,內容詳盡,對于已經有程序語言基礎的讀者看來確實合理清晰,但對于完全沒有程序設計概念的初學者卻有很多弊端。例如有些C語言程序設計教材中,講解數據類型語法知識,僅整數類型就列出了六種之多;講解各種運算符和表達式,占用相當的篇幅,而這些章節的學習者對編程幾乎還沒有什么體驗。反之,對程序設計方法的學習,對程序設計整體的把握和對編程思維習慣的培養卻明顯不足。過分糾纏語言細節的布局,使得學習難度增加,需要盲目記憶的內容過多。由于沒有編程的成功體驗,死記硬背的東西越多,學生越易產生厭學情緒。這種面面俱到的方法貌似基礎扎實,實則浪費時間,并且越是強調細節,越是難以把握程序設計技巧,僵化學習頭腦,不利于學生提升學習的廣度和深度,不利于創新能力的培養。
⑵ 例題和習題注重解釋和練習語法問題,忽視程序設計方法。由于死記硬背語法帶來的學習難度,使得教師需要相當數量的例題和習題幫助學生理解語法,大量的實踐時間糾纏在語法上,不利于培養學生掌握程序設計方法,從全局角度把握程序;不利于提高分析問題解決問題的能力;也沒有時間、精力和興趣自己查閱資料,擴展知識面。這對創新能力的培養顯然是不利的。
⑶ 考試試題側重語言細節。考試導向是不可忽視的學習指揮棒,特別是對于剛剛經過高考的低年級學生。目前我們看到很多C語言程序設計課程的考試題太多的關注了語法細節,而非程序設計。我們認為在學習用語言進行程序設計的過程中,忽視一些語法細節問題,能夠使學生從更高的層次、更全面的把握知識,學生可以在編程過程中自行學習講課中忽略的語法細節。這樣可以更好的培養學生的探索意識、自學能力,使學生勤于思考、勤于鍛煉創新能力。
為了克服這些弊端,培養學生創新能力,結合程序設計類課程的特點,我們提出“開放”式的教學思路和方法,并在我們的課程教學中實踐,初步取得較好的成果。本文在下面幾個方面介紹我們的想法和做法,供大家參考。
3開放式教學的思路與實踐
⑴ 安排開放式課堂教學內容,提高課堂效率
在高等學校,每門課程的課時是有限的,以C語言程序設計課程為例,許多教師抱怨課時少,難度大。我們在尊重但不拘泥于教材的基礎上,采用了開放式的思路安排教學內容。教學內容安排的指導思想是根據程序設計的需要來學習,以作業和課程設計為驅動,減少單純枯燥的語法學習。“開放式”教學內容安排主要體現在下面兩個方面:
① 教材之內的內容開放。
不墨守成規,大膽對教材內容進行取舍,恰當選擇,以前必講的語法細節少講,甚至不講,有利于提高程序設計能力的內容多講、細講。課上不講的細節留待學生在完成作業和程序設計題目時自行學習和補充。例如C語言程序設計課程,數據類型講解,重用途輕語法細節;順序、選擇、循環三種基本結構的講解,以案例推動,注重程序設計中的應用,以循環為例,for、while、do-while三種基本語句用一個案例,一起講解,節省課時,并且對程序循環也有更深的理解,學生能夠當堂編寫循環程序片段。再如,盡早講解函數,因為結構化程序設計即以函數為基礎,這樣可以更好的滲透結構化程序設計的概念。函數參數是C語言程序設計教學中的重點和難點內容,在編程解決實際問題中也十分重要,需要占用更多的課時,要按教材安排細致講解,并且還要在課程的后期再進行總結提高,歸納值參數、地址參數等用法的不同特點,引導學生體會應用的情況,比如地址做參數常用于返回函數的結果等。
② 教材之外的內容開放。
在課程設計和大型作業的驅動下,大力鼓勵學生提高學習深度和廣度,突破課堂教學的局限。引導學生提出自己感興趣的編程需求,再自己查閱資料,補充知識,形成自己的解決方案,最后成功完成編程實踐。例如,課程設計題目要求學生完成一個小游戲的設計,學生為了將游戲設計的更逼真漂亮,自行學習C語言的圖形顯示方式的相關知識。再如,學生開始編程時沒有結構化程序設計的經驗,使得程序越寫越龐大混亂,這時教師適時引導,可使學生對結構化程序設計有親身的體驗和認識。學生在這樣有意安排的教學過程中有了成功的體驗,極大增加了學習的興趣,挖掘了學生的學習潛力,激活了發現問題、解決問題的創新意識。
⑵ 選擇經典案例,熏陶學生良好的編程習慣
對于初學者,模仿是最好的老師。在課程教學中我們突破課程的局限,選擇了有一定實用價值,有一定難度的經典案例供學生研讀模仿。這樣使學生在學習之初就看到程序的威力與精妙,養成良好的編程思維和編程習慣,也使學生對程序設計有更準確的理解。例如Windows程序設計課程,這門課程的大部分內容要學習MFC類庫。大家知道,MFC的經典而龐大的應用程序架構在短短的課程教學時間內是很難讓學生理解清楚的,因此這門課程采用開放式教學就尤為重要。教材的案例多趨于簡單,盡管有些教師認為已經比較難了,但我們認為這種局限于局部細節的難度不利于提高學生的程序設計能力。我們的想法是越是陷于局部越是難以看清框架,學習越枯燥,不利于激發創造力,不利于程序設計能力提高。我們的做法是課上介紹框架和學習的方法,課后精選了MSDN中的經典案例,布置類似作業供學生模仿。這一過程使學生有了很大的成就感,興趣大增,自信心大增,對于在課上不易弄懂的程序架構問題也開始有了深的思考。
⑶ 設計開放式的課程設計題目,激活學生的創作激情
課程設計是開放式教學體系中激活學生參與激情的關鍵環節。我們選擇的課程設計題目通常有實際的應用背景,有一定趣味性,運用知識點的難度略高于課上內容。課程設計題目是開放的,給出的課程設計題目要求只是課程設計的基本要求,明確告知學生,完成基本要求只能獲得70分的成績,基本內容之外的功能可由學生任意的想像發揮。這樣的安排激活了學生的潛能和競爭意識,促使學生大量閱讀參考資料,學習課內、特別是課外的知識。當他們最終完成課程設計時,就獲得了很好的“頂峰體驗”。而這種“頂峰體驗”正是培養創新型人才不可缺少的。
⑷ 利用好網絡媒體,建立活躍的網絡論壇
網絡的發展給教學活動帶來了新的空間,很多學校也已開始大量借助網絡輔助教學。除了通常方法使用網路媒體輔助教學,我們在開放式教學中充分利用答疑和論壇的環節,教師和學生均可以在網上提出問題和回答問題。特別提倡學生之間的相互答疑,從政策上配合以“積分”等形式,對提問多回答問題多的同學給予獎勵。
⑸ 控制考試的導向作用,提高學生的程序設計能力
考試在學習中的導向作用是毋庸置疑的,針對開放式教學的實施過程,結合程序設計類課程的特點,我們在考試命題時側重考查程序設計能力,盡量避免死記硬背的知識環節。考試題型多為程序閱讀題,程序填空題和綜合的設計題,避免更適于考查單個語法點的選擇題和簡單填空題等。
⑹ 建立開放的師生關系,做學生的良師益友
開放的師生關系是實施開放式教學的保證。建立開放式的師生關系首先要求教師的心靈應該是開放的,教師要用自己的真心平等地對待和熱愛自己的學生。既要愛護基礎好、學習上進的學生,指導他們帶領其他同學使課程學習更上一層樓;還要不歧視基礎差、學習等各方面有問題的學生。另一方面,指導學生開放自己的心靈,克服畏難情緒,增強自信心,樹立正確的、嚴謹的科學研究的態度,充分與老師和同學交流,培養良好的團隊合作精神。學生的心態開放了,他們才能大膽地與教師同學進行互動,才能更好地培養創新能力。
4結語
培養創新型人才是一個重大的、緊迫的、長期的、困難的任務,培養創新型人才就要從今天做起,從我們教師每個日常工作做起。實施開放式的教學就是要開放師生的教學思想,開放教學的內容和組織形式,在開放的思維和環境下,學生的創造力和潛能得到更好的發揮,使學生在成功體驗中培養創新的意識和能力。
參考文獻
[1] 楊冬等. 任務驅動的高級語言程序設計教學[J]. 吉林大學學報(信息科學版),2005,(8):29-31.
[2] 張麗靜,潘衛華. 高級語言程序設計教學改革研究與實踐[J]. 中國電力教育,2007,(11):48-49.