俞衛華 鄭林濤
【摘 要】闡述了程序設計基礎課程教學中培養計算思維的重要性,分析了程序設計基礎課程教學中普遍存在的問題,提出融合計算思維培養的程序設計課程教學方式,在教學實踐過程中結合學生實際情況,將計算思維融入分級教學、分組互助和任務驅動等教學模式中,提高學生的學習積極性及解決問題的能力。
【關鍵詞】程序設計基礎;計算思維;教學效果
0 引言
程序設計基礎作為各個高校面向新生普遍開設的一門信息類基礎課程,以高級編程語言為平臺,介紹計算機程序設計的思想和方法,既為后續相關課程的學習打下基礎,也有利于幫助學生理解基本計算思想和方法,培養應用計算機求解問題的能力。該課程的教學效果無論是對學生信息素養的提升,還是對學生后續專業課程的學習都具有極為重要的影響。
入學新生普遍沒有接受過系統的程序設計訓練,脫離以往主要依靠學校和家長督促的學習環境,自主學習意識薄弱,自主學習能力較差。由于這些因素的影響,程序設計基礎課程的教學效果往往并不理想,如何提高程序設計基礎課程的教學效果,培養學生應用計算機解決問題的能力成為普遍關注的問題。
2006年3月,美國卡內基梅隆大學周以真教授(Jeannette M.Wing)在權威刊物《Communications of the ACM》上撰文Computational Thinking,首次清晰系統明確提出了計算思維(Computational Thinking)的概念。計算思維是運用計算機科學的基礎概念去求解問題、系統設計以及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動[1]。計算思維的本質是抽象(Abstraction)和自動化(Automation),而這兩個內容恰好反映了計算的根本問題,即什么能被有效地自動進行。它雖然具有計算機科學的許多特征,但是計算思維本身并不是計算機科學的專屬。計算思維代表著一種普遍的態度和一類普適的技能,每一個人都應熱心于它的學習和運用。
計算思維概念一經問世,得到了國內外科學界和教育界的廣泛關注和認同[2-3]。“計算思維”不是狹義的計算機編程,而是運用計算的基本思想概念去求解問題、設計系統和理解人類的行為; 如同“讀、寫、算”能力一樣, 它是所有人都應具備的思維能力。
1 程序設計基礎課程教學中存在的問題
1.1 重視語言語法學習,忽視程序設計能力的培養
由于程序設計由高級程序設計語言來描述,實際教學中容易注重語言語法的學習,忽視算法設計和程序結構的構建。傳統課程評價和課程考試也偏重于語言語法規則的考察,背離了該課程最初的教學目標。學生往往熟悉語言的語法規則卻不能針對某個具體問題順利編寫出基本的程序,沒有使用計算機解決問題的思維習慣。
1.2 上機實踐環節薄弱
程序設計課程中一個重要的環節是上機實踐。由于課程學時等因素的限制,學生上機調試程序的機會較少,加之重理論輕實踐的固有觀念,學生在學習過程中常常以看懂書上的程序為目標,能夠寫出程序代碼,卻不能順利的調試運行程序,導致對課程缺乏興趣,產生畏難情緒。
1.3 教材和教法不能適應當前教學的要求
程序設計基礎課程相關的傳統教材往往僅專注于對編程語言的語法細節進行詳細講解,而忽視了對學生本身程序設計能力的培養。教學方法也以滿堂灌輸式教學為主,課堂氣氛較沉悶,沒有在互動中滲透對學生思維能力的培養,調動他們的學習熱情。
2 融合計算思維培養的程序設計基礎教學
2.1 明確學習目的
在授課之初明確課程的目標和意義,學習程序設計不僅獲得專業知識,而且能夠提高邏輯思維能力、計算思維能力等,潛移默化中提高學生的綜合素質,促進其他課程的學習。其中,計算思維的培養將帶給學生受益終身的問題求解能力。明確了課程目標和學習目的,有助于學生端正學習態度,增強學習積極性。
2.2 分級教學,不同程度融合計算思維
由于不同學生的計算機基礎差異較大,所以在進行程序設計基礎課程教學時,通過對學生的計算機基礎和編程知識進行摸底測試,了解學生實際情況,進行分級教學。對于基礎好的學生,在完成教學大綱全部授課內容的同時,布置其他基于計算思維案例的實驗內容,以強化計算思維能力的培養;其他學生重點完成教學大綱內的知識學習,強化問題求解能力的培養。
2.3 分組互助,達到雙贏
在問題討論和上機實驗時,將不同程度的學生組成學習小組,遇到問題,小組內的學生首先進行溝通交流,尋找解決方法,這個交流過程不僅幫助程度較弱的學生掌握了學習的方法,提高了學習效率,也有助于程度較好的學生鞏固已有知識,開闊思路,提高學習興趣。分組互助的形式比傳統的學習形式能更好的促進計算思維的滲透,使學生充分發揮主觀能動性,計算思維能力隨著實際問題的解決也得到了提高。
2.4 任務驅動,課內外聯動
在課堂上布置學習任務,學生課下進行文獻檢索和學習,組織學生將自學內容總結歸納后在課堂上討論、講解。這一過程形成課內外教學活動的聯動,學生不僅掌握了學習內容,而且學會了如何根據要求來進行資料的檢索分析和有價值信息的提取總結。這樣的方式也從一定程度上解決了程序設計課程教學內容多、課時少的矛盾。
2.5 案例式教學滲透計算思維
計算思維與程序設計基礎課程教學的結合主要體現在兩個方面:首先將抽象和自動化兩個計算思維核心思想貫穿于整個教學活動過程中,其次根據所需要講授的具體知識點適時地引入計算思維中其他基本概念和思維方法。針對主要教學模塊和核心內容,設計以問題引導反映計算思維思想的相關教學案例,使學生了解相應教學模塊所關心的問題和解決思路。
3 結束語
作為普通高等院校面向大一新生普遍開設的一門信息類基礎課程,程序設計基礎中的許多知識點都為計算思維提供了很好的詮釋和生動的案例。將程序設計基礎教學與計算思維培養結合起來,不僅可以從計算思維的角度重新審視和組織程序設計基礎的課堂教學,取得更好的教學效果;另一方面可以加強對計算思維能力的培養,使學生更好地應用計算思維來解決問題,促進學生綜合素質的提升。
【參考文獻】
[1]林旺,孫洪濤.基于軟件應用的計算思維能力培養教學設計[J].中國電化教育, 2014(11):122-127.
[2]龔沛曾,楊志強,朱君波,高枚.以計算思維為切入點的計算機基礎課程聯動改革與實踐[J].中國大學教學,2015(11):53-56.
[3]陳國良,董榮勝.計算思維與大學計算機基礎教育[J].中國大學教學,2011(1): 7-11.
[責任編輯:田吉捷]