葛方振 劉懷愚
摘要:培養(yǎng)大學(xué)生的計算思維能力已經(jīng)是高校計算機(jī)教育的共識。在分析當(dāng)前計算機(jī)硬件課程教學(xué)模式存在的普遍問題,結(jié)合計算思維的基本原理,提出了計算機(jī)硬件課程教學(xué)模式改進(jìn)的方法,為計算機(jī)硬件課程教學(xué)改革提供了一種新思路。
關(guān)鍵詞:計算思維;計算機(jī)硬件課程;教學(xué)模式
中圖分類號:G642 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2015)13-0125-03
Abstract: The cultivation of college students' computational thinking ability is the consensus of the computer education in colleges and universities. A method to improve the teaching mode of computer hardware courses is put forward by combining with the basic principles of computational thinking and analyzing the existing problems in the teaching mode of computer hardware courses, which provides a new way for the teaching reform of computer hardware courses.
Key words: Computational Thinking; Computer Hardware Course; Teaching Mode
1 引言
隨著計算機(jī)科學(xué)與技術(shù)的發(fā)展,不同的高校開設(shè)計算機(jī)專業(yè)的課程有很大的差異,因而許多高校教師面臨一些困惑。如,快速發(fā)展的計算機(jī)技術(shù),使專業(yè)課程教學(xué)內(nèi)容面臨取舍問題、教學(xué)內(nèi)容選擇問題、學(xué)時數(shù)問題、教學(xué)與實踐的學(xué)時分配問題等。2006年周以真[1]提出了“計算思維”的概念,給國內(nèi)外教育工作者指明了計算機(jī)教育的目標(biāo)是培養(yǎng)學(xué)生的計算思維能力。隨后計算思維在國內(nèi)外計算機(jī)界引起廣泛關(guān)注,計算思維迅速成為了計算機(jī)教育研究的重要問題[2-5]。2011年四川師范大學(xué)的牟琴和譚良[6]對計算思維的研究情況做了較為詳細(xì)的闡述和總結(jié),并進(jìn)一步提出展望。總體看來,教育工作者們對計算思維的理解不盡相同,甚至差別較大,但普遍認(rèn)為計算機(jī)教育的核心任務(wù)是培養(yǎng)學(xué)生的計算思維能力,是業(yè)已形成的共識[7]。然而如何將這種共識變成完整的行之有效的方法體系,仍然需要繼續(xù)探討和堅持不懈的實踐。
面對大學(xué)計算機(jī)專業(yè)的“知識空間”,戰(zhàn)德臣、聶蘭順[8]從宏觀上提出了“計算之樹”描述計算技術(shù)和計算系統(tǒng),并給出了一個大學(xué)計算機(jī)課程改革方案。朱亞宗[9]提出了計算思維的基本原理,包括三點:一是可計算性原理,二是形理算一體原理,三是機(jī)算設(shè)計原理。我們認(rèn)為這至少從計算機(jī)的產(chǎn)生過程方面對計算思維的基本原理有了較為深刻的理解。本文試圖結(jié)合文獻(xiàn)[9]的計算思維的基本原理,根據(jù)計算機(jī)硬件課程的特點,提出計算機(jī)硬件課程教學(xué)改革的模式。
2 計算思維的基本原理
2.1 可計算性原理的核心是遞歸
計算在人類社會發(fā)展中是必不可少的工具。不過,人們一直較為直觀認(rèn)為:計算就是按照預(yù)定的規(guī)則,將一些原始數(shù)據(jù)變換成另一些需要的數(shù)據(jù)的處理過程。那么,按照確定的規(guī)則,將給定類型問題中的任何具體問題在有限步內(nèi)完成求解,便稱為這類問題是可計算的。但進(jìn)入20世紀(jì),人們發(fā)現(xiàn)很多問題找不到算法,例如:半群的字的問題,希爾伯特第10問題等。這時人們反思,盡管通過構(gòu)造出的方法能夠解決一些問題,但對計算的理解依然不明確。
美國數(shù)學(xué)家Kurt Godel于1934年提出了一般遞歸函數(shù)的概念,并給出了重要論斷:凡算法可計算的函數(shù)都是一般遞歸函數(shù),反之亦然。1936年,著名的“丘奇論點”指出算法可計算函數(shù)等同于一般遞歸函數(shù)或λ可定義函數(shù)。就這樣,經(jīng)歷數(shù)學(xué)教們的努力,可計算函數(shù)有了嚴(yán)格數(shù)學(xué)定義,但對具體的某一步運算,選用什么初始函數(shù)和基本運算仍有不確定性。為此,Turing在“論可計算數(shù)及其在判定問題中的應(yīng)用”一文中,全面分析了人的計算過程,把計算歸結(jié)為最簡單、最基本、最確定的操作動作,并使任何機(jī)械的程序都可以歸約為這些操作動作。這種方法以一種“自動機(jī)”為基礎(chǔ),算法可計算函數(shù)即是這種自動機(jī)能計算的函數(shù)。后來人們將這種“自動機(jī)”稱為“圖靈機(jī)”。
因此,“遞歸”的思維是可計算性原理的核心。采用一個或多個前導(dǎo)元素運算后續(xù)元素,從而實現(xiàn)求解一系列元素。周以真教授也指出遞歸是計算機(jī)技術(shù)的典型特征,遞歸使無限的功能在有限步驟內(nèi)可以描述或運行。
2.2 物理機(jī)制與計算方法對應(yīng)是形理算一體關(guān)鍵
數(shù)學(xué)能夠充分地表達(dá)各種物理規(guī)律,對物理規(guī)律有明確表達(dá),但是同一物理規(guī)律可能有多種數(shù)學(xué)表達(dá)方法,如我們在笛卡爾坐標(biāo)和極坐標(biāo)下描述橢圓,就可以形成不同的表達(dá)式,這樣在計算上就不等效。因此,要使數(shù)學(xué)物理的離散計算步驟完全可以上溯到形象思維層次的物理模型,計算思維必須與形象思維及抽象思維融合為一體。
2.3 機(jī)算設(shè)計原理的根本是“0-1”和“程序”思維
電子計算機(jī)的基本模型應(yīng)該是計算思維的根基。眾所周知,計算機(jī)的根本特征是程序存儲和程序的自動執(zhí)行。馮·諾依曼提出的計算機(jī)的基本機(jī)構(gòu)為:計算器、邏輯控制裝置、存儲器、輸入和輸出5個構(gòu)成部分,并確定了采用二進(jìn)制和存儲程序,自動執(zhí)行指令,這樣就充分利用了邏輯學(xué)家和電子工程師的智慧。因此,計算機(jī)的基礎(chǔ)原理離不開“0-1”思維和“程序”思維。計算機(jī)的硬件電路由晶體管等元器件實現(xiàn),再進(jìn)一步組合形成邏輯門電路,然后再構(gòu)造復(fù)雜的電路,從而實現(xiàn)計算機(jī)的復(fù)雜功能。正是硬件能夠存儲和執(zhí)行邏輯值,0和1就是邏輯值的符號,通過0和1,把所有的操作或處理都符號化為0-1序列。這就是“0-1”思維。計算機(jī)的各種復(fù)雜的操作都是由基本操作構(gòu)成的,實現(xiàn)系統(tǒng)僅僅需要若干基本操作進(jìn)行組合,形成基本動作的次序,也就是程序,即是“程序”思維。
3 計算機(jī)硬件課程教學(xué)模式存在的問題
計算機(jī)硬件課程主要由模擬電子技術(shù)、數(shù)字邏輯、計算機(jī)組成原理、微機(jī)原理與接口技術(shù)、計算機(jī)體系結(jié)構(gòu)、嵌入式系統(tǒng)6門課程。這些是計算機(jī)專業(yè)課程的重要部分,多數(shù)院校都對這些課程比較重視,但大多數(shù)學(xué)生都反映對硬件知識掌握不牢,動手實踐能力不強(qiáng),幾乎不能理解簡單硬件系統(tǒng)的原理,更談不上硬件系統(tǒng)的分析與設(shè)計等等問題。導(dǎo)致這一結(jié)果的原因與教學(xué)模式有很重要的關(guān)系。
3.1 課堂教學(xué)內(nèi)容無新意,難激發(fā)學(xué)生的學(xué)習(xí)興趣
如果計算機(jī)硬件課程僅僅按照教材的組織授課,整個知識的過程是填鴨式,一灌到底,最終只能是知識堆積,給學(xué)生感到內(nèi)容繁雜,難以理解,學(xué)生會漸漸失去學(xué)習(xí)興趣。
3.2 強(qiáng)調(diào)理論知識,不重視實踐訓(xùn)練,難提升思維方式
很多院校對課時量壓縮,教學(xué)內(nèi)容大大減少,教師在課堂上只講解基本原理,使學(xué)生的系統(tǒng)分析和設(shè)計能力較弱。另外,實驗課內(nèi)容以驗證型居多,致使學(xué)生對各個知識點的聯(lián)系不清楚,缺乏獨立解決問題的能力,難以建立連續(xù)的、漸進(jìn)的設(shè)計思想和提升計算思維能力。
4 新型教學(xué)模式構(gòu)建
結(jié)合目前計算機(jī)硬件教學(xué)上存在的問題,我們希望通過具體教學(xué)模式改革,使學(xué)生在潛移默化中將計算思維能力融入到個人解決問題的備選思考方式庫中。經(jīng)過四年的熏陶,會主動甚至無意中運用計算思維去解決實際問題。為此,進(jìn)行如下改革。
4.1 優(yōu)化教學(xué)內(nèi)容組織
以計算思維為指導(dǎo),保持原有的教學(xué)內(nèi)容,挖掘知識模塊之間的聯(lián)系,重新組織和優(yōu)化教學(xué)內(nèi)容,理出教學(xué)內(nèi)容的知識體系,找出知識脈絡(luò)。這里給出模塊化和系統(tǒng)化的教學(xué)內(nèi)容組織方式。
模塊化,一些具有計算思維特征的教學(xué)內(nèi)容可設(shè)為知識模塊。如,“0-1”模塊、“存儲程序”模塊、并行模塊、遞歸模塊等。數(shù)字邏輯的邏輯部分和計算機(jī)組成原理的數(shù)據(jù)表示方法等內(nèi)容設(shè)為“0-1”模塊,數(shù)字邏輯的存儲電路部分、計算機(jī)組成原理的多層次存期器系統(tǒng)、指令系統(tǒng)和微機(jī)原理與接口技術(shù)的存儲器部分可視為“存儲程序”模塊等。同時,內(nèi)容組織可以與社會環(huán)境中場景類比,使學(xué)生由淺入深地理解計算思維,豐富其聯(lián)想能力,促進(jìn)學(xué)生形成復(fù)合型思維。
系統(tǒng)化,以項目驅(qū)動的方式組織系統(tǒng)化的教學(xué)內(nèi)容,幫助學(xué)生建立知識模塊之間的聯(lián)系,提高學(xué)生對計算技術(shù)與計算系統(tǒng)的宏觀認(rèn)識和理解。由項目的問題為導(dǎo)向,逐步探尋知識結(jié)論的思維軌跡和模式,改變陳舊的教學(xué)內(nèi)容呈現(xiàn)型教學(xué)模式,以培養(yǎng)學(xué)生的思維過程為重點,加強(qiáng)教學(xué)深度,達(dá)到訓(xùn)練計算思維的目的。譬如:在講授數(shù)字邏輯課程中,以設(shè)計一個復(fù)雜數(shù)字系統(tǒng)為例,為完成給定的系統(tǒng),首先需要進(jìn)行系統(tǒng)總體功能分析設(shè)計和各個部件的設(shè)計,然后分析數(shù)制與碼制、邏輯門、邏輯電路設(shè)計及優(yōu)化等相關(guān)主題,最后再總結(jié)歸納設(shè)計思想。
4.2 改進(jìn)教學(xué)方法
教學(xué)模式改革,不僅是教學(xué)內(nèi)容的優(yōu)化和更新,更重要的是采用怎樣的方法來實現(xiàn)教學(xué)目標(biāo),即是教學(xué)方法上改革。下面是我們已經(jīng)過在實踐應(yīng)用的兩種教學(xué)方法。
4.2.1 加強(qiáng)學(xué)生自主探究學(xué)習(xí)能力
當(dāng)今,計算機(jī)網(wǎng)絡(luò)的發(fā)展和普及,網(wǎng)絡(luò)上的學(xué)習(xí)資源已經(jīng)相當(dāng)豐富,大學(xué)生有能力利用網(wǎng)絡(luò)資源,學(xué)習(xí)并理解一部分知識。同時,翻轉(zhuǎn)課堂教學(xué)是當(dāng)前較好的教學(xué)方法,高校教師也應(yīng)當(dāng)合理地借鑒,將其融入自主探究式學(xué)習(xí)中。首先讓學(xué)生提前在網(wǎng)絡(luò)上學(xué)習(xí)一些課前的基本知識,在課堂教學(xué)中不再重復(fù)學(xué)生可以方便獲取、自學(xué)的東西,多留出時間讓師生交流。這樣,一方面,教師可以充分發(fā)揮學(xué)生的自學(xué)能力,讓學(xué)生自主完成部分學(xué)習(xí)任務(wù);另一方面,教師可以通過課堂師生交流,使學(xué)生掌握知識的全面性和系統(tǒng)性,引導(dǎo)學(xué)生形成計算思維能力。
4.2.2 促進(jìn)實驗課程教學(xué)改革
當(dāng)今的教育理念都倡導(dǎo)學(xué)生做課堂的主人,充分給學(xué)生動腦和動手機(jī)會,讓他們主動獲取知識;而教師的作用主要是引導(dǎo)學(xué)生發(fā)揮主觀能動性,加強(qiáng)學(xué)生的實踐能力,幫助學(xué)生梳理知識結(jié)構(gòu),提升學(xué)生計算思維能力。為此,對實驗教學(xué)方法進(jìn)行如下改革:
⑴實驗進(jìn)課堂。計算機(jī)硬件課程的共性是實踐性強(qiáng),如果單純地以理論課的形式授課,學(xué)生會感到抽象,無法完全理解。如果能將驗證性實驗在課堂上演示(如:計算機(jī)組成原理的存儲器實驗、微機(jī)原理與接口技術(shù)的定時器、數(shù)碼管顯示實驗等),不僅解決了學(xué)生的疑問,還活躍了課堂氣氛。
⑵實驗平臺自行設(shè)計。目前,多數(shù)院校采用購置的實驗儀安排實驗內(nèi)容,且安排相對固定,學(xué)生只需要插入少數(shù)連線,就可以將實驗做完。這樣,教師無法靈活安排實驗內(nèi)容,難以提高學(xué)生的實踐能力,更談不上系統(tǒng)掌握知識,提高思維能力。為此,購買一些最小系統(tǒng)開發(fā)板,自制實驗平臺具有較多好處。一是,可以選擇最適合本校學(xué)生的軟硬件資源,編制難度適中的實驗內(nèi)容;二是,有利于鍛煉教師能力,改善教師專業(yè)素質(zhì),自制實驗平臺以教師主導(dǎo),學(xué)生參與,共同提高;三是,成本低,功能全;四是,方便維護(hù),改變實驗儀維護(hù)周期長的問題。
4.3 改進(jìn)綜合評價體系
考核是評估教學(xué)目標(biāo)完成程度的一種手段。通常,大學(xué)計算機(jī)課程的評價體系由平時成績和期末成績兩部分組成。平時成績是學(xué)生課堂出缺勤情況,占30%,而期末成績則以測試記憶性的知識考核為主,占70%。但是,在計算機(jī)硬件課程中,這樣的評價體系不僅不能全面反映學(xué)生對課程知識的掌握程度,更不可能有效地反映學(xué)生的計算思維能力,原因在于計算機(jī)硬件課程帶有一定的綜合設(shè)計和實踐能力,試卷成績根本無法體現(xiàn)學(xué)生運用知識的能力,更談不上提高計算思維的能力和創(chuàng)新能力。
我們對計算機(jī)硬件課程采用綜合的評價系統(tǒng),一門課程的評價應(yīng)由平時成績(占10%)、平時實踐成績(體現(xiàn)運用和創(chuàng)新能力,占50%)和期末成績(占40%)。這樣不僅考慮到學(xué)生出勤情況和記憶知識的考核,更重要的是體現(xiàn)了學(xué)生的平時實踐創(chuàng)新能力,這樣,實踐考核成績不僅容易判別學(xué)生對計算思維的理解以及其運用能力,還能反映問題求解過程或方式方法的多樣性,從而鼓勵學(xué)生大膽創(chuàng)新。
5 總結(jié)
本文根據(jù)計算機(jī)硬件課程的特點,分析了當(dāng)前計算機(jī)硬件教學(xué)模式存在的問題,提出了計算機(jī)硬件教學(xué)模式改革的方法,解決了培養(yǎng)計算思維能力難以落實到具體課程的難題,為計算機(jī)硬件課程教學(xué)改革提供重要參考。
參考文獻(xiàn):
[1] Wing J M. Computational thinking [J]. Communication of the ACM, 2006, 49(3): 33-35.
[2] CS2001 Interim Review [EB/OL] http://wiki.acm.org/cs2001/index.php?Title=main_page, 2008.
[3] Philips P. Computational thinking: A problem-solving tool for every classroom[EB/OL] http://www.csta.acre.org/Resources/sub/ResourceFiles/ComputationalThinking.pdf, 2008.
[4] Bundy A. Computational thinking is pervasive[J]. Journal of Scientific and Practical Computing, Noted Reviews, 2007, 1(2): 67-69.
[5] 董榮勝, 古天龍.計算思維與計算機(jī)方法論[J].計算機(jī)科學(xué),2009, 36(1): 1-4, 42.
[6] 牟琴, 譚良. 計算思維的研究及其進(jìn)展[J].計算機(jī)科學(xué),2011, 38(3): 10-15, 50.
[7] 陸漢權(quán), 何欽銘, 徐鏡春. 基于計算思維的大學(xué)計算機(jī)基礎(chǔ)課程教學(xué)內(nèi)容設(shè)計[J]. 中國大學(xué)教學(xué), 2012(9): 5-58.
[8] 戰(zhàn)德臣, 聶蘭順. 計算思維與大學(xué)計算機(jī)課程改革的基本思路[J]. 中國大學(xué)教學(xué), 2013 (2): 56-60.
[9] 朱亞宗. 論計算思維——計算思維的科學(xué)定位、基本原理及創(chuàng)新路徑[J]. 計算機(jī)科學(xué), 2009, 36(4): 53-55, 93.