姜薇+楊文嘉
摘要:計算思維能力培養是高校計算機教育的重要任務。本文針對高校程序設計課程傳統教學模式的問題,提出基于計算思維的C程序設計公共基礎課程教學改革方案,對教學內容、教學方法、考核方式等方面的改革進行了探討。
關鍵詞:計算思維;程序設計課程;教學改革
中圖分類號:G642.0 文獻標志碼:A 文章編號:1674-9324(2017)34-0260-02
C程序設計課程是高校計算機教育公共基礎課程之一。對高校大學生來說,它不僅是語言技能的培養,更重要的是對學生創造性思維的信息素質培養過程,也就是培養學生實現問題求解的思維方式,即計算思維能力。程序設計課程的學習有兩個重要方面:算法學習和編程實現。算法學習即學習問題求解的方法;編程實現是利用計算機編程實現算法,即理解計算機是如何實現算法的。C程序設計作為計算機教育的公共基礎課程,應使學生在掌握C語言語法知識基礎上,掌握問題求解的算法和實現算法的具體過程,具備運用C語言編寫程序和解決問題的能力,同時培養學生嚴謹的程序設計習慣、科學的思維能力及較強的動手能力,這些都需要通過強化計算思維訓練實現。基于計算思維的C程序設計課程目標就是要在教會學生計算機編程的同時,培養計算思維能力和解決實際問題的能力。
一、計算思維
計算思維、邏輯思維、實證思維是人類認識世界和改造世界的三種基本科學思維方式。邏輯思維又稱理論思維,它以推理和演繹為特征,以數學學科為代表。實證思維又稱經驗思維,以觀察和實驗獲取自然規律為特征,以物理學科為代表。計算思維又稱構造思維,它以設計和構造為特征,以計算機學科為代表,通過算法過程的設計與實施解決問題。計算思維的概念是由美國卡內基·梅隆大學計算機科學系主任周以真教授在2006年提出的。周以真教授認為,計算思維是運用計算機科學的基礎概念進行問題求解、系統設計、理解人類行為等一系列思維活動。
二、C程序設計課程教學現狀和改革必要性
目前高校程序設計課程一般采用傳統教學模式,即按照先介紹該語言數據類型及運算符、表達式,然后再介紹其語法規則,講解例題,最后布置作業的模式來組織教學。這種以教師為中心的灌輸式教學模式能較好地保證知識的系統性,但因知識枯燥,學生學習的積極性受到影響,在一定程度上束縛了學生思維的發展,學生實踐能力不足,綜合分析能力及創新能力薄弱,難以滿足當今社會對人才培養的要求。近年來,計算思維能力的培養已經成為高校計算機基礎教學改革的目標。教育部高等學校大學計算機課程教學指導委員會提出了“大學計算機基礎課程教學基本要求”,明確了以計算思維為導向的計算機基礎教學改革方向,目的是通過梳理核心知識體系,改革教學內容和教學方法,將計算思維培養建立在知識理解和應用能力培養基礎上[1],以提升學生的計算思維能力。由于多年來我校的C程序設計課程教學內容主要以講授C語言的語法規則為主,學生的計算思維能力普遍欠缺。因此,急需將C語言的編程基礎和計算思維的培養結合起來,對C程序設計公共基礎課程進行教學改革,以提高我校程序設計語言公共基礎課程的教學質量,培養學生的編程能力、計算思維能力及應用創新能力。
三、基于計算思維能力培養的C程序設計課程教學改革
基于計算思維的C程序設計課程教學改革的重點在于突出算法設計和計算思維培養。因此,在教學過程中,我們圍繞計算思維的培養對該課程的教學體系進行重新審視和定位,改革課程教學內容、教學方法、考核方式等,構建基于計算思維的C程序設計課程教學體系,將計算思維貫穿課堂教學、實驗教學、創新活動、課程考核等教學過程的各個環節,激發學生學習熱情,變知識的教學為思維的培養。
1.教學內容改革。程序設計課程中的許多知識為計算思維的培養提供了很好的詮釋和生動的案例,體現了許多計算思維的核心思想,例如利用循環迭代求解、遞歸問題求解、利用函數模塊化求解等,這些思想與方法有助于學生更加深刻地理解計算思維的本質和計算機求解問題的過程,因此程序設計課程是最適合培養學生計算思維的課程。C語言具有知識點多、概念復雜、規則繁多、使用靈活、自由度大、抽象度深等特點,而計算思維又涉及計算機語言的編程思路和基本方法,特別是對問題進行符合邏輯的科學分析,抽象到數學層次上,并進行算法設計、編程與調試。
2.教學方法改革。(1)引導學生理解計算思維的本質,樹立計算思維的意識。計算思維的本質是抽象和自動化,抽象是為要解決的問題建立求解模型,自動化是通過設計算法和編寫程序實現問題的自動求解過程。在課堂教學中,結合實際問題求解的過程,要引導學生理解計算思維的本質,掌握抽象和自動化解決問題的方法,樹立計算思維的意識。(2)采用“案例驅動”的教學手段,調動學生學習積極性。在教學過程中,用任務、案例和問題調動學生學習的積極性,通過完成任務和解決實際問題來提高學生分析問題和解決問題的能力。(3)注重算法設計,提高學生計算思維的能力。掌握計算機求解問題的各類方法是培養學生計算思維的關鍵。以計算思維培養為核心的程序設計課程的重要任務之一,就是要在教學的過程中讓學生學會程序設計的方法和各類問題求解的算法,加深對計算機自動化處理問題的思想與方法的理解。C程序設計課程有許多典型算法,例如排序、查找、判斷素數、求勾股數、求水仙花數、字符加密等,針對具體問題。(4)尊重學生個體差異,培養計算思維的多樣化。由于不同的學生會使用不同的學習方法和思維方式,教師應尊重每位學生的個體差異性,鼓勵學生從不同角度認識問題,并用不同的方式表達算法,用不同方法實現問題求解,同時教師給予適當的評價。例如,百錢百雞問題,鼓勵學生用三重循環和二重循環兩種算法編程,然后對兩種算法進行比較,讓學生認識到采用二重循環可以大大減少循環次數,提高算法的性能。(5)將實驗教學與計算思維相結合,提高學生動手實踐的綜合能力。實驗教學是提高學生的基本技能、應用能力和創新能力的重要環節。在C程序設計實驗教學過程中,將實驗內容與計算思維培養相結合,在實踐中注重培養學生良好的編程習慣,強調先進行算法設計再編寫程序,通過加強算法設計,提高學生的計算思維能力和解決問題能力。(6)鼓勵學生參加創新活動,培養計算思維和創新能力。為了培養學生創新意識和創新能力,提高學生計算思維能力和綜合運用所學知識解決實際問題的能力,通過鼓勵學生參與大學生科研訓練計劃、大學生科研參與計劃、大學生創新行動計劃等創新活動和科研項目,多途徑培養學生的計算機應用能力、計算思維能力和創新能力。
3.考核方式改革。為了加強過程管理,全面考核學生的學習效果和綜合應用能力,近年來我校確立了以計算思維能力培養為導向的C程序設計課程考核內容和考核方式。考核內容由以往重點考核C語言語法知識轉變為更加注重考核學生的算法設計能力和解決實際問題的能力。考核方式采取過程性評價、階段性評價和終結性評價相結合的方式。C程序設計課程考核分為理論考核和實驗考核,理論成績由平時成績(占15%)、期中考試成績(占15%)、期末考試成績(占70%)按比例合成,實驗成績由平時成績(占30%)、期中考試成績(占20%)、期末考試成績(占50%)按比例合成。
計算思維能力培養是當前高校計算機基礎教學的主要目標和改革方向。C程序設計課程是高校計算機教育的重要基礎課程。通過基于計算思維的C程序設計公共基礎課程教學改革,可以使學生在掌握C語言語法規則的基礎上,培養學生計算思維能力和創新能力,從而進一步提高計算機程序設計公共基礎課程的教學質量。
參考文獻:
[1]教育部高等學校大學計算機課程教學指導委員會.大學計算機基礎課程教學基本要求[M].北京:高等教育出版社,2016.
[2]郭福亮,崔良中,李永杰,周鋼.基于計算思維能力培養的計算機基礎教學改革探索[J].計算機工程與科學,2014,36(A2):162-164.
[3]丁金鳳,李英梅,徐建山,盛琳陽.基于計算思維的程序設計類課程教學實踐[J].計算機教育,2012,(15):65-68.