高士娟+曹恒來+丁婧


【摘 要】目前,計算思維能力的培養備受關注,相關教學研究多集中在程序設計等內容上,對軟件應用教學涉及較少。為探索計算思維在軟件應用教學中的培養,本文在ISTE和CSTA給出的計算思維操作性定義指導下,在“表格信息加工”教學中,引導學生經歷“分解形成問題——建構模型——邏輯化組織數據——自動化計算——推廣”的學習之旅,努力擺脫軟件應用教學中單純技能操作的局限,從思維層面提升學生利用信息技術解決問題的能力。
【關鍵詞】計算思維;軟件應用教學
【中圖分類號】G712 【文獻標識碼】A
【論文編號】1671-7384(2017)05-0053-04
以卡內基·梅隆大學周以真教授為代表的研究者認為,計算思維可以成為讀、寫、算之后的第四種基本能力,將在本世紀中葉成為人人必備的基本技能[1]。計算思維提出了面向問題解決的系列觀點和方法,這些觀點和方法有助于人們更加深刻地理解計算的本質和計算機求解問題的核心思想,引起了學界的廣泛共鳴,教學者也開始關注如何通過課程教學培養學生的計算思維能力,并將其視為信息技術課程的內在價值[2]。
計算思維的含義與發展
計算思維不是今天才有的,只是與之前相比,計算思維已經深入到了前所未有的廣闊領域。人們對計算思維的理解也存在多樣性,存在著問題解決說、抽象說、自動化說、構造說等多種不同認識,其中“問題解決說”得到了比較多學者和機構的認同[3]。
2006年,周以真教授首次明確提出了計算思維的概念:計算思維是運用計算機科學的基礎概念進行問題求解、系統設計,以及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動[4]。2011年,她修正了相關描述,認為“計算思維是形式化表達問題和解決方案,使之成為能夠被信息處理代理有效執行的思維過程”[5]。中國科學院計算所李國杰院士在第26屆全國青少年信息學奧林匹克競賽開幕式上發言時指出:“計算思維運用計算機科學的基礎概念求解問題、設計系統和理解人類行為,它選擇合適的方式陳述一個問題、對一個問題的相關方面建模,并用最有效的辦法實現問題求解。”英國皇家科學院將計算思維定義為認識周圍世界所存在的不同層次的計算,應用計算機科學工具和技術理解并辨析自然系統和人工系統及其運行過程[6]。這些定義強調了計算思維在問題解決過程中的作用,描述了計算思維的外延,但從操作層面上來說,操作性不佳。
2011年,國際教育技術協會(ISTE)聯合計算機科學教師協會(CSTA)共同給出了計算思維的操作性定義。計算思維是一個問題解決的過程,該過程包括確認問題、分析數據、抽象、設計算法、選擇最優方案、推廣六大要素[7]。在這個過程中,首先需要形成一個能夠用計算機和其他工具來解決的問題,在此基礎上有邏輯地組織和分析數據,通過抽象(例如模型、仿真)的方法來表示數據,通過算法設計實現自動化的解決方案,并確定、分析和實施可行的解決方案,最后將解決方案進行總結,以遷移到更廣泛的問題解決與應用中。這樣,基于計算思維的較為清晰的問題解決步驟出現了。
信息技術課程中軟件應用內容教學現狀
信息技術課程以全面提升學生的信息素養作為課程總目標,課程內容包括“信息技術基礎”一個必修模塊,“算法與程序設計”“多媒體技術應用”“網絡技術應用”“數據管理技術”“人工智能初步”五個選修模塊。在這些課程中,有相當部分內容要求學生能夠使用文字處理、表格處理、圖像處理、音頻處理、視頻處理、網頁制作等各種應用軟件解決實際的具體問題。
然而,由于缺少思想和方法層面的支撐,使得軟件應用類教學存在著諸多問題。如只停留于單個軟件菜單功能的教學,不注意提煉不同軟件界面風格一致性,歸納它們使用方法的共通之處,從而教會學生使用這一類技術或工具解決問題的基本策略和基本方法,也就無法實現有效遷移和學生發展之目的[8];只注意教會學生軟件的操作技能,而沒有將這些技能揉合于與學生生活密切相關的具體情境之中,這種去情境化的教學使學生難以實現知識的靈活應用,帶來的是孤立的知識與零散的技能,缺少了解決問題能力的培養;為了應付考試,只讓學生練習與考試相關的所謂“操作題”,而在這些操作題中,學生只能使用某種預設的操作方式,而不能根據自己的個人情況,自由選擇軟件、自由選擇功能、自由選擇方法去解決問題,只能檢測學生對特定軟件某個微觀層面上功能的掌握情況,無法檢測學生基于大眾信息技術工具的問題解決能力[9];日常教學主要以教師的講解演示和學生的機械模仿為主,忽略了學生探究能力的培養,即使有所謂的探究環節,也只是把詳細的操作步驟以“操作秘籍”的形式教給學生,這種極其詳盡的學習資源使學生失去了探究的空間,也失去了學習的熱情。
當前的這種教育方式忽視了學生能力的培養,使得學生的思維方式僵化,缺乏發現問題、分析問題、解決問題的思維能力,失去探究的積極性,學生只能停留于淺表層面而缺乏創新能力,無法應對復雜局面,不能解決面對的新問題,阻礙了學生的長遠發展。
軟件應用教學中融入計算思維的意義
計算思維的根本目的是解決問題。在信息技術課程中培養學生的計算思維,確立以信息技術解決問題的概念、方法與原理為主的穩定的課程內容,真正擺脫軟件操作的局限,可以提高學生利用信息技術解決問題的能力,使信息技術課程從實用性教育轉變為基礎性教育。
但是,通過對現有研究的梳理發現,盡管計算思維不僅僅是程序設計,但是程序設計仍然是理解計算思維的最佳途徑。在設計問題求解方法時,會用到遞推法、迭代法、遞歸法等;在維護和修正程序的過程中,要用到測試和調試的技術……這些技術都是計算思維中的核心概念[10]。所以在程序設計課程中引入“計算思維”,以培養計算思維為核心的程序設計教學研究屢見不鮮。
實際上,軟件應用類的學習同樣符合計算思維中通過工具實現問題解決的目標。計算思維的操作性定義和特征描述,為通過軟件應用的學習進行計算思維能力培養提供了可能。通過這種思路對軟件應用開展學習,不僅有助于快速掌握軟件操作,也從軟件產品的角度學習了一個技術制品的整體架構和處理過程,也可以從設計層面深入理解計算思維[11]。軟件應用教學中常常借助層層遞進的系列活動引領課堂教學,而計算思維則可以為各個活動提供切實可行的具體操作思路和方法,以提高學生的問題求解能力。同時,各種應用軟件都具有自己獨特的功能和操作流程,這也體現了計算機應用不同工具解決特定類型的問題。所以,計算思維能力的培養需要一系列的軟件應用學習作支撐和拓展,以引導學生運用計算思維解決各種問題。