文章編號:1672-5913(2008)10-0019-02
摘要:本文根據(jù)我院的教學實踐,從基礎(chǔ)實驗、硬件實驗、軟件實驗和課外實踐等四個方面對計算機專業(yè)實驗教學體系進行了探索。
關(guān)鍵詞:實驗教學體系;計算機專業(yè);課外實踐
中圖分類號:G642
文獻標識碼:B
計算機專業(yè)實驗教學質(zhì)量的高低直接影響到人才培養(yǎng)的質(zhì)量。實驗課時緊張表面上是學時安排的問題,但是實際上與實驗教學的體系密切相關(guān)。高質(zhì)量的實驗設(shè)計,綜合性和創(chuàng)新的實現(xiàn),都需要對實驗體系加以梳理。本文試圖從教學實際出發(fā),對計算機專業(yè)實驗教學體系進行探索。
浙江大學計算機學院根據(jù)學校的人才培養(yǎng)目標,結(jié)合學院實際,改革、探索實驗教學的新體系。以系統(tǒng)論的觀點,按照培養(yǎng)基礎(chǔ)、訓練技能、研究創(chuàng)新三層次,以專業(yè)人才培養(yǎng)計劃、實驗課程的教學目的為依據(jù),按學科、專業(yè)大類進行實驗教學內(nèi)容整體優(yōu)化。
1目前計算機專業(yè)實驗教學存在的問題
國內(nèi)各重點大學的計算機學院和軟件學院的多門課程雖然較早就選用了國外的原版教材,課程體系也基本使用CC2001,但這些不同課程的教材來自國外不同的大學,各教材之間內(nèi)容往往銜接不好。隨著課時的壓縮,各門課程在教學內(nèi)容的覆蓋面與深度要求上的矛盾更為突出,課程間更需要合理安排教學內(nèi)容,注意內(nèi)容和進度的合理銜接。一方面,每門課都覺得要講的內(nèi)容很多而因?qū)W時關(guān)系只能放棄一些原本應(yīng)該涵蓋的內(nèi)容;另一方面又因為多門實驗課程各自為政、內(nèi)容重疊而占用了有限的學時。因此從培養(yǎng)計算機高級設(shè)計人才的目標出發(fā),按教學系統(tǒng)性、先進性、強調(diào)技能培養(yǎng)的要求,進行實驗教學體系教學改革也是迫在眉睫。
傳統(tǒng)的計算機實驗教學體系從屬于理論教學,開設(shè)的實驗教學完全是驗證理論性的實驗,學生往往不能深入了解實驗的機理;對應(yīng)用平臺、硬件器件的變化無所適從,起不到培養(yǎng)學生綜合運用所學知識和解決問題的能力,達不到開發(fā)學生創(chuàng)新能力和培養(yǎng)應(yīng)用開發(fā)能力的目的。因此我們需要知識和能力并重的實驗教學體系。集成電路技術(shù)和計算機輔助電路設(shè)計(EDA)技術(shù)的發(fā)展,尤其是計算機電路在邏輯層的設(shè)計和FPGA上的實現(xiàn),借助于輔助軟件工具,已經(jīng)比較方便。這樣的技術(shù)條件和實現(xiàn)背景,為硬件設(shè)計科研和教學提供了堅實的底層支持。
2計算機實驗教學體系的改革和探索
計算機實驗教學體系分四個環(huán)節(jié):基礎(chǔ)實驗教學、硬件實驗教學、軟件實驗教學、課外實踐活動。
2.1基礎(chǔ)實驗教學
基礎(chǔ)實驗教學主要包括三門核心課程,“C程序設(shè)計基礎(chǔ)及實驗”、“數(shù)據(jù)結(jié)構(gòu)與算法”、“面向?qū)ο蠹夹g(shù)”。這三門課是計算機課程體系中最基本、但也是分量最重的課程。主要強化基本能力的訓練。通過計算機自動考試系統(tǒng)和大作業(yè)訓練,強化學生程序設(shè)計的基本功。
強化“實踐”是提高大學生程序設(shè)計能力的必要手段。在基礎(chǔ)實驗教學中,通過多層次的編程訓練和編程上機考試,并將日常教學過程與考核相結(jié)合,強化實踐,促進自主學習。設(shè)計“2類訓練/3種作業(yè)”供學生練習編程,即基本訓練(涉及自測作業(yè)、主題作業(yè))和綜合訓練(即大型作業(yè)),規(guī)定基本要求,鼓勵多學多練,尤其鼓勵優(yōu)秀學生分組合作完成大型作業(yè)。在大型作業(yè)中,學生自己選題,圍繞要解決的問題,查閱、自學相關(guān)資料,進行分析、研究和設(shè)計,組內(nèi)分工合作完成,最后分組公開答辯評分。這些類型的編程訓練系統(tǒng)地幫助學生從知識點、內(nèi)容主線和應(yīng)用面3個層次上逐步提高編程能力。
對于以編程為基礎(chǔ)的實驗環(huán)境,開發(fā)和使用一系列網(wǎng)絡(luò)化輔助教學平臺,包括課程學習平臺,作業(yè)平臺和考試平臺,輔以配套的教學資源,構(gòu)建了良好的網(wǎng)絡(luò)教學環(huán)境。使用作業(yè)平臺,完成自測作業(yè)和部分主題作業(yè)的發(fā)布、提交、自動批改和統(tǒng)計分析。我們還采用了能自動組卷和評分的考試平臺。自1997級起,已有10屆近4萬名學生使用該系統(tǒng)考試。通過自動化流程減少機械性的簡單編程判斷工作,實驗教師可以把更多的精力放在和教師配合出題以及教學效果的分析方面。
在基本訓練類作業(yè)中,需要提供豐富的編程習題,并提供網(wǎng)上自動評判系統(tǒng),供學生隨時對學習效果進行及時科學的評價。不同水平的學生在這樣的氛圍中均有自己的發(fā)展空間,并逐漸成長為能用科學的方法主動探求知識、充分發(fā)展個性的學習的主人。同時我們還為學生提供豐富的網(wǎng)上學習資源,學生根據(jù)自身水平和興趣,自主安排學習活動。例如,大型作業(yè)往往涉及許多課堂教學未講授的內(nèi)容,學生就通過教師提供的參考資料自學掌握
2.2硬件實驗教學
硬件實驗教學主要包括三門核心課程“邏輯與計算機設(shè)計基礎(chǔ)”、“計算機組成”、“計算機體系結(jié)構(gòu)”以及兩門專業(yè)課程“匯編程序設(shè)計與接口原理”和“嵌入式系統(tǒng)”,著重培養(yǎng)學生硬件系統(tǒng)設(shè)計和實現(xiàn)能力。
從“邏輯與計算機設(shè)計基礎(chǔ)”課程實驗開始,首先學習分立元件和小規(guī)模集成電路的使用,同時配套學習各種實際儀器的使用,目的是讓學生將數(shù)字邏輯與實際電路聯(lián)系起來。在完成相應(yīng)動手實驗后,再學習硬件描述語言Verilog,讓學生將實際實際電路和硬件描述語言對應(yīng)聯(lián)系起來。同時配套學習各種軟件調(diào)試工具,掌握各種虛擬儀器的使用。這時教學和實驗重點放在器件設(shè)計這一級,要求學生能夠用Verilog設(shè)計組合電路(譯碼器、編碼器、多選一多路轉(zhuǎn)換器、運算器、ALU電路等)、時序電路設(shè)計(觸發(fā)器、鎖存器、各類寄存器、時鐘和定時等)以及半導體存儲器等。實驗設(shè)計完成的基本器件可以直接為后續(xù)《計算機組成》課程實驗所用。
“計算機組成”課程實驗重點放在部件設(shè)計這一級。由于先修課程“邏輯與計算機設(shè)計基礎(chǔ)”的良好基礎(chǔ)和連貫性,可以利用前面設(shè)計的器件組成部件。最大限度地利用有限的教學和實驗學時,不會使學生負擔過重,更主要的是可以加深對前面課程的理解,要求學生能夠用Verilog設(shè)計單周期和多周期實現(xiàn)的簡單(十幾條指令)的32位RISC CPU,并寫一段使有這些指令的測試程序,利用相應(yīng)的匯編語言及其編譯程序,翻譯成二進制代碼,并能將CPU軟核和測試程序代碼寫入FPGA開發(fā)板,進行實際測試和驗證。
后面的“計算機體系結(jié)構(gòu)”課程主要完成前面設(shè)計的計算機的流水線設(shè)計,要求學生能夠用Verilog設(shè)計流水線實現(xiàn)的簡單(十幾條指令)的32位RISC CPU,并能寫入FPGA做測試驗證。以后還可以逐步增加實驗內(nèi)容,如:進一步增加中斷處理功能,Cache設(shè)計實現(xiàn)等。與原來的教學方案(軟件模擬實現(xiàn)流水線)相比,學生可以有更強的硬件設(shè)計訓練,對于教學內(nèi)容的理解也更加深刻,實驗水平有較大程度的提高。這也是一些國外著名高校的計算機本科學生學習計算機體系結(jié)構(gòu)課程的要求。由于有前兩門課程的基礎(chǔ),我們就可以在非常有限的實驗學時(16學時)內(nèi)完成較高的實驗要求。
再利用FPGA板卡,學習一些常用的輸入輸出設(shè)備接口設(shè)計方法。如:鍵盤、鼠標、USB口等等,擴展前面設(shè)計的計算機的接口。然后在“嵌入式系統(tǒng)”課程里面增加嵌入式系統(tǒng)設(shè)計內(nèi)容,和“操作系統(tǒng)”課程結(jié)合,為自己設(shè)計的系統(tǒng)裝上Linux。
2.3軟件實驗教學
軟件實驗教學著重于學生系統(tǒng)設(shè)計與分析能力以及軟件開發(fā)過程訓練,分軟件技術(shù)和軟件工程兩個環(huán)節(jié)。
軟件技術(shù)實驗課程主要包括核心課程如“操作系統(tǒng)”、“數(shù)據(jù)庫原理”、“編譯原理”等實驗。這幾門課是計算機軟件課程體系中分量最重的課程。
操作系統(tǒng)是計算機最基礎(chǔ)的系統(tǒng)軟件,與軟件、硬件均密切關(guān)聯(lián),是所有軟件中最復雜的。這種高度復雜性給《操作系統(tǒng)》課程的教學帶來了高難度。學生只有通過操作系統(tǒng)實驗,才能真正掌握操作系統(tǒng)的原理知識,逐步理解和掌握操作系統(tǒng)設(shè)計的思想和方法,解決實際問題。
浙江大學計算機學院是國內(nèi)最早接觸Linux的機構(gòu)之一,也最早將Linux介紹給學生。在操作系統(tǒng)實驗教學時,并不拘泥于操作系統(tǒng)原理的書本內(nèi)容的驗證,而是緊緊結(jié)合Linux內(nèi)核,將Linux作為實例來分析,詮釋操作系統(tǒng)原理中抽象的概念、算法和理論。以Linux系統(tǒng)為基點,將操作系統(tǒng)的進程、調(diào)度、同步、虛擬存儲、換頁、文件系統(tǒng)、系統(tǒng)調(diào)用、設(shè)備驅(qū)動等等分散、枯燥的知識點,還原為一個整體。這不但加深了本科生對于操作系統(tǒng)原理的理解,而且開始逐步熟悉了Linux技術(shù)。
“數(shù)據(jù)庫系統(tǒng)原理”的實驗教學要求學生實現(xiàn)一個完整的數(shù)據(jù)庫系統(tǒng)。“編譯原理”的實驗教學要求學生實現(xiàn)一個完整的計算機語言的編譯系統(tǒng)。
軟件工程實驗課程主要包括“軟件工程基礎(chǔ)”、“軟件文檔寫作”、“項目管理與案例分析”、“軟件過程管理(CMM)”、“系統(tǒng)程序設(shè)計”、“軟件體系結(jié)構(gòu)”、“軟件需求工程”、“軟件質(zhì)量保證與測試”、“統(tǒng)一建模語言”、“J2EE/.NET平臺技術(shù)”共十門課程。
在軟件工程實驗課程中將這些涉及軟件工程全過程的實驗課程前后銜接,強調(diào)實驗的系統(tǒng)性和連貫性,學會軟件開發(fā)生命周期管理和組織。
學生要分組合作完成一個從軟件需求到設(shè)計、管理、實現(xiàn)等包含軟件工程方法全過程的實際項目。每個小組模擬組成一個項目組,設(shè)一位組長擔任項目經(jīng)理的角色,其他組員按分工分別擔任不同的角色,在項目完成過程中起不同的作用。根據(jù)項目的進展,在每個環(huán)節(jié)由指導教師進行分析和評價,給出成績。最終考核以組為單位進行項目驗收,由“項目經(jīng)理”負責驗收時的答辯,對組內(nèi)不同角色考核時按不同比重給予成績。這不但培養(yǎng)了學生的學習興趣、檢驗了專業(yè)知識的掌握運用,同時還培養(yǎng)了學生的組織能力、團隊合作精神和領(lǐng)導才能,有效地提高了工程實踐教學效果。
2.4課外實踐
僅僅靠實驗室有限的題目并不能給優(yōu)秀學生挑戰(zhàn)的激情,必須讓優(yōu)秀學生直接面對高手一決高低。學科比賽和科技競賽是體現(xiàn)學生學習能力和檢驗知識應(yīng)用能力的重要手段,許多比賽同時還是培養(yǎng)、展示學生創(chuàng)新意識、創(chuàng)造能力和創(chuàng)業(yè)精神的重要平臺。各種競賽激發(fā)學生挑戰(zhàn)高手的激情,真正培養(yǎng)學生創(chuàng)世界一流的能力。
實施“項目實訓”教學,聘請企業(yè)專家,組織與指導學生模擬企業(yè)環(huán)境進行項目開發(fā),給學生帶來了真實的企業(yè)研發(fā)的環(huán)境和流程,為學生參加企業(yè)實習做好準備。
3總結(jié)
理念的創(chuàng)新是推動教學管理創(chuàng)新的先導。一種先進的理念,不僅決定一種思維方式和決策行為,往往還會形成一種先進的工作方式和管理模式。改革傳統(tǒng)教學管理觀念與模式,構(gòu)建適應(yīng)我國高等教育實際、面向創(chuàng)新的實驗教學體系是十分必要的。