摘要:課程改革以培養和訓練學生的計算思維和創新能力為核心,將“計算思維”引入《C語言程序設計》教學過程,并以此為基礎設計教學內容,展開日常教學活動。作為程序設計類課程的教學嘗試和教學改革,現將其中的一些教學實踐與大家共同探討和分享,希望能為其他課程的教學改革提供借鑒。
關鍵詞:計算思維;程序設計;課程改革
中圖分類號:G642.0 文獻標志碼:A 文章編號:1674-9324(2012)11-0048-02
引言
目前,計算思維能力的培養成為國際和國內計算機教育需要重點研究的重要課題。在國外,包括美國計算機協會、美國國家計算機科學技術教師協會、美國數學研究所等組織在內的眾多團體都積極地參與計算思維的討論。在國內,深圳大學的陳國良院士、桂林電子科技大學董榮勝教授、中國科學院計算技術研究所所長李國杰等多位專家學者也在這方面進行了一些有益的探索。為實現培養和訓練大學生計算思維、計算機基礎教育的現實要求,《C語言程序設計》作為大學計算機基礎課程的重要組成部分,是培養學生計算思維的理想課程。該課程的目標:學習問題求解的思路和方法,理解計算機思維過程,提高學生的計算機應用開發能力、研究創新能力以及計算思維和計算能力。因此,如何深化《C語言程序設計》課程的改革,組建貫穿計算思維培養的知識體系,探索適宜計算思維能力培養的教學方法都是需要我們認真思考的問題。通過積極探索和嘗試,培養計算思維能力,既有助于計算機基礎教育學科的健康、持續發展,又有助于國家對戰略型人才的培養。
一、《C語言程序設計》課程思維性教學改革
下面,以思維性教學為基礎給出《C語言程序設計》課程的教學內容設計。教學內容設計分為課堂教學內容設計和實踐環節設計兩部分。
1.課堂教學內容設計。課堂教學內容的設計基于兩個出發點:一是計算思維及相關知識和基本素養,二是以實際問題為目標的解決應用。內容組織采用“問題導入語法、語法引入應用、應用面向實踐”的方式,突出知識點與技術點的關聯性,注重內容在應用上的層次性,兼顧整體在理論上的系統性,使學習者能夠學以致用,真正理解程序設計及其思想。課程分基本應用篇和理論提高篇兩大部分,共11個教學單元,主要包括:語言概述、基本數據類型與運算、語句與流程控制、數組、指針、模塊化處理、復雜問題描述、編譯預處理與外部函數、文件的操作、程序設計方法、工程化程序設計。內容設計以培養計算思維能力為目標,對C語言及程序設計的基本概念、原理和方法,從基本語句、基礎使用、理論提升三個層面逐層展開。覆蓋了計算思維講授和基本素養的培養兩個方面,教學建議學時為36學時。基本語句層面從培養學生程序設計基本概念和初步邏輯思維能力入手,主要包括:語言概述、基本數據類型與運算、語句與流程控制三方面的知識,重點突出C語言的基本數據類和程序控制的基本構架。通過學習,使學習者初步掌握C語言的基本語法和程序設計的基本概念。基礎使用層面從培養學生分析問題和解決問題的能力入手,主要包括數組、指針、模塊化處理、復雜問題描述、編譯預處理和文件操作六方面內容。通過學習,使學習者初步掌握分析問題和解決問題的方法。
理論提升層面通過引入程序設計方法和工程化程序設計的理論,加強邏輯思維能力和程序設計能力培養,進一步提高分析問題和解決問題的能力,使學習者能夠真正掌握程序設計技能。
2.實踐環節設計。理論教學和實踐環節是課程教學的兩大環節。在進行理論教學的同時,還必須加強實踐環節。對于實踐環節,實驗內容需要精心準備,主要包括以下原則:①課程實驗采用集中實驗和自主實驗相結合的原則。其中,集中實驗根據課程安排到統一的實驗室進行實驗;自主實驗則由學生利用自己的機器或學校內外公有計算機實驗室自主完成實驗任務。②課程實驗包括一般性實驗項目(包括:實踐型、設計型實驗)和綜合設計實驗。③課程實驗以“實驗指導書”為依據,在任課教師的指導下,由學生通過集中實驗或分散實驗完成各門課程所規定的實驗項目。為培養學生獨立解決問題的能力,首先要鼓勵學生在實驗過程中首先自主解決所遇到的問題,其次通過與同學、老師或網上查閱資料來解決問題。實踐環節包含10個單元,主要包括:認識程序、解決一個簡單的問題、計算機思維過程、大量數據處理、認識鏈表、模塊化分割復雜問題、復雜問題存儲、信息的存取處理、高效的解決問題、工程化程序設計基礎。每個實驗單元包含4~5個實驗項目,深度、難度以專業為基礎分級,從而更好地面向具有不同應用基礎的學生,建議學時為27學時。通過實踐環節進一步強化思維能力訓練,提高信息素質。
3.教學方法設計。《C語言程序設計》思維性教學方法要注重將“不可見”變為“可見”,變“無關”為“相關”,以及復雜問題的分離與分層處理等。在講授《C語言程序設計》課程時,應與所面向的學科專業進一步結合,通過合適的、面向不同學科專業的實例達到既闡釋計算思維,又給出面向特定學科專業的范例的教學效果。針對《C語言程序設計》課程的三個層面的內容設計,以下給出對應的思維性教學方法案例。①“案例驅動”教學,興趣引導。在基本語句層面采用“案例驅動”教學法,以應用實例為切入點,由問題引入知識點,由知識點帶動語法掌握,由語法規則推進計算思維的理解。也就是說,讓學生對所學知識產生興趣,有了一定的感性認識之后,再提升到理論高度,循序漸進地掌握知識。采用案例教學方式,通過形象思維加深理解鞏固知識,便于學生掌握利用計算機程序設計來解決問題的技術與方法,有助于強化邏輯思維能力的培養。②“指導-大運動量實踐-反饋訓練”教學,加強創造性思維培養。在基礎使用層面采用“指導-大運動量實踐-反饋訓練”教學法,難點在于讓學生理解、習慣算法構造的思維方法。針對《C語言程序設計》技術性與綜合性較突出的特點,通過課程實習、課程設計兩個環節來實現實踐過程,前者偏重于對課程內容的理解,后者側重于軟件設計的綜合訓練,兩者相互結合,促進對學生邏輯抽象能力和創新能力的培養。
二、總結與展望
貫穿計算思維的《C語言程序設計》課程改革,作為一種教學改革和教學嘗試,其目的就是將程序設計中所體現和涉及的計算思維,通過日常教學潛移默化地植于學生的日常思維過程中,使其在實際應用中自覺地使用計算思維自主解決問題。幫助他們理解“什么是計算思維?如何應用計算思維解決問題”,并在解決問題中自主建構計算思維、提升計算能力,進而為提升創新思維和創新能力奠定基礎。
參考文獻:
[1]Wing J M.Computational Thinking[J].Communication of the ACM,2006,49(3):33-35.
[2]陳國良,董榮勝.計算思維與大學計算機基礎[J].中國大學教學,2011,(1):7-11.
[3]董榮勝.計算思維與計算機導論[J].計算機科學,2009,36(4):50-52.
[4]九校聯盟(C9)計算機基礎教學發展戰略聯合聲明[J].中國大學教學,2010,(9):4-9.
[5]教育部高等學校計算機基礎課程教學指導委員會.高等學校計算機基礎教學發展戰略研究報告暨計算機基礎課程教學基本要求[M].北京:高等教育出版社,2009.
[6]董衛軍,等.C語言程序設計[M].北京:電子工業出版社,2011.