任靜靜
(信息工程大學洛陽校區基礎系,洛陽 471003)
計算思維自從提出以來受到了國內外教育界的高度重視。2006 年3 月,周以真教授在美國計算機權威雜志ACM 上發表了Computational Thinking一文,首次給出比較全面的有關計算思維的定義,計算思維是運用計算機科學的基礎概念去求解問題、設計系統和理解人類行為等涵蓋計算機科學之廣度的一系列思維活動[1]。
周以真教授認為計算思維能力應該是人人具備的基本技能,而不應該只屬于計算機科學家,計算思維是和閱讀、寫作、算術一樣重要的技能,計算機教育應當以培養計算思維為核心。此觀點傳播到我國后,引起了我國計算機教育研究者的重視,紛紛發表了對計算思維本質的探討,同時各大高校也開展了以計算思維為核心的計算機基礎課程教學改革。
為了將計算思維融入到大學計算機基礎課程教學中,本文主要研究如何設計大學計算機基礎課程體系、教學內容以及教學模式來體現計算思維的內涵。
其他學科的前沿研究都有可能通過計算手段得到解決,即計算技術對其他學科的發展有很大的促進作用,而大學計算機基礎課程正是為其他學科培養先進計算技術人才的課程。該類課程是面向大學非計算機專業學生開設的通識類思維教育課程。
目前該類課程中存在著很多問題,面臨著課程涉及什么內容以及如何組織和表現內容等具體問題。問題具體體現在:課程內容停留在計算機基本概念以及使用常用軟件,教師認為課程就是教授學生怎么使用計算機,忽略了對學生計算思維能力的培養,而學生對課程認識還停留在“狹隘工具論”和“學會用即可”;課程教材五花八門,種類繁多,有的教材內容繁雜,網絡、人工智能、數據庫等各個領域均有涉獵,但又都不深入,課程的教學內容涉及到計算機科學的方方面面,樣樣都講,樣樣講不透,知識不成體系,沒有一個很清晰的脈絡;隨著計算機技術的廣泛應用,非計算機專業學生都應該掌握一定的計算技術來解決自己的專業問題,但是課程的教學模式更多的是一種以傳授知識和技能為出發點,現有的教學模式與學生對計算手段能力需求之間存在巨大的差距。教學過程中以名詞解釋為主,解釋了“是什么”,沒有講明“為什么”,教學的關注點是零散的具體的計算機科學的知識點,例如二進制、計算機工作過程以及相關編程語言的語法等。學生對計算機學科領域解決專業問題的方法和思路沒有一個清晰的認識,學生只能獲得知識和技能,并不能獲得利用計算手段來進行各學科專業研究的能力,而這種能力恰恰是每個學生應該掌握的。
造成以上問題的原因分析如下:課程很長時間里以知識講解及軟件應用為主,使得人們對課程的定位和評價出現偏頗;還沒有找到合適的手段來進行計算思維能力的培養。
根據計算思維的內涵要解決目前課程教學中存在的問題,就要以“計算思維”為核心構建課程體系、知識體系以及組織表現形式。
計算思維是現代社會每個人都應具備的一種思維方式。1998 年和2013 年的諾貝爾化學獎授予一個計算手段的研究者說明:計算思維對其他學科創新是非常重要的。計算機不再僅僅是一門工具,大學生應該具備對計算機技術深度應用的能力,這一目標正好和計算思維的培養目標契合,所以大學計算機基礎課程要以計算思維的訓練來展開。蘊含知識的思維教學是計算機基礎教學的核心,通過思維來展開知識講解。計算機基礎課程應該滿足的特點是思維性、知識和素養性、技能和實用性。
2010 年發布的《九校聯盟(C9)計算機基礎教學發展戰略聯合聲明》中強調,要把培養學生計算思維能力作為計算機基礎教學的一項重要的、長期的和復雜的核心任務[2]。隨后以計算思維為切入點的大學計算機課程改革的研究如雨后春筍般層出不窮的出現在課程改革項目和教學會議中。
教育部高等學校計算機基礎課程教指委制定的《計算機基礎課程教學基本要求》中提出了“1+X”課程體系,其中的“1”即“大學計算機基礎”課程,“X”一般由“程序設計基礎”、“數據庫技術”和“計算機網絡技術應用”等若干課程組成,構成大學計算機基礎課程群。基于計算思維的計算機課程新體系構建如表1 所示[3],新課程體系將計算思維的培養看成是一個系統工程,通過第一個層次的學習,掌握一定的計算機學科知識并理解計算思維;通過第二個層次的學習,進行問題求解能力的訓練,達到思維向能力的提升和轉變;通過第三個層次的學習,利用計算手段和專業結合形成面向各專業的計算思維和計算能力[4]。針對計算機課程新體系也可以這樣理解,通過第一個層次的學習培養計算思維意識;通過第二個層次的學習訓練計算思維的方法;第三個層次的學習培養計算思維的能力[5]。

表1 基于計算思維的計算機課程新體系
課程不再是單純講授計算機及其軟件(如Office、IE 等)如何使用,既包含知識技能的應用,也包含思維方式的訓練和思維能力的提高,并能將思維能力遷移到其他學科中用來解決問題。
《大學計算機基礎》作為第一門入門計算機課程,主要作用是培養學生的計算思維意識和信息素養能力。該課程中包含的內容模塊:計算和計算思維;Py?thon 基礎知識;基于計算思維的問題求解;信息表示與編碼、計算機系統。該課程首先從計算機發展史中得出計算和自動計算的概念,要實現計算需要解決數據的表示、存儲、規則及規則自動執行。圍繞數據的表示、存儲和規則,引出信息表示和編碼的內容,圍繞規則的自動執行展開計算機系統的內容。該課程的主線是如何實現計算和自動計算,在課程中安排少量的Py?thon 學時,借助Python 對理論知識進行驗證,培養計算思維的意識。
程序設計類和數據庫技術課程可以采用和學生專業相結合的案例開展,落實教育部提出來的“四新”(新工科、新文科、新醫科、新農科)的號召,讓學生在解決專業問題的過程中掌握計算思維方法。
在程序設計課程中,要注重計算思維方法的訓練,要避免按照章節順序進行知識的講解,語法知識比較枯燥,學生體會不到知識的連貫性,應該在計算思維訓練的過程中將知識貫穿成一個整體,讓學生既體會到了計算思維的本質又學習到了知識本身。
以Python 程序設計基礎課程為例,核心內容模塊包括:程序、算法及程序設計語言基礎知識;基本數據類型;程序控制結構;組合數據類型;函數;文件等。
計算機網絡技術課程以網絡資源的獲取和分析為主線,以Python 語言作為問題求解的工具,將網絡知識貫穿在問題的求解中。例如可以設計“利用Python 語言爬取某大學網站往年錄取分數信息并進行統計分析”的案例,在此案例中將IP 地址、URL 等知識點貫穿起來,達到知識學習和思維訓練的目的。
選修課、第二課堂或者學科競賽主要是提高學生的計算思維和創新能力。在此模塊中可以根據學生興趣開設多個選修課和第二課堂活動,鼓勵學生參加競賽,達到以賽促課的目的。
結合大學計算機基礎課程培養學生計算思維的需求,將游戲化教學方法引入到課堂教學中,能對培養學生的計算思維能力起到很好的促進作用。根據大學計算機基礎課程的特點和游戲化教學的特點,構建基于游戲化教學的計算思維培養的教學方案,如圖1 所示,方案從教師活動和學生活動兩個角度進行設計。
在游戲化教學模式中,教師首先要確定教學目標、對學生特征和教學內容進行分析,在此基礎上對設置問題,通過問題來培養學生的思維能力,創造良好的教學情境,最后對知識點進行講解。在此過程中要注意學生的反饋,讓學生參與到課堂的討論中來。學習者在自主學習時先明確學習目標,通過教師講解熟悉游戲規則和內容,完成游戲的過程中實現了知識的內化,最后進行反饋總結和拓展遷移。
教學方案中的案例設計應該遵循原則:①設計趣味游戲化案例,激發學生的學習和內在學習動機,學生在完成游戲化案例過程中掌握相關知識點,提高學生的自主學習能力。②設計分層式的案例以便實現知識的綜合學習,教師兼顧到所有學生的學習進度,并給學有余力的學生提供可以拓展的空間。③層層遞進式游戲案例,激發學生的好奇心和求知欲,引導學生逐步展開知識的學習,由易到難,逐步推進,在求解游戲過程中,培養學生掌握分析問題、解決問題的方法和思路,提高學生的計算思維能力。

圖1 基于游戲化教學的計算思維培養的教學方案
將枯燥的知識貫穿在游戲中學習,營造了良好的學習氛圍,使得基于計算思維的計算機基礎課程變得有趣。在游戲化教學模式設計過程中,可以根據實際的授課內容,采用基于技能操作式、問題探究式、虛擬協作式、仿真競技式教學方法進行案例設計。
大學計算機基礎課程的核心任務之一就是培養學生的計算思維、分析問題及解決問題的能力。本文構建了基于計算思維構建大學計算機基礎課程體系和內容體系,并提出了基于游戲化的計算思維教學模式,為課程的開展提供了有價值的參考。