侯彥利
(吉林大學公共計算機教學與研究中心,吉林長春 130025)
“微機原理與接口技術”公共課是高等學校計算機基礎課程教學體系中主要面向工科學生開設的核心課程之一。它是一個內(nèi)容龐雜、先修知識要求較多、體現(xiàn)整體系統(tǒng)認知與應用能力的課程。通過本課程的學習,學生可以了解和掌握微型計算機硬件系統(tǒng)基本組成、工作原理及接口電路的基本設計方法,初步具備用匯編語言進行程序設計的能力,學習通過軟件控制硬件的方法,為以后從事計算機控制和信息處理等領域的研究打下基礎。目前,計算機作為一個“快速計算或者自動化控制”的工具的認知還是很普遍,計算機基礎教學的目的就是教學生學會使用這個工具,培養(yǎng)學生運用這個工具的能力。
計算機是無數(shù)的計算機科學家多年研究建設的結(jié)果,這個結(jié)果蘊含了大量的科學思維邏輯,形成了計算機技術的基本概念、基本方法,是這種思維造就了計算機,這種思維是計算機的精華和靈魂。計算思維是從思維角度體現(xiàn)計算機科學與技術,是運用計算機科學技術的基本概念、基本思想去組織行為、進行問題求解、完成系統(tǒng)設計的思維活動。雖然我們往往通過計算機的軟硬件,以及計算機的使用去體會計算思維,但計算思維是比計算機軟硬件設計能力、比計算機的使用能力更抽象,對促進其他學科的發(fā)展更重要的一種意識與思維方式。
文獻[2]對計算思維概念以及計算思維能力的培養(yǎng)進行了較系統(tǒng)的闡述。文獻[3-4]給出了一個多視角的計算思維描述:“計算思維是通過約簡、嵌入、轉(zhuǎn)化和仿真等方法,把一個困難的問題闡釋為如何求解它的思維方法;計算思維是一種遞歸思維,是一種并行處理,是一種把代碼譯成數(shù)據(jù)又能把數(shù)據(jù)譯成代碼,是一種多維分析推廣的類型檢查方法;計算思維是一種采用抽象和分解的方法來控制龐雜的任務或進行巨型復雜系統(tǒng)的設計,是基于關注點分離的方法;計算思維是一種選擇合適的方式陳述一個問題,或?qū)σ粋€問題的相關方面建模使其易于處理的思維方法;計算思維是按照預防、保護及通過冗余、容錯、糾錯的方式,并從最壞情況進行系統(tǒng)恢復的一種思維方法;計算思維是利用啟發(fā)式推理尋求解答,即在不確定情況下的規(guī)劃、學習和調(diào)度的思維方法;計算思維是利用快速計算處理海量數(shù)據(jù),在時間和空間之間、在處理能力和存儲容量之間進行折中的思維方法”。
由計算機當前已取得的巨大成就,不難看出計算思維是融入當前每個人的工作和生活、無處不在的一個解決問題的思想源泉。在當今社會,計算思維方式的養(yǎng)成是多方面的。對于非計算機專業(yè)的大學生,公共計算機基礎課程是培養(yǎng)其計算思維的主要教學內(nèi)容。這些課程體系以往雖然也注意到了文化層面的計算知識與能力的培養(yǎng),但教學目標主要強調(diào)操作能力、應用開發(fā)能力、研究創(chuàng)新能力的培養(yǎng);對于理工科非計算機專業(yè)學生,主要從算法實現(xiàn)能力、數(shù)據(jù)歸納能力、程序設計能力以及一定的硬件技術基礎與設計能力[5]。近些年,隨著計算思維的提出,計算思維能力培養(yǎng)越來越受到重視。首屆“九校聯(lián)盟(C9)計算機基礎課程研討會”上,與會專家全面分析了計算機基礎教學現(xiàn)狀,對一系列有關計算機基礎教學發(fā)展問題進行了探索,提出“大學生學習計算機基礎課程,不僅要了解計算機是什么,計算機能夠做什么、如何做,而且還要知道這個學科領域解決問題的基本方法與特點,即學習這個學科領域解決問題的基本思維方法。計算機作為通識教育的重要內(nèi)容,不只是簡單地拓展學生在計算機方面的知識面,更需要展現(xiàn)計算機學科的思維方式”[6],認為“計算思維能力的培養(yǎng)正是大學計算機基礎教學的核心任務”[6]。
隨著計算機知識的普及以及使用能力的普遍提高,有質(zhì)疑大學計算機基礎課程開設的必要性的觀點。而計算思維的培養(yǎng)需求不僅說明了計算機基礎課程的必要,同時也反映了隨著計算機的深入發(fā)展以及在人類活動中的重要性提高,計算機基礎教育的需求目標在不斷提高,也為新的計算機基礎教學課程體系建設提出了一個基本的出發(fā)點。在重新梳理原有課程體系基礎上,逐漸形成以計算思維培養(yǎng)為目標的框架?!拔C原理與接口技術”是機電類專業(yè)學生的重要計算機基礎課程。依據(jù)課程特點,探索在教學中深化計算思維能力培養(yǎng)模式具有重要意義。
“微機原理與接口技術”是計算機基礎教學體系中“系統(tǒng)平臺與計算環(huán)境”知識領域的深入課程。“微機原理與接口技術”課程的內(nèi)容主要包括微型計算機基礎、微處理器及總線、指令系統(tǒng)及匯編語言、存儲器技術、輸入輸出技術、接口電路及應用[7]。
“微機原理與接口技術”是通過某款具體的微處理器為核心展開課程內(nèi)容,其直接的教學過程是講解一個系統(tǒng),通過實例講原理以及知識和應用;而其它課程往往是講解計算機科學技術的一個方面的知識、理論或技術。給學生一個具體的、由基礎的電路構(gòu)成的計算機系統(tǒng),并自動實現(xiàn)計算的可看的東西,可使其對計算機的“計算”會有更本質(zhì)的認識。尤其對于機電類專業(yè)來說,微型計算機不僅可以在計算、信息處理等方面使用,而且很重要的一個方面是在本專業(yè)系統(tǒng)設計中的嵌入式應用,即把微型機作為本專業(yè)系統(tǒng)的一個部件使用。如在機械系統(tǒng)設計中,傳統(tǒng)的方式是輸入——機械系統(tǒng)——輸出(圖1);這里所有功能實現(xiàn)基于機械的原理與部件;而有計算思維的問題解決方案中,在從一開始的考慮中“計算”就是其可選擇使用的基礎手段;就會給出基于“計算”的系統(tǒng)設計(圖2)。而計算部分的嵌入能夠把復雜的過程進行轉(zhuǎn)化分解,使系統(tǒng)能夠?qū)崿F(xiàn)一個全機械系統(tǒng)無法比擬的功能。
圖1 純機械系統(tǒng)
圖2 嵌入“計算”的機械系統(tǒng)
“微機原理與接口技術”雖然一般被認為其主體是硬件課程,但實質(zhì)它講述的是一個計算系統(tǒng),除了硬件結(jié)構(gòu),也包含了數(shù)據(jù)結(jié)構(gòu)、程序設計、編譯以及程序執(zhí)行的一些思想和概念,甚至涉及存儲器管理、接口管理等操作系統(tǒng)問題。雖然“微機原理與接口技術”基于的計算環(huán)境是微型計算機系統(tǒng),但對于沒有開設過“計算機組成原理”類課程的非計算機專業(yè)學生來說,通過本門課程了解計算機在指令級的軟硬件如何配合實現(xiàn)自動計算的基本過程,以及很多計算機組成原理方面的知識。
總之,從計算思維能力培養(yǎng)角度,應當注意通過指令基本執(zhí)行過程的學習加深對計算機自動實現(xiàn)計算的理解;通過數(shù)據(jù)編碼及代碼數(shù)據(jù)存儲與表示的知識說明代碼與數(shù)據(jù)的關系;通過硬件的總線與層次結(jié)構(gòu)說明采用抽象分解方法處理龐雜任務及復雜系統(tǒng)設計的方法;通過強調(diào)微機軟硬結(jié)合的基本工作過程,加深把算法嵌入在各種系統(tǒng)中的基本技能;注意在“串行與并行數(shù)據(jù)傳輸”、“時序及同步控制”等內(nèi)容的學習中體會時間和空間的折中思維方式。
“微機原理與接口技術”是一門實踐性、設計性很強的課程。實驗課程的教學內(nèi)容及方法對學生計算思維的培養(yǎng)有很大影響。在實驗內(nèi)容設置、實驗過程組織、實驗指導等方面應當強化計算思維的養(yǎng)成?!拔C原理與接口技術”實驗課程一般包括操作性基礎實驗、綜合性實驗和專業(yè)應用性實驗。
(1)對于操作性基礎實驗,不僅要讓學生學習軟硬件的基本操作使用以及對基本原理的驗證,而且要啟發(fā)學生思考這些基本的器件及原理在計算機以及基于計算機的系統(tǒng)中,解決了哪些為實現(xiàn)“計算”必須實現(xiàn)的基本需求,說明了哪些有關“計算”的基本規(guī)律。(2)對于綜合性技能實驗,不僅要了解掌握計算機解決實際問題的技術與方法,而且要引導學生思考掌握怎么基于計算機科學與技術的基本知識、基本原理、基本算法、基本器件構(gòu)建解決實際問題的技術方法。(3)對于專業(yè)性應用實驗,不僅要培養(yǎng)學生利用計算機技術與方法解決其他專業(yè)領域問題的綜合能力,而且要培養(yǎng)學生在問題求解、系統(tǒng)設計中突破專業(yè)界限的能力。把計算機科學與技術方法與本專業(yè)理論技術方法,在思維方式層面上融入一起,有機結(jié)合在問題的求解方法和系統(tǒng)的設計方案中。
計算思維的理解以及計算思維能力的培養(yǎng)方法都處在一個不斷發(fā)展的過程。與其它計算機基礎課程一樣,把計算思維能力的培養(yǎng)作為“微機原理與接口技術”公共課教學的核心任務,需要一個過程;形成較為系統(tǒng)的能夠體現(xiàn)計算思維能力培養(yǎng)的教學方法,更需要一個不斷探索和實踐的過程。推進計算思維能力培養(yǎng)的計算機基礎教學,需要教師學習、體會并深入理解計算思維概念以及計算思維能力;計算機基礎教學組織要積極推出課程體系建設指導意見;逐漸形成配套的教材以及教學環(huán)境;教學內(nèi)容及重點突出有利與計算思維培養(yǎng)的部分;課程講授及實驗指導要達到能體現(xiàn)出計算思維的層次。
[1]田輝,徐惠民.“微機原理與接口技術”課程體系與內(nèi)容探討[J].中國大學教學,2010(4):35-36.
[2]李廉.計算思維——概念與挑戰(zhàn)[J].中國大學教學,2012(1):7-12.
[3]Jeannette M.Wing.Computational Thinking[J].Communications ofthe ACM,2006,49(3):33-35.
[4]陳國良,董榮勝.計算思維與大學計算機基礎教育[J].中國大學教學,2011(1):7-11.
[5]中國高等院校計算機基礎教育改革課題研究組.中國高等院校計算機基礎教育課程體系[M].北京:清華大學出版社,2008.
[6]何欽銘,陸漢權,馮博琴.計算機基礎教學的核心任務是計算思維能力的培養(yǎng)——《九校聯(lián)盟(C9)計算機基礎教學發(fā)展戰(zhàn)略聯(lián)合聲明》解讀[J].中國大學教學,2010(9):5-9.
[7]教育部高等學校計算機基礎課程教學指導委員會.高等學校計算機基礎教學發(fā)展戰(zhàn)略研究報告——暨計算機基礎課程教學基本要求[M].北京:高等教育出版社,2009.