劉會琴
(撫州職業(yè)技術(shù)學院,江西 撫州 344000)
計算機系統(tǒng)能力可以表述為運用系統(tǒng)觀理念促進計算機軟硬件協(xié)同運作的綜合能力。從計算機行業(yè)發(fā)展趨勢來看,越來越多的軟硬件技術(shù)應用都需要運用系統(tǒng)觀理念,從系統(tǒng)認知、設計、開發(fā)、應用等方面,做好各部分之間的抽象關(guān)聯(lián)與相互促進。因此,探究計算機系統(tǒng)、計算機各相關(guān)課程之間的內(nèi)在協(xié)同與邏輯關(guān)系,關(guān)注學生系統(tǒng)能力培養(yǎng)成為業(yè)界共識。計算機系統(tǒng)能力作為計算機科學與技術(shù)專業(yè)4項必備專業(yè)能力之一,各重點高校都在積極探索系統(tǒng)能力培養(yǎng)的實踐路徑,如清華大學提出的以“MIPSCPU”為核心的一體化教學實驗平臺,東南大學提出的以“MiniSys-1A CPU”為核心的軟硬件綜合實訓平臺等都取得了良好教學成效。由此,立足撫州職業(yè)技術(shù)學院實際,面向系統(tǒng)能力培養(yǎng)目標,提出計算機專業(yè)課程重構(gòu)建議。
提高人才培養(yǎng)質(zhì)量,要全面對接行業(yè)發(fā)展需求。計算機科學與技術(shù)專業(yè)要求學生具備較高的系統(tǒng)能力?,F(xiàn)有的課程結(jié)構(gòu)體系雖然也設置了與計算機系統(tǒng)能力培養(yǎng)相關(guān)的課程,但這些課程相對獨立,如“數(shù)字邏輯電路”“計算機系統(tǒng)結(jié)構(gòu)”“計算機組成原理”“編譯原理”“操作系統(tǒng)”“匯編語言”等課程,系統(tǒng)關(guān)聯(lián)性不夠。計算機科學與技術(shù)課程教學的總體目標是培養(yǎng)具備計算機系統(tǒng)能力的高素質(zhì)應用型人才,但從現(xiàn)有的課程實施來看,學生系統(tǒng)能力的培養(yǎng)并不到位[1]。在與學生訪談中發(fā)現(xiàn),雖然一些學生對計算機系統(tǒng)相關(guān)子系統(tǒng)了解得比較深刻,但是對各個系統(tǒng)之間的內(nèi)在邏輯關(guān)系了解不深,特別是基于計算機系統(tǒng)的整體分析上,學生綜合能力不足,導致課程結(jié)構(gòu)面臨“只見樹木,不見森林”的教學誤區(qū)??傮w來說,問題體現(xiàn)在以下三點。
一是教學內(nèi)容相對獨立,缺乏知識點之間的邏輯銜接與互融。計算機科學與技術(shù)學科,相關(guān)課程知識點多,但課程與課程之間往往缺乏深度關(guān)聯(lián)。各門課程非常注重自身課程的教學,或者強調(diào)課程內(nèi)部的系統(tǒng)性分析,忽視不同課程之間的銜接與整合,導致學生無法獲得完整的系統(tǒng)觀。
二是教學方法重理論講解,輕計算機系統(tǒng)知識點的全面整合。課程內(nèi)容講解中,對相關(guān)理論講得很細、很深,導致學生雖然理解了核心概念,但是卻無法將之轉(zhuǎn)換為計算機必備能力。
三是實驗教學側(cè)重于驗證,缺乏學生綜合設計與系統(tǒng)應用。實驗課程多圍繞計算機基本原理,對原理進行簡單驗證,學生雖然具備一定的系統(tǒng)開發(fā)與設計能力,但是缺乏深度整合能力,在面對有難度的綜合問題時,暴露出實訓不足等問題,進而產(chǎn)生“盲人摸象”的混沌感。可見,計算機系統(tǒng)能力的培養(yǎng)需要整合學科內(nèi)相關(guān)知識,促進課程之間的互通互融,而面向系統(tǒng)能力、優(yōu)化課程結(jié)構(gòu)成為課程改革的必然趨勢。
確立以系統(tǒng)能力為目標的人才培養(yǎng)模式,要深刻認識到計算機系統(tǒng)多級層次結(jié)構(gòu)的特點。對于硬件設計者,其研究的對象基于微程序機器級、傳統(tǒng)機器語言機器級,所涵蓋的課程主要有“電路技術(shù)”“數(shù)字邏輯電路”“計算機組成原理”“微機原理”“嵌入式系統(tǒng)”等。對于操作系統(tǒng)設計者,其研究的對象為操作系統(tǒng)機器,主要涵蓋“操作系統(tǒng)”相關(guān)課程;對于匯編語言程序設計者,其研究的對象為匯編語言機器,課程以“匯編語言”為主;對于高級語言設計者,其研究的對象為高級語言機器,以及不同的應用語言機器,所涵蓋的課程有“數(shù)據(jù)結(jié)構(gòu)”“高級語言程序設計”“算法設計與分析”“Java語言”“數(shù)據(jù)庫技術(shù)”“Linux系統(tǒng)”等。由此看來,針對計算機系統(tǒng)不同層級,所涵蓋的課程結(jié)構(gòu)也有所不同?;谙到y(tǒng)能力培養(yǎng)目標,在課程重構(gòu)中,不論是哪個層級的人才都要強調(diào)系統(tǒng)能力的養(yǎng)成。
面對計算機系統(tǒng),要讓學生深刻領(lǐng)會計算機系統(tǒng)的整體性、系統(tǒng)性,把握好各個層級的邏輯關(guān)系。面向未來,隨著多線程、多芯片、多核系統(tǒng)的應用,需要學生能夠基于計算機系統(tǒng)的系統(tǒng)化分析,設計出更具高性能的計算機軟硬件系統(tǒng)。因此,系統(tǒng)能力并非讓所有學生都能夠成為計算機系統(tǒng)的設計者、研究者,而是要基于計算機基本理論和技術(shù),能夠在系統(tǒng)觀基礎上更好地發(fā)揮計算機系統(tǒng)性能。
立足計算機科學與技術(shù)學科,面向系統(tǒng)能力培養(yǎng)的課程重構(gòu)目標,體現(xiàn)在以下4個方面。一是強調(diào)學生綜合實踐能力的養(yǎng)成。依托計算機系統(tǒng)設計,改革軟硬件課程協(xié)同教學方案。圍繞完整的計算機系統(tǒng)構(gòu)成,實現(xiàn)“圖形化+硬件描述語言編程”教學模式,主要涉及“匯編語言”“計算機組成原理”“操作系統(tǒng)”“接口技術(shù)”等課程改革,突出學生系統(tǒng)設計、工程實踐和解決問題的能力。二是強調(diào)課程間的邏輯銜接。確立“計算機組成原理”為核心課程,將“匯編語言”作為前導課程,“操作系統(tǒng)”作為后續(xù)課程,貫穿“CPU課程設計”知識,增強學生對計算機指令系統(tǒng)的直觀認識。優(yōu)化“接口技術(shù)”課程,深入探究“操作系統(tǒng)”軟件特征,讓學生掌握解決編程問題的能力,使他們能夠勝任較為復雜的系統(tǒng)設計工作。三是注重綜合性實驗項目整合。打破過去單一目標的實驗課程,注重學生軟硬件協(xié)同能力的培養(yǎng)。在實驗內(nèi)容上,引入模塊化理念,基于精簡型計算機結(jié)構(gòu),重視計算機各系統(tǒng)、各部件之間的協(xié)同運作,幫助學生建立整機觀念。四是搭建以實際工程為載體的教學科研項目,促進理論與實踐一體化教學。面向系統(tǒng)能力,要轉(zhuǎn)變教學觀念、創(chuàng)新教學手段、優(yōu)化教學內(nèi)容,突出真實項目案例的學習與實踐,增強學生計算機工程能力。
計算機系統(tǒng)能力,根據(jù)人才培養(yǎng)的層次需要優(yōu)化核心課程和教學知識點內(nèi)容。圍繞系統(tǒng)能力培養(yǎng)目標,其核心課程有“計算機組成原理”“數(shù)字邏輯電路”“編譯原理”“操作系統(tǒng)”“計算機系統(tǒng)結(jié)構(gòu)”等,這些課程構(gòu)成了計算機系統(tǒng)設計、應用的基礎。針對不同的核心課程,要注重課程間的銜接與綜合?!皵?shù)字邏輯電路”課程涵蓋數(shù)字電路、電路技術(shù)等知識點,包括對基本電路、元器件的學習和對時序邏輯的講解等,這些內(nèi)容為后續(xù)展開計算機系統(tǒng)設計奠定了基礎。“數(shù)字邏輯電路”課程在系統(tǒng)化教學中要將“組合邏輯電路”“時序邏輯電路”“同步時序邏輯電路分析”“中大規(guī)模集成電路”等作為重點內(nèi)容,讓學生了解布爾代數(shù)和數(shù)字邏輯電路的特點,能夠利用數(shù)字邏輯電路來展開硬件電路分析、設計與檢錯、調(diào)適等工作。“計算機組成原理”課程應該將“組合邏輯電路”“時序邏輯電路”“計算機指令集”“偽指令集”等作為教學重點,讓學生能夠基于計算機系統(tǒng)整體結(jié)構(gòu)來認識各系統(tǒng)構(gòu)成部分之間的關(guān)系[2]。如計算機運行過程中,各子系統(tǒng)之間的協(xié)作關(guān)系;抓住總線系統(tǒng)結(jié)構(gòu)各功能部件及工作原理,能夠?qū)ⅰ坝嬎銠C硬件與操作系統(tǒng)”“編譯原理”“微機原理”“接口技術(shù)”等課程進行綜合運用?!安僮飨到y(tǒng)”課程要與“匯編語言”“高級程序設計語言”相結(jié)合,強化學生對操作系統(tǒng)基本概念、操作系統(tǒng)設計原理和方法的學習。如處理器管理方法、存儲管理、通信與鎖死、進程同步、系統(tǒng)安全與保護、分布式操作系統(tǒng)、Linux實例學習等。注重“操作系統(tǒng)”課程與其他軟件的學習與設計,讓學生能夠從操作系統(tǒng)中提高軟件分析、設計和創(chuàng)新能力?!熬幾g原理”課程位于高級語言與操作系統(tǒng)之間,主要承擔高級語言向匯編語言等目標代碼的轉(zhuǎn)換功能。在系統(tǒng)能力培養(yǎng)目標上,讓學生能夠深刻理解計算機系統(tǒng)結(jié)構(gòu),能夠運用編譯器來完成程序設計調(diào)適、編譯工作。教學知識點包括詞法分析、語法分析、語義分析、中間代碼生成、目標程序調(diào)適與運行等。將“編譯原理”課程與高級語言編程相結(jié)合,幫助學生夯實軟件設計、系統(tǒng)開發(fā)基礎?!坝嬎銠C系統(tǒng)結(jié)構(gòu)”課程主要基于機器語言,讓學生認識與計算機系統(tǒng)結(jié)構(gòu)相關(guān)的概念、原理和分析方法,如計算機性能分析、并行處理、并行算法、單芯片多處理器技術(shù)、云計算、集群技術(shù)等。課程教學要強調(diào)與“編譯技術(shù)”“編程技術(shù)”“計算機硬件結(jié)構(gòu)”等課程的銜接,特別是在并行領(lǐng)域,讓學生能夠掌握并行操作系統(tǒng)設計與編譯方法。
突出學生計算機系統(tǒng)能力,要從計算機基本能力、專業(yè)能力、綜合能力三方面協(xié)調(diào)好軟件技術(shù)課程、硬件技術(shù)課程實踐教學。參照每個學段計算機專業(yè)相關(guān)課程的教學安排,提出“三橫兩縱”綜合實踐教學體系。所謂“三橫”,指的是第一年以基礎課程、基礎實踐能力為主,如“電路與電子技術(shù)”課程,“高級語言程序設計”課程和與之相關(guān)的實驗課程;第二年,以專業(yè)課程、專業(yè)實踐為主,如“計算機原理”課程及實驗課程、“操作系統(tǒng)”課程及實驗課程、“算法設計與分析實驗”“數(shù)據(jù)結(jié)構(gòu)實驗”課程等;第三年,以“嵌入式系統(tǒng)”課程、“微機原理與接口技術(shù)”課程為主,整合“數(shù)據(jù)庫原理實驗”課程、“編譯原理實驗”課程等,培養(yǎng)學生的綜合能力。所謂“兩縱”,指的是主要從硬件技術(shù)、軟件課程兩個領(lǐng)域注重學生計算機系統(tǒng)能力的培養(yǎng)。如在硬件層面,圍繞“數(shù)字邏輯電路”課程拓展相關(guān)實驗課程,讓學生動手參與多路選擇器、編碼器、譯碼器、比較器、加法器等電路設計[3];在軟件層面,主要加強軟件類課程的學習與程序設計,讓學生掌握軟件開發(fā)、軟件調(diào)試、軟件編譯及運行管理等能力。
從系統(tǒng)能力視角重構(gòu)計算機專業(yè)課程體系,對教師也提出了更高要求,要把握系統(tǒng)能力育人導向,強調(diào)對計算機類相關(guān)課程的貫通教學,特別是基于不同層級引入系統(tǒng)化教育理念和思維,以提高學生系統(tǒng)認知、系統(tǒng)設計、系統(tǒng)實現(xiàn)等綜合能力。