李新宇,何昭青,廖瑞華
(湖南第一師范學院 信息科學與工程學院,湖南 長沙 410205)
2006年3月,時任美國卡內基·梅隆大學計算機系主任的周以真(Jeannette Wing)教授第一次系統(tǒng)提出了計算思維Computational Thinking)的概念。周教授認為,計算思維就是運用計算機科學的基礎概念去解決現(xiàn)實問題、進行系統(tǒng)設計,以及理解人類行為的一系列思維活動。計算思維就是通過約簡、嵌入、轉化和仿真等方法,把一個看來困難的問題重新闡釋成一個我們知道怎樣解決的問題[1]。計算思維是采用抽象和分解來分析復雜問題,利用計算機科學中的迭代、遞歸等方法來啟發(fā)式推理尋求問題解答和設計系統(tǒng)的思維方法。這種思維在不久的將來,會成為每一個人在現(xiàn)代社會中立足的根本技能,而不僅僅限于計算機科學家。如同每個孩子都必須具備 “Reading、wRiting、aRithmetic”(簡 稱3R)能力一樣,計算思維也是今后人人都必須具備的一種思維能力[2]。
計算思維這種思維方式不是今天才有,它很早就存在于我國古代數(shù)學的珠算之中,而隨著以計算機科學為基礎的信息與通信技術的迅猛發(fā)展,計算思維的作用與優(yōu)勢也就日益突出。目前,計算思維是當前國際教育界廣為關注的一個重要概念,也是當前國內外計算機教育改革需要重點研究的課題。
湖南第一師范學院于2010年開始招收初中起點本科層次的六年制免費師范生,主要定向培養(yǎng)農村小學教師。我校六年制免費師范生是國家在初中起點本科層次農村小學教師培養(yǎng)體制方面的首次嘗試,旨在通過免費教育、定向就業(yè)和適度縮短學制(2+4)等政策與措施,培養(yǎng)高素質、高水平的優(yōu)秀小學教師,為農村基礎教育陣線輸送優(yōu)質的教師資源。我校所有六年制免費師范生都屬于小學教育專業(yè),采用“二、四兩階段六年制”的培養(yǎng)模式,學生畢業(yè)后一般都回生源所在地的農村小學任教,直接從事農村基礎教育教學工作,是未來我省農村地區(qū)小學教育陣線的中堅力量。由于初招六年制免費師范生和普通高招四年制本科生以及初招五年制專科生在知識結構、培養(yǎng)目標方面的不同,因此不能完全照搬普通師范生的培養(yǎng)模式。
大學計算機基礎作為與大學英語、高等數(shù)學同等地位的基礎課程,是高校通識教育的重要組成部分,在學生綜合素質教育、創(chuàng)新能力培養(yǎng)等方面發(fā)揮著重要作用。同時,該課程不只是系統(tǒng)的教授學生計算機科學知識,更需要展現(xiàn)計算機學科的思維方式,也是培養(yǎng)計算思維能力最好的課程載體。2010年7月《九校聯(lián)盟(C9)計算機基礎教學發(fā)展戰(zhàn)略聯(lián)合聲明》指出,計算思維能力培養(yǎng)是計算機基礎課程教學的核心任務,確定了今后計算機基礎課程教學改革的基本思路[3]。目前,國內部分高校在大學生計算思維能力培養(yǎng)方面已經展開了深入的研究與實踐,積累了寶貴的經驗可以供我們借鑒。如中國科學技術大學、桂林電子科技大學、四川師范大學、浙江大學、上海交通大學等。鑒于我校六年制免費師范生培養(yǎng)模式的特殊性以及大學計算機基礎課程中計算思維能力培養(yǎng)的重要性,因此,如何在計算機基礎課程中創(chuàng)新培養(yǎng)初中起點六年制免費師范生的計算思維能力就成了當前迫切需要研究和解決的問題。
目前,我校六年制免費師范生計算機基礎課程
體系采用的是“2+X”的課程模式[4],其中的“2”是指一年級開設的《計算機操作基礎》和三年級開設的
《大學計算機基礎(文)/(理)》這兩門基礎必修課程,
“X”是根據(jù)專業(yè)方向及需求的不同開設的與專業(yè)密切相關的課程,詳見表1。

表1六年制免費師范生計算機基礎“2+X”課程模式
歷經4年的教學實踐檢驗,我們的六年制免費師范生計算機基礎課程建設與教學改革取得了一定成績,總體效果良好,但是通過教師教學感受和學生學習反饋也發(fā)現(xiàn)了一些問題,主要表現(xiàn)如下。
我校六年制免費師范生是湖南省農村地區(qū)未來基礎教育陣線的主力軍與骨干力量,想要跟上飛速發(fā)展的信息時代步伐,不僅要具有較強的計算機操作能力、多媒體輔助教學應用能力、多媒體教學軟件的設計與制作能力、一定的程序設計能力與計算機軟硬件知識等師范技能,更重要的是要具有較強計算思維能力,才能在農村小學的教學實踐中培養(yǎng)小學生的計算思維能力、盡可能地縮小城鄉(xiāng)基礎教育信息化的差距。目前,我校六年制免費師范生大多數(shù)來自農村鄉(xiāng)鎮(zhèn)中學,計算機基礎知識相對比較匱乏,對計算機課程也缺乏足夠的認知。此外,很多教育工作者針對“計算機基礎課程”教學,還一直存有“狹義工具論”的片面觀點,沒有意識到學生計算思維能力培養(yǎng)的重要性。
通過我們對英語、美術學、科學教育等方向六年制免費師范生的跟蹤調查表明,多數(shù)學生在計算機基礎課程的學習中,掌握了一些基本的師范生信息技術技能,比如說,多媒體課件制作、網(wǎng)絡信息資源檢索等,但是對計算機學科知識難以有系統(tǒng)的理解,很難有效地利用計算理論與相關方法創(chuàng)造性的解決自己學習以及今后在小學教育工作中的問題。
《計算機操作基礎》、《大學計算機基礎(文)/(理)》與《CAI多媒體課件制作》等課程在教材內容有較多重復,比如操作系統(tǒng)的應用和Office辦公軟件等知識點內容重復度高。在上述課程中沒有涉及計算思維能力培養(yǎng)相關知識,強調師范生信息技能的重要性卻忽略了計算思維意識的建立與培養(yǎng)。
目前我校六年制免費師范生計算機基礎課程主要是培養(yǎng)學生的師范生信息技術基本技能與素養(yǎng),而并沒有體現(xiàn)以計算思維能力的培養(yǎng)為核心。教學實踐中普遍存在“重應用輕理論、重操作輕思維”的教學思想,學生的學習很多時候是在做機械的操作練習,思路不清晰、思維不開闊,學生學習效率低、學習興趣也不高。如此一來,不但沒有很好地傳授知識,更沒有培養(yǎng)學生的計算思維能力與創(chuàng)新意識。
作為高校通識教育重要組成部分的計算機基礎教學,不僅僅要教會學生計算機學科的基本知識,更重要的是要讓學生了解這個學科領域中解決問題的基本方法與思維方式。計算機學科最本質的特征和最核心的方法就是計算思維[5]。因此,六年制免費師范生計算機基礎改革的思路是以學生的計算思維能力培養(yǎng)為核心任務,使學生在學習計算機學科知識的同時掌握解決問題的一般步驟和方法,從而將教學目標由學生計算機知識技能習得向思維能力培養(yǎng)轉變,真正實現(xiàn)“授之以漁”而不是“授之以魚”。
根據(jù)各年級學生的認知結構特征以及課程知識內容的不同,明確各課程的計算思維能力培養(yǎng)目標,逐步培養(yǎng)學生計算思維意識與能力,掌握計算思維解決問題的一般步驟和方法,保證學生在掌握計算機課程知識的同時又能夠潛移默化的運用計算思維方法來解決個人學習、專業(yè)和生活上的問題。具體培養(yǎng)目標詳見表2。
結合計算思維的基本特征和方法,針對計算機基礎課程體系“四個知識領域”中的知識進行梳理和刪減,理清課程知識結構的層次性,突出計算思維方法的系統(tǒng)性,如表3所示。
重新構建《計算機操作基礎》課程內容,調整知識構成,增加計算思維的概述、計算理論特征等相關知識點,突出計算思維的重要性及其對其他學科的影響,適當提高體現(xiàn)計算機學科思維方法的原理性知識點在課程中的比重,使學生從一年級就開始學習計算思維的概念并系統(tǒng)的培養(yǎng)計算思維能力。課程內容的設計可以借鑒陳國良院士和董榮勝教授構建的《計算思維導論》課程設計思路[6]。從推動人類文明進步和科技發(fā)展的三大支柱(理論思維、實驗思維和計算思維)出發(fā),首先介紹“概念與基礎”層次中計算思維的定義、本質和特征、對其他學科的影響。接著,從計算機學科的根本問題著手,詳細介紹計算理論的計算復雜性、圖靈機、量子計算等有關內容。然后,介紹計算機存儲程序工作原理、數(shù)制與轉換、計算機數(shù)據(jù)表示等知識點。最后,做“技術與方法”、“綜合與應用”兩個知識層次的介紹,包括算法與程序基礎、計算機基礎軟件(操作系統(tǒng)、軟件工程、數(shù)據(jù)庫系統(tǒng)等)、計算機網(wǎng)絡基礎等內容。課程名稱可用《計算機操作基礎》或《計算機導論》。課程共計36課時,理論與實驗課時的比例為2:1。

表2 計算機基礎“2+X”課程體系中計算思維能力培養(yǎng)目標

表3 計算機基礎課程知識結構及思維表述
《大學計算機基礎(文)/(理)》和后續(xù)的《數(shù)據(jù)庫程序設計》、《C語言程序設計》等相關課程內容也需做相應調整,應注重計算機學科基本理論與思維方法的闡述以及在教學管理系統(tǒng)或教學游戲軟件設計與開發(fā)中的應用,延續(xù)和拓展《計算機操作基礎》課程中計算思維的相關概念和思想;對辦公軟件操作、程序設計語法等基本應用知識的介紹應做適當壓縮,刪減一些繁瑣的計算機專業(yè)名詞解釋,適當增加基于迭代、遞歸、搜索、推理等計算思維方法的經典案例分析與算法、程序設計等知識模塊。
程序設計課程是最能體現(xiàn)學生計算思維的課程,學生通過理論學習與編程實踐來深入理解計算思維的基本方法,從而利用相關程序設計思想與方法解決學習與教學工作中的現(xiàn)實問題,比如教學管理數(shù)據(jù)庫系統(tǒng)、圖書管理系統(tǒng)、小學課堂教學應用軟件或教學小游戲等系統(tǒng)的設計與開發(fā)。下面就六年制免費師范生計算機程序設計課程教學實踐中如何組織、呈現(xiàn)教學內容和怎樣有效開展教學等問題進行深入討論。
“ACCESS數(shù)據(jù)庫程序設計”課程的目標是培養(yǎng)六年制免費師范生利用數(shù)據(jù)庫技術的思維方法來分析和解決小學教育教學工作中具體問題的能力。在“ACCESS數(shù)據(jù)庫程序設計”課程教學過程中可以采用明、暗兩條線索來組織材料。明線以表、查詢、窗體、報表、宏、模塊、過程、控制結構等知識點為基礎,循序漸進地展示ACCESS數(shù)據(jù)庫技術的思維方法;暗線以常見的教學管理數(shù)據(jù)庫系統(tǒng)或小學生喜聞樂見的教育游戲軟件功能模塊設計知識點(如數(shù)據(jù)錄入、交互界面設計、數(shù)據(jù)編輯與維護、數(shù)據(jù)輸出、用戶注冊與登錄等)貫穿教學過程始終。明、暗兩條主線相結合使學生在理論學習與教學軟件系統(tǒng)設計實踐中領悟數(shù)據(jù)庫應用系統(tǒng)設計的基本思想,培養(yǎng)學生利用數(shù)據(jù)庫技術的思想方法來分析和解決問題的思維能力。
“C語言程序設計”課程應強調程序設計中的思維方法,弱化語言本身,在學習過程中利用計算機語言科學地描述問題、運用恰當?shù)挠嬎闼季S方法有效地解決問題,從而培養(yǎng)學生理解和運用計算思維的能力。在講述C語言基本知識點的同時,需要利用常見的如迭代、排序、遞歸調用等程序算法和六年制學生容易接受和理解經典程序設計案例(如“猴子摘桃問題”、“百雞百錢問題”)貫穿于課程教學中。
基于計算思維的程序設計教學模型分成四個步驟[1],分別是:(1)引入問題與創(chuàng)設情境;(2)可計算性分析、抽象和分解問題;(3)運用計算思維方法探索解決問題;(4)思路總結與學習遷移。教學者通過情境設置,提出問題,學習者通過自主思考、交流合作就可以充分調動學習的積極性,在思考問題的過程中,運用計算思維的可計算性和計算局限性等原理,來抽象和分解問題,在確定問題可計算的情況下運用迭代、遞歸、推理等合適的計算思維方法來解決問題。最后,進行總結與提高,再次運用所學方法嘗試解決類似的或者更深層次的問題,以達到鞏固知識和學習遷移的目的。
“2+X”課程模式中,理科類方向的六年制免費師范生在三年二期會學習“C語言程序設計”課程,我們在這門課程的教學實踐中采用的就是基于計算思維的程序設計教學模型。比如,實驗教學部分的“實驗三(函數(shù)程序設計)”之“任務3:猴子摘桃問題”的實踐教學就可以采用下面這樣的教學方式。
第一步,引入問題與創(chuàng)設情境。問題如下:“猴子第一天摘下若干個桃子,當即吃了一半,還不過癮,又多吃了一個。第二天將剩下的桃子吃掉一半,又多吃了一個。以后每天都吃了前一天剩下的一半零一個。到第10天想再吃的時候,見只剩下一個桃子了。求第一天共摘了多少個桃子?(提示:采取逆向思維的方法,從后往前推斷。)”
第二步,可計算性分析、抽象和分解問題。啟發(fā)學生是否可以用計算思維的遞歸方法解決問題,然后學生根據(jù)啟發(fā)性引導,運用計算思維的遞歸方法,逆向思維推斷。
第三步,運用計算思維方法探索解決問題。學生通過函數(shù)的定義,運用遞歸的方法解決問題。定義f(intn)函數(shù),遞歸思想為:第n天沒有吃桃子之前擁有的桃子個數(shù)f(n)為第n+1天的個數(shù)f(n+1)再多1個的兩倍,即f(n)=(f(n+1)+1)*2,依次遞歸就可求出f(1)的值,即第一天摘的桃子個數(shù)。
第四步,思路總結與學習遷移。在總結解題方法的基礎上,老師可以再拋出“漢諾塔”問題,引導學生進行更深層次的自主探究,利用遞歸思想來解決更加復雜的問題,實現(xiàn)計算思維的強化和學習的遷移。
本文提出了我校六年制免費師范生計算機基礎課程改革思路,探討了程序設計課程教學模式的構建,在具體的課程教學中進行了相關的教學實踐。但是目前還不能科學地、定量地分析計算思維能力提高的幅度,如何建立完善的計算思維檢測指標體系和開發(fā)有效的檢測工具是本文未來的研究方向和需要解決的問題。
計算思維,是今后人們必須具備的一種根本技能,也是對我們師范院校人才培養(yǎng)的新要求。計算思維能力培養(yǎng)是今后我校六年制免費師范生計算機基礎教育的核心任務,也是計算機基礎課程改革研究的重點課題。目前國內外在計算思維能力培養(yǎng)方面的研究時間還不長,研究進展也不快。因此,計算思維的學科體系、培養(yǎng)方法論和創(chuàng)新方法論等還需要我們廣大教學與科研工作者的不懈努力與探索實踐。
[1]JeannetteM.Wing.ComputationalThinking[J].CommunicationsoftheACM.2006,49(3):33-35.
[2]牟琴,譚良.計算思維的研究及其進展[J].計算機科學,2011(3):10-15.
[3]牟琴,基于計算思維的計算機基礎課程教學與學習的模式研究與實踐[D].成都:四川師范大學,2012:4-5.
[4]廖瑞華,李勇帆.初中起點本科層次六年制師范生計算機基礎課程體系構建[J].湖南第一師范學院學報,2013(6):22-25.
[5]陸漢權,何欽銘,徐鏡春.基于計算思維的“大學計算機基礎”課程教學內容設計[J].中國大學教學,2012(9):55-58.
[6]陳國良,董榮勝.計算思維與大學計算機基礎教育[J].中國大學教學,2011(1):7-11.
[7]李新宇.基于計算思維的六年制免費師范生程序設計課程教學研究[J].現(xiàn)代計算機,2014(9):6-8.