艾明晶 李瑩
摘要:大學計算機課程是大學通識教育的重要組成部分,與大學數(shù)學和物理同等重要,其核心價值在于培養(yǎng)學生的計算思維,促進學生創(chuàng)造性思維的形成。文章分析大學計算機基礎教學目前面臨的危機與挑戰(zhàn),闡述新形勢下大學計算機的課程定位,著重從課程體系構(gòu)建、教學案例設計、教學方法改革等幾個方面探討圍繞培養(yǎng)學生計算思維能力的核心任務進行課程改革的基本思路和措施,
關(guān)鍵詞:計算思維;大學計算機;課程體系;教學案例;教學方法
0.引言
自20世紀90年代末教育部倡議在大學開展“計算機文化”教育至今,大學計算機基礎課程經(jīng)歷了以流行軟件學習與掌握為主的“計算機文化基礎”教育階段,以素養(yǎng)和應用驅(qū)動的計算機共性知識講授為主的“計算機應用基礎”教育階段。課程名稱也從計算機文化基礎變成大學計算機基礎,直至現(xiàn)在的大學計算機。這是因為隨著國家人才戰(zhàn)略的實施以及國家對于人才培養(yǎng)質(zhì)量的高度關(guān)注,計算機教育在大學整體教育中的重要性將會更加突出,計算機成為在通識教育中培養(yǎng)具有現(xiàn)代科學思維精神和能力的三大必修課程(數(shù)學、物理、計算機)之一。課程名稱的變化反映了信息技術(shù)的發(fā)展、計算機教育的普及、社會的需求變化以及學生計算機基礎的提高。
當各高校開始提倡素質(zhì)教育、給學生更大的自學空間、不斷壓縮學時的時候,大學計算機基礎首當其沖受到極大的沖擊,學時被大大壓縮,少數(shù)學校甚至取消了該課程。這不禁讓從事計算機基礎教育的教師和專家學者感到矛盾和困惑:該課程到底該如何發(fā)展?究竟還有沒有存在的必要?我們的學生真的不需要學習計算機嗎?他們需要學什么?
2006年,美國卡內(nèi)基·梅隆大學:(CMU)計算機科學系主任周以真教授(Jeannette M.Wing)首次明確提出了計算思維(Computational Thinking,CT)的概念,為計算機教育的改革指明了方向。2010年7月,在首屆“九校聯(lián)盟(C9)計算機基礎課程研討會”上,“985”首批9所高校就大學如何在新形勢下提高計算機基礎教學的質(zhì)量、增強大學生計算思維能力的培養(yǎng)形成4點共識,提出要旗幟鮮明地把“計算思維能力的培養(yǎng)”作為計算機基礎教學的核心任務。國內(nèi)一些著名學者和專家率先開始研究計算思維的概念與內(nèi)涵,思考計算思維對計算機科學研究以及計算機教育的啟示,呼吁教育的轉(zhuǎn)型:一些先行者大膽嘗試在計算機基礎課程中引入計算思維,踐行新的教學理念和探索新的教學模式,陸續(xù)取得一些卓有成效的研究成果。
然而,思維畢竟是人類特有的一種精神活動,看不見摸不著。要想使學生接受計算思維行不是一件容易的事,問題的關(guān)鍵在于怎樣做才能將計算思維的培養(yǎng)落到實處。例如,怎樣構(gòu)建一個包含計算思維典型特征的課程體系?怎樣組織教學內(nèi)容?通過何種教學模式能夠更有效地培養(yǎng)學生的計算思維?筆者將就這些問題進行初步探討并提出建議。
1.機遇與挑戰(zhàn)
當今社會已步入數(shù)字化、信息化和網(wǎng)絡化的新時代,信息技術(shù)的發(fā)展水平、運用水平和教育水平已成為衡量社會進步程度的重要標志,學習和掌握計算機的基礎知識和技能是非計算機專業(yè)學生必須達到的基本要求,社會對各領域創(chuàng)新人才的需求對非計算機專業(yè)學生的計算能力提出了更高要求。如何針對社會需求重新定位大學計算機課程?怎樣才能讓學校和學生清晰準確地認識到該課程的重要性和價值?這是急需解決的一個關(guān)鍵問題。
在這種形勢下,計算思維概念的提出正好為課程改革提供了一個難得的契機。按照周以真教授的定義,計算思維是運用計算機科學的基礎概念進行問題求解、系統(tǒng)設計以及人類行為理解的涵蓋計算機科學之廣度的一系列思維活動;計算思維的本質(zhì)是抽象(Abstraction)和自動化(Automation)。陳國良院士指出,理論、實驗和計算是推動人類文明進步和科技發(fā)展的三大支柱,計算思維是人類科學思維活動的三大組成部分(理論思維、實驗思維、計算思維)之一,是數(shù)學思維與工程思維的互補與融合,計算思維無處不在。
然而,計算思維的養(yǎng)成和訓練是一個長期、循序漸進、潛移默化的過程,不可能一蹴而就,與以往的教學有著不同的要求和目標,這些要求和目標對現(xiàn)有的教育觀念和方式提出了新的挑戰(zhàn)。對于如何在教學中實現(xiàn)計算思維的培養(yǎng),還存在分歧和誤區(qū)。有的教師認為計算思維不過是一些理論和概念,講了也沒有多大用處,還不如教給學生一些必需的計算機知識和技能;有的教師認為以往的教學中已經(jīng)蘊含了計算思維的思想,沒有必要專門講解這個概念,而且思維是無形的,根本無法在課程或?qū)嵺`中傳授,只能通過學生自己感悟;還有些教師則把計算思維的培養(yǎng)等同于理論知識的講解,或者認為技能培養(yǎng)就是思維訓練。
這些對計算思維的錯誤認識,導致計算思維的概念并沒有與計算機基礎課程的知識有機融合,知識的傳授并沒有轉(zhuǎn)變?yōu)榛谥R的思維傳授,因此究竟怎樣做才能避免只是簡單地給課程貼上計算思維的標簽,而是真正將計算思維的培養(yǎng)落到實處,讓學生通過課程教學和實踐體驗到計算思維的魅力和價值,這是必須解決的另一個關(guān)鍵問題。
2.改革思路與措施
針對上述兩個關(guān)鍵問題,我們以培養(yǎng)計算思維能力為主線,著重從以下幾個方面對大學計算機課程進行改革。
2.1分析社會需求,明確課程定位
在很長一段時期內(nèi),大學計算機基礎教學普遍注重計算機知識的傳授和計算機應用技能的培養(yǎng),學生學到的是有關(guān)計算機的一些概念及通用計算手段的應用,但是當今社會處于急需各種創(chuàng)新人才的高科技時代,學生僅僅具備這些能力是不夠的。高速發(fā)展的經(jīng)濟社會要求非計算機專業(yè)學生未來應具備的計算能力是掌握支持各學科研究創(chuàng)新的新型計算手段并應用計算手段進行各學科的研究與創(chuàng)新,因此,大學計算機應定位于以計算思維為核心,以計算機知識為背景,使學生理解典型的計算思維,掌握基于計算技術(shù)/計算機的問題求解思路與方法,提高學生的計算機應用能力,培養(yǎng)學生應用計算思維和計算工具分析和處理專業(yè)領域?qū)嶋H問題的能力,為今后的創(chuàng)新活動奠定堅實基礎。endprint
2.2構(gòu)建計算機知識與計算思維有機融合的課程體系
以計算思維能力培養(yǎng)為核心的計算機基礎教學改革并不意味著一定要將現(xiàn)有的課程體系和教學內(nèi)容“推倒重來”,而是在原有課程體系的基礎上,以計算思維為主線,重新組織教學內(nèi)容,適當增加新的能體現(xiàn)計算思維的知識點,刪除一些陳舊的知識或技術(shù)細節(jié),大幅度調(diào)整課程內(nèi)容的結(jié)構(gòu),最終構(gòu)建一個計算機知識與計算思維相融合的課程體系。
1)分析研究計算思維的內(nèi)涵和特征。
在明確課程定位后,我們應首先仔細分析計算思維的內(nèi)涵,研究計算思維包含哪些基本組成部分,這些基本組成部分的特征和表現(xiàn)是什么,確定在大學計算機知識體系中涉及計算思維的哪些概念;然后將知識體系分解為知識單元和知識點,研究這些知識點如何與計算思維的典型特征有機融合。
對計算思維內(nèi)涵的解讀有很多。2010年,Peter J.Denning在ACM關(guān)于“什么是計算”的研討會上指出:計算思維是一種解決問題的思維方法,這種方法將問題表示為關(guān)于某個計算模型(該模型必須被發(fā)明或發(fā)現(xiàn))的信息處理過程,并尋求一種算法上的解決方案。2012年,李廉教授指出:“計算思維是人類科學思維中,以抽象化和自動化,或者說以形式化、程序化和機械化為特征的思維形式。計算思維的標志是有限性、確定性和機械性。計算思維的結(jié)論應該是構(gòu)造性的、可操作的、能行的”。
戰(zhàn)德臣教授提出的“計算之樹”很好地描繪出融入計算思維后的大學計算機所面對的知識空間,即“核心”的計算思維,主要有“計算之樹”的樹根——計算技術(shù)與計算系統(tǒng)的奠基性思維:0和1、程序、遞歸;“計算之樹”的樹干——通用計算環(huán)境的進化思維:馮·諾依曼機、個人計算機、并行與分布計算環(huán)境、云計算環(huán)境;“計算之樹”的樹枝——計算與(社會/自然)環(huán)境的融合思維;“計算之樹”的雙色枝杈——交替促進與共同進化的問題求解思維:算法與系統(tǒng)…。
2)選取典型的計算思維,構(gòu)建新的課程體系。
從上述知識空間中選取非計算機專業(yè)學生需要掌握的典型計算思維,對現(xiàn)有的教學內(nèi)容進行重新審視和定位,適當裁剪和增刪;圍繞問題的分析解決思路組織相關(guān)知識,設計課程教學內(nèi)容,最終構(gòu)建一個計算機知識與計算思維有機融合的課程體系。
北京航空航天大學于2012年開始參與教育部大學計算機課程改革項目“理工類高校計算思維與計算機課程研究及教材建設”,初步構(gòu)建大學計算機課程體系,見表1。
由表1可見,課程分為7個教學單元,要求在每個教學單元的教學內(nèi)容中,描述清楚計算機知識背后蘊含的計算思維是什么,指出哪些知識體現(xiàn)了計算學科的素養(yǎng)。例如,在計算原理教學單元中,計算思維主要涉及0和1的思維(基于電信號的硬件實現(xiàn)、邏輯真/假以及基于邏輯的理論與實現(xiàn),任何信息都可以表示成0、1串,也就都能被計算,被計算機處理)、計算機語言發(fā)展進程蘊含的思維(語言與編譯器)、計算機系統(tǒng)的思維(系統(tǒng)由基本動作以及基本動作的各種組合構(gòu)成,可以按照“程序”控制“基本動作”的執(zhí)行以實現(xiàn)復雜的功能);在算法描述與程序設計教學單元中,既要培養(yǎng)學生的計算思維,如指令與程序、算法、遞歸的思維,又要培養(yǎng)學生的計算學科素養(yǎng),即程序設計方法與典型算法的基本素養(yǎng)。
2.3設計能夠體現(xiàn)計算思維顯著特征的教學案例
教學案例是教學內(nèi)容的重要載體,如果采用抽象枯燥的理論講解方式,學生將難以理解計算思維的抽象概念,更談不上通過學習培養(yǎng)計算思維能力,因此需要設計能夠體現(xiàn)計算思維顯著特征的教學案例。我們通過分析計算機解題的思路和方法,著重講解如何運用知識將實際問題轉(zhuǎn)化成機器語言的思考過程,如提煉問題、轉(zhuǎn)換問題、構(gòu)建模型、設計算法、用合適的程序語言描述、用計算機解決問題,以促進學生對計算思維抽象和自動化本質(zhì)特征的理解,掌握計算思維面向典型計算環(huán)境的問題求解方法。
此外,我們還創(chuàng)設教學情境,提出基于計算思維的探究性問題,以激發(fā)學生的學習興趣和探究問題的求知欲。在教學中啟發(fā)學生運用計算思維的方法解決問題,可以有兩個途徑:根據(jù)已有工具對問題進行分析、抽象和建模,最終建立現(xiàn)有工具能處理的模型;利用所學的基本算法、建模方法創(chuàng)造算法或系統(tǒng)。例如,在計算原理教學單元中,教師可以設計“在計算機中信息是如何被存儲的”教學案例。一方面,通過該案例闡述的“0和1的思維”,學生可以了解為什么在計算機中要使用二進制而不是十進制;體會一切信息皆可抽象為符號,而在計算機中一切信息都是由0、1串表示,0、1邏輯易于硬件實現(xiàn)、便于計算;進而掌握“語義符號化、符號0(和)1化、0(和)1計算化、計算自動化、分層構(gòu)造化、構(gòu)造集成化”這種最重要的計算思維。另一方面,通過該案例闡述的“計算機系統(tǒng)的思維”,學生從系統(tǒng)的角度了解計算機如何被構(gòu)造以及信息如何被存儲和處理;通過中央處理器→Cache→內(nèi)存→虛擬內(nèi)存→磁盤存儲器的介紹,學生能夠體會到“在時間和空間之間、在處理能力和存儲容量之間進行折衷”的計算思維方法。
2.4改革教學方法,促進學生計算思維能力的養(yǎng)成
恰當?shù)慕虒W方法才能展現(xiàn)計算思維的魅力和基本思想方法。過去以講授知識點為主線的教學方法必須改變,應以講授認識和應用計算機的思維過程為主線,使知識隨著思維的展開而介紹,思維隨著知識的貫通而形成,能力隨著思維的理解而提高,這樣循序漸進地促進學生計算思維能力的養(yǎng)成。
一方面,在課堂教學中采取基于計算思維的探究教學模式。探究教學就是將科學問題作為探究過程來講授,讓學生像科學家進行科學探究一樣在探究過程中發(fā)現(xiàn)科學概念和規(guī)律,掌握科學方法,培養(yǎng)學生的探究能力和科學精神。在課堂教學中,教師提出基于計算思維的探究性問題,引導學生運用計算思維的一系列方法探索、發(fā)現(xiàn)問題的本質(zhì),通過簡化、轉(zhuǎn)換、遞歸、抽象、分解、建模等計算思維的基本方法,將一個復雜問題轉(zhuǎn)換成許多簡單的子問題并構(gòu)建求解模型,進而充分利用計算機的運算能力實現(xiàn)問題求解。當學生掌握這種思維方法以后,教師再啟發(fā)學生運用所學方法自主探究并解決更深層次的問題,從而達到知識鞏固、遷移和內(nèi)化為能力的目的。
另一方面,在實驗教學中采取任務驅(qū)動的實驗教學模式。教師只給出實驗任務,要求學生自主完成一個系統(tǒng)或一個解決方案從設計到實現(xiàn)的全過程。學生主動思考,自主梳理知識,構(gòu)建學習模式,規(guī)劃解決方案,運用計算思維的方法自主設計和獨立完成實驗任務?;谟嬎闼季S的任務驅(qū)動實驗教學模式將有利于培養(yǎng)學生自我建構(gòu)知識、計算思維和創(chuàng)新的能力。
3.結(jié)語
大學計算機基礎教學是大學通識教育的重要組成部分,更是培養(yǎng)大學生潛移默化地養(yǎng)成用計算思維方式解決專業(yè)問題、成為復合型創(chuàng)新人才的基礎性教育。當然,還有許多問題值得我們思考和研究,例如,如何針對不同的專業(yè)進行學科融合,引入跨學科元素?怎樣設計配套的實驗環(huán)節(jié)才能令計算思維真正落地?通過何種方式對學生掌握計算思維的程度進行考核?如何有效地評價融入計算思維后的教學效果?
教學改革是一個長期的過程,我們期望通過廣大計算機基礎教育工作者的研究、探索和改革實踐,真正實現(xiàn)普及計算機文化、訓練學生計算思維養(yǎng)成、培養(yǎng)學生運用計算思維方法解決專業(yè)領域問題的能力、提高學生創(chuàng)新能力的目標,從而為國家培養(yǎng)大量創(chuàng)新人才。endprint