巴軍
2017版《普通高中信息技術課程標準》把計算思維列為核心素養之一。通過課堂教學提升學生計算思維能力的研究也日益成為學科教研的熱點,如關于計算思維內涵的研究、教學內容的研究、課堂教學實踐案例的研究等。
無論認為計算思維是有計算特征的思維、是像計算機科學家一樣的思維,還是運用計算機科學領域的思想和方法解決問題的思維,對于一線信息技術教師的實際課堂教學而言,計算思維到底應該教什么、怎么教、教到什么程度是教師們普遍關注并感到有些困惑的問題,計算思維的教學面臨許多挑戰。
培養計算思維能力面臨的教學困惑
圍繞培養計算思維的高中信息技術課堂教學,有一些現象值得思考。(1)以算法和程序設計為教學內容,學生普遍感到學習較困難,有相當一部分學生積極性不高。(2)學生對教師精心設計的探究性問題不是很感興趣,反而更愿意接受教師的直接講解,亦步亦趨地跟著做,模仿案例[1]。(3)學生更喜歡應用信息技術,追求使用更炫的技術,喜歡學習比較容易的操作技能,但對探究技術背后的知識、緣由,開展自主學習,似乎動力不足。透過現象看本質,這些現象細糾原因,可以分為以下幾類。
1.對培養計算思維的教學內容的困惑
有人認為,學習程序設計是培養計算思維最直接、最有效的載體,是培養計算思維的最主要手段。但現實是,學生要編寫出有意義的程序,要學習語法規則、要編寫代碼、要學習算法等。大多數學生,作為一名初學者,都覺得有些枯燥難懂。況且,如果學生學了幾種算法和一些語法知識,能照貓畫虎地編程,計算思維就提升了嗎?同時,編程內容有時也與學生的日常學習生活不緊密。對計算思維理解的狹義使教學陷入困境。
2.對培養計算思維的教學深度的困惑
新課標把計算思維提升到了核心、重要的位置,但對計算思維在中學階段的培養應該達到什么樣的深度、計算思維教育的實際目標,似乎并沒有充分的區分度,雖然新課標也對核心素養進行了水平1、水平2的劃分[1]。從過去對知識與技能的學習到當前對思維的培養,本身就不是一個量級,一個是低階思維,一個是高階思維,學生感到有難度,教師感到總在門口徘徊,深入不了學生的思想。思維培養需要一定的過程和經歷,是一貫的、系列的,不可能一蹴而就,需要有適合學生年齡段的目標與長期努力。
3.對培養計算思維的教學方法的困惑
無論是任務驅動式學習、項目式學習還是深度學習等教學模式或方法,都要以學情做基礎,以學生為本。中學階段,在學生的基礎知識與技能還薄弱的時候,就力推計算思維培養,放手讓學生搞研究、完成項目,對有些興致高昂、資歷較高的學生還可以,但對大多數學生而言,較難有特別的研究成果,習得感和成就感不足,常會使成長階段的學生缺乏接受挑戰的勇氣。同時又沒有中高考和家長等外力的作用,沒有一貫的培養與要求,自然動力不足。對超越當前學生能力的自主探究和思維培養,學生常不愿接受。因此,寧愿選擇不費腦子、較輕松的方式來應付學習。這種短視的行為,當然不會取得好的效果。
那么,如何在信息技術課堂教學中培養計算思維能力呢?我們拋開計算思維的定義,不糾結它的各種內涵和外延,回到計算思維的本真。我們來看看計算思維的特征,或者說要素,能夠給我們怎樣的啟示。
從計算思維的特征挖掘課堂教學的方向
計算思維有許多特征,從通過信息技術課程培養學生計算思維能力的角度,主要有四個方面。(1)問題分解:在明確問題的目標與條件下,把問題進行拆分,形成具有相對獨立功能的子問題,如果分解的問題比較復雜,就繼續細化。(2)模式識別:對拆分后的問題,找出各部分之間的異同,分類、表征事物的特征或性狀,為后續問題的解決提供依據。利用我們已有的經驗、模式去認識事物。(3)抽象化:探究模式背后的一般規律,進行符號化的描述。針對信息技術教學,就是把現實問題構建成計算機可以處理的數學模型。(4)算法設計:針對相似的或有規律的問題,設計出可以逐步解決的方案。這里的算法設計指能夠發揮計算機的自動化、系統化的特性,通過計算機解決問題的方案。
從計算思維的這些特征,可以看出培養計算思維的教育,就是培養學生發現和洞察事物背后規律和相互聯系的教育;就是培養對問題進行解構并且會歸納總結的教育;就是學習構建模型,尋找易被計算機解決的方案的教育。這樣的教育,要能夠使學生面對未知、模糊、復雜或開放的問題,知道從哪里開始、知道如何系統分析、知道用計算機解決問題的方法和步驟,提升學生學習和解決問題的能力和自信心。
因此,就信息技術課堂教學而言,培養學生的計算思維,就是教師要幫助學生搭建現實與用計算機解決之間的橋梁。
培養計算思維能力的課堂教學實施策略
1.充分挖掘教學內容中的計算思維教育點
通過分析計算思維的特征,可以體會到信息技術學科教學中的許多內容可以承載計算思維培養。算法與程序設計是培養計算思維不錯的載體,但不是唯一的。教師要有意識地挖掘這些教育點,創造教育契機。
如要了解人們對某一熱點的看法,除了街頭采訪,還可以通過問卷調查、網絡爬蟲和大數據平臺進行數據收集與計算,使學生的精力更多放在數據分析與得出結論上,而不是數據采集和計算方面。主動地發揮計算機的特點和作用,更快捷、更精準地發現、洞悉事件的本質,這就是計算思維能力的體現。進而推之,學生制作線上調查問卷、抓住研究主題的關鍵點、學習使用數據分析工具,撰寫數據報告等,都是計算思維培養的教育點。
2.搭建現實與“用計算機解決”的橋梁,在教學方法上契合學生
學生對自己經歷過的、身邊的事物比較容易理解。教師在教學中,要善于抓住現實與計算機解決之間的聯系,幫助學生架設橋梁,協助學生理解從對現實問題的分解到用計算機解決問題的過程和方法。
如學習用Python語言畫圖,如果單看Turtle那些命令和函數,量多而不好掌握,學生愛出錯還不知所以然。如果把那些繁復的函數,分類成“在哪里畫?”“如何定位?”“用什么畫?”和“怎么畫?”這種日常畫畫涉及的問題,把現實問題與計算機解決進行勾連,聚焦關鍵問題,就好理解和應用。
3.計算思維培養的深度與時機把握要適應學生的認知水平
計算思維教育的深度如何把握?是否能夠主動地應用信息技術、應用計算機去解決實際問題,是一個衡量尺度。比如,如何了解今年總理政府工作報告中主要關心的內容?教師和學生可以討論從哪里入手。教師可以引導學生用編程畫詞云圖的方式得出結論,這種數據處理和分析是符合解題邏輯的。通過Python中的字符串、列表以及對列表的數據統計等編程實現,體現了問題分解、抽象、模式識別等計算思維的特征。主動應用計算機解決問題的方式是計算思維的深刻體現。深度是一方面,寬度也很重要。教師要把握好時機,拓寬學生的視野。
教師覺得深度不好把握,主要是因為思維、能力的測評本就不好確定。是測評算法設計多些還是編程實現多些?是測評應用能力還是測評解決問題的過程多些?對中學階段的學生計算思維狀況,目前的研究還有很大的空間,需要教育專家、教師的不懈努力。但無論如何,計算思維培養的深度應該適應學生的認知水平,并能夠引領學生思維的發展。
思維的培養要建立在一定的知識與技能的基礎之上,如果學生的認知水平還沒有達到思維的起點,思考的空間比較小,此時老師一味地讓學生思考,就可能停留在低水平上。另外,思維不會憑空產生,思維啟動的緣由是遇到某種困惑、懷疑或問題。只有遇到了問題,人類的思維才會被激活[2]。所以,培養計算思維,也要把握好時機。教師可以根據學生的理解能力和認知水平,適度調整教學深度、難度和順序,創造時機,因材施教。
計算思維培養是一個系統工程,不光是信息技術學科肩負的使命,需要數學、實驗科學、人文藝術等學科的融入與結合,以及不同學段教育的共同努力,才能結出豐碩的成果。在信息高速發展的今天,知識容易老化,從知識教育到思維教育是教育發展的必然,我們任重而道遠。
參考文獻
史文崇. 計算思維教育的困惑與博弈[J]. 中國遠程教育,2019(8).
王榮良. 基于思維視角的計算思維教育落實[J]. 中小學數字化教學,2020(1).