


摘要:計算思維、邏輯思維、實證思維被稱為三大科學思維,其中計算思維是當代大學生適應智能化時代的必然需求。本文在分析計算思維培養的必要性基礎上,以Python課程為例,通過設計計算思維培養模型、分層教學,并融入計算思維培養模式,來探尋有效的編程教學方法,優化編程教學策略。
關鍵詞:計算思維;分層教學;教學實踐
中圖分類號:G434 文獻標識碼:A 論文編號:1674-2117(2024)17-0000-04
2006年,周以真教授首次提出計算思維及其概念,明確計算思維是產生于問題解決過程中的思維活動,是在問題解決過程中采用計算機解決問題的方式界定問題、抽象特征、建立結構模型、合理組織信息資源等一系列思維活動。同時指出,具備計算思維能力的學生,能夠根據信息資源做出判斷,形成解決問題的方案,總結解決問題的過程和方法,并遷移應用到簡單或復雜的問題情境中去。同時,編程學習是一種思維訓練,強調嚴謹、科學地分析問題,尋找解決思路。因此,在編程教學中融入對計算思維的培養,能有效提升學生的抽象能力、編程能力,最終提升其解決問題的能力。
計算思維培養的必要性
1.學生發展的需要
隨著外界環境的變化,大學生每天接收大量來自學習和網絡媒體的信息,僅憑傳統思維來處理這些數據將消耗大量時間,花費大量精力,而運用計算思維可以在短時間內掌握問題的核心,節約時間和精力。具備計算思維能力的學生,在遇到問題時,不僅可以模擬計算機建構模型、設計算法解決問題,還能成為新模型算法的發明者、創造者,提高創新能力。同時,計算思維是信息素養的能力體現,是21世紀中葉人人必備的適應數字化時代的基本能力。
2.有效教學的需要
計算思維能力培養的目標是要將復雜問題進行拆解,通過抽象關鍵數據、建立模型、約簡等形式解決問題,該過程可同步應用于同類問題的解決。課堂上,對于計算思維的學習不僅要學會對數字設備的訪問,還要利用數字設備提高學科學習、問題解決及創新能力。在Python教學中,融入計算思維的培養,引導學生利用計算思維去發現問題、解決問題,可提高學生對問題的分析能力和解決能力。
Python程序設計課程教學現狀分析
1.課程特點
計算機程序設計教學是高校計算機基礎教學的必修課,非計算機專業的學生需學習該課程。通過編程學習,學生可以掌握一定的編程能力和開發能力,培養思維能力,成為能夠掌握計算機技術的高素質人才。Python編程語言的設計哲學是“優雅”“明確”“簡單”,易于學習且功能強大。其具有學習難度低、開發效率高、資源豐富、可移植性好、拓展性好等特點,在科學計算、網絡爬蟲、數據處理、人工智能等領域有廣泛應用。此外,Python還擁有大量開源第三方庫,學習者無需了解語言細節,可以直接通過接口使用相關功能,方便學習和應用。但由于Python是新興語言,教師在教學中要將它與傳統語言的教學區分開來,尋找適合該課程學習的教學方法。
2.高校計算思維培養現狀分析
雖然程序課程在高校教學中占據重要地位,但很多教師在進行教學時卻比較盲目,采用傳統的教師講學生聽、教師演示學生模仿的模式,教師占據課堂主導地位,實際教學過于重視傳授學生基礎知識、上機操作技能,未引導學生開展深層次思考,過分注重定勢套路的傳授,對思維過程的重視不足,缺乏對計算思維的培養。這種教學模式無法將知識與解決問題的方法上升到思維的高度,導致學生的思維和創新能力無法得到充分發展,使得學生素養發展受到阻礙。
3.學生學習基礎分析
計算思維培養的是學生解決問題的能力,因此,在教學過程中應充分尊重學生的主體地位。但由于受地區、專業、家庭環境等因素的影響,進入高校的學生計算機學習經歷、基礎存在很大差異,雖然經過之前大學計算機基礎課程的學習,學生的計算機操作能力有了一定提升,但他們對計算機的工作過程還是一知半解,程序學習的基礎存在差異。
教學模式分析
1.計算思維培養模型分析
利用計算思維解決問題需分步進行,并融合抽象、建模、約簡、遞歸等方法,以實現問題的最優解,圖1為計算思維培養模型。
(1)提煉關鍵信息——抽象問題
在遇到復雜問題情境時,能從多種復雜問題情境中抽象提煉出關鍵信息,即完成信息的提煉重組過程。例如找零問題,商店需要找錢給顧客,現在只有20元、5元、1元的人民幣若干張,要求輸入一個整數金額,給出找錢方案,假設人民幣足夠多,設計一個算法,輸出所有可能的找零方案,同時輸出所需紙幣的張數,從所有找零方案中尋找輸出所需紙幣張數最少的情況。
提煉關鍵信息,建立數學模型,轉換成數學問題,如輸入整數金額為m,設20元人民幣需要x張,5元人民幣需要y張,1元人民幣需要z張,該問題抽象成求20x+5y+z=m的所有正整數解,并尋找x+y+z的和最小的情況。
(2)形成可能方案——重組數據,尋找最優解
通過給定條件,尋找解決問題的多種方案,對比不同方案的優缺點及實現條件,形成適合問題解決的最優方案。針對前面提到的找零問題,可以提出以下三種方案。
方案一:20元人民幣所需張數x從0到m//20變化,5元人民幣所需張數y從0到m//5變化,在滿足1元人民幣所需張數z=m-20x-5y,且z>=0的情況下,尋找x+y+z的和s,即為紙幣所需總張數,從所有的s中尋找最小值,即為所需紙幣最少的情況。
方案二:5元人民幣所需張數y從0到m//5變化,20元人民幣所需張數y從0到m//20變化,在滿足1元人民幣所需張數z=m-20x-5y,且z>=0的情況下,尋找x+y+z的和s,即為紙幣所需總張數,從所有的s中尋找最小值,即為所需紙幣最少的情況。
方案三:20元人民幣所需張數x從0到m//20變化,x每變化一個值,5元人民幣所需張數y的值從0到m-20*x變化,在滿足1元人民幣所需張數z=m-20x-5y,且z>=0的情況下,尋找x+y+z的和s,即為紙幣所需總張數,從所有的s中尋找最小值,即為所需紙幣最少的情況。
分析不同解決方案,從中選擇最優解,即為最佳方案。
(3)遷移推廣——類似問題
在問題方案的形成和最優解尋找的過程,經歷了抽象、建模、約簡等過程,最優方案可同步推廣到相應問題解決方案中,如尋找孿生素數問題、不同規格包裝盒選擇問題、餐廳點餐套餐搭配問題等。
2.優化Python程序設計課程教學策略
(1)開展分層教學
教師可以以班級為單位,通過問卷調查、知識測試了解學生學習現狀,開展分組層次化教學。問卷調查主要調查學生對編程課程的學習興趣和學習經歷,知識測試了解當前學生對計算機基礎知識掌握情況、對編程的理解程度等信息。
調查問卷采用在線文檔收集的形式進行,知識測試選擇一級計算機基礎試題及程序語句(含注釋)的閱讀,依據答題情況給出相應分值,并根據得分情況統計調查結果,其中分為兩個維度:學習興趣和經歷及掌握情況(如圖2)。其中,學習興趣濃厚(總評得分90到100分)和比較感興趣(總評得分80到89分)的學生對編程學習有明確的態度,愿意主動上網查詢知識盲區,學習新知識;學習興趣一般(總評得分70到79分)和不太感興趣(總評得分70分以下)的學生邏輯思維能力有待發展,能學習簡單的編程。編程學習經歷及掌握情況根據調查結果分為熟練能編寫、學習過會編寫簡單語句、無但能理解一點、無且不能理解。其中,對學習有濃厚興趣或比較感興趣,同時有一定的學習經歷,具備該兩項特征的學生分到提高組,其余學生被分到基礎學習組。根據分組結果開展線上線下同步教學,線上采取統一錄制的網課和PPT,以微課為主,教授單個知識點,將教學資源上傳到雨課堂中,線上資源主要用于學生對知識的課下自學,采取以學生為主的教學模式進行。
(2)教學內容安排
Python程序設計課程的教學目標是使學生系統掌握基本語法及簡單程序編寫方法,掌握函數、模塊、類及面向對象等概念,了解常見第三方庫及應用,具備利用所學知識解決實際問題的基本能力,培養學生獨立思考、分析、解決問題的能力。因學生學習基礎、學習經歷和興趣不同,通過設計提高組和基礎學習組的不同內容,在達到基本學習目標的基礎上,滿足提高組學生更高層次的學習需求,使教學效果最大化。
為簡潔說明教學內容上的區別,筆者以《函數》一章為例列表進行了比較。如上頁表所示,左半部分是基礎學習組學習效果,右半部分是提高學習組所達到的學習效果,基礎學習組所達到的目的偏向于程序的理解,提高學習組在基礎學習之后更多的是偏向計算思維的培養,在理解的基礎上能夠獨立完成問題解決,并同步應用到相類似問題中,達到知識的遷移。
(3)融入計算思維
教學過程中融入計算思維的培養,需以學生為主,設計任務驅動,教師角色由主導者轉為引導者,幫助學生實現對知識的主動探索和構建。例如,在遞歸函數的講解中,第一步拋出任務,對輸入的任意整數n,求階乘,并輸出。第二步分析提煉關鍵信息,建立模型,該任務為求解階乘,對非負整數的階乘定義為n!=n×(n-1)×(n-2)×···×2×1,當n=1時,n!=1。第三步設計不同方案,尋找最優解。不同小組學習內容安排如下:提高組學生探索多種解決方案,并從中找出最優的Python程序語句;基礎學習組學生對比兩種程序語句——循環結構和遞歸函數的優缺點,并完成程序填空。通過學習,學生理解了遞歸函數的定義、遞歸步驟及終止條件,加深了對遞歸函數的理解,并將解決問題方案應用到同類型問題中,如斐波那契數列、猴子吃桃問題等。
(4)課堂教學效果
通過課程結課后的調查顯示,95%以上的學生表示在今后遇到問題時愿意用計算思維解決問題,認為計算思維解決問題流程清晰,可操作性強。同時,任務驅動下的小組合作學習,不僅增強了學生利用計算機解決問題的能力,還幫助學生克服了恐懼和緊張情緒,增強了學生的自信心和合作能力。
結語
本文在Python程序設計課程的教學中,探索計算思維培養模型,并在此基礎上提出分層教學,根據學生學習基礎、學習興趣開展教學,旨在提升學生解決問題能力,培養學生計算思維能力,使其成為合格的數字化時代的公民。
參考文獻:
[1]中華人民共和國教育部.普通高中信息技術課程標準(2017年版)[S].北京:人民教育出版社,2018.
[2]任惠霞.可視化助力計算思維在教學中有效落地——以“小海龜勇闖迷宮”為例[J].中國現代教育裝備,2024(08):52-54.
[3]王玉冉,然孜古麗·甫拉提,周鵬.非計算機專業Python課程教學方法的探究與實踐[J].內江科技,2024,45(04):45-47.
[4]武蓬蓬.基于計算思維培養的“編程實驗教學”模式研究——以“人體感應行人自助過街紅綠燈系統優化方案”為例[J].中國信息技術教育,2024(08):32-34.
第一作者簡介:葛曉靜(1989—),女,河南濮陽人,碩士,助教,主要從事計算機基礎課程教學及研究生管理工作。
基金項目:河南省研究性教學改革研究與實踐項目——“雙碳”背景下基于項目案例驅動的五位一體式研究性教學模式研究與實踐;河南理工大學教育教學改革與實踐項目——“雙碳”目標思政引領下以學生為中心的“能源動力類三大專業核心課”教學模式改革與實踐。