駱斯文 吳京慧 廖國瓊 蔣 劍
摘要:本文分析了我?!安僮飨到y(tǒng)”實驗教學的現(xiàn)狀,針對存在的問題和課程實驗教學改革的要求,提出了分層、分階段的實驗構(gòu)想,以逐步引導和激發(fā)學生學習熱情,并調(diào)動學生積極思維和提高創(chuàng)新能力。
關鍵詞:操作系統(tǒng);實驗教學;分層體系結(jié)構(gòu)
中圖分類號:G642 文獻標識碼:B
1引言
我校是一所以經(jīng)濟、管理類學科為主,法、工、文、理等學科協(xié)調(diào)發(fā)展的多科性大學。信息管理學院的計算機科學技術與信息管理專業(yè)開設了“操作系統(tǒng)”課程。近幾年來,學院圍繞著培養(yǎng)創(chuàng)業(yè)型人才的辦學理念和專業(yè)課程建設的指導思想,在該課程的實驗教學環(huán)節(jié)進行了諸多實踐改革嘗試和理論研討。
“操作系統(tǒng)”是一門理論性很強的課程,教材原理性內(nèi)容相對抽象,難以理解,因而必須輔以實驗環(huán)節(jié)加深學生對理論知識的消化,進而深刻理解操作系統(tǒng)的本質(zhì),從而在未來的工作中利用所學到的知識解決實際的問題。為此,我?!安僮飨到y(tǒng)”課程組圍繞“大學計算機實驗教學主要包括原理驗證性實驗、綜合性實驗和創(chuàng)新性實驗三個環(huán)節(jié)”的指導思想進行了深入剖析,努力尋找一個適合我校實際情況的“操作系統(tǒng)”實驗課程方案。本文將結(jié)合我校實際教學情況,探討操作系統(tǒng)分層次實驗教學方案。
2我?!安僮飨到y(tǒng)”教學現(xiàn)狀
雖然在以往“操作系統(tǒng)”課程的教學中我們?nèi)〉昧瞬簧俳?jīng)驗,但尚存在諸多不足,很多地方有待進一步的研討及改善,針對實驗環(huán)節(jié)存在的問題有以下幾個方面。
(1) 理論課與實驗性課程相對獨立
長期以來,在專業(yè)課程的設置中,我們將“操作系統(tǒng)”課程教學分成兩門課,一門是“操作系統(tǒng)”,屬于專業(yè)必修課,在大二下學期開設,沒有配置實驗教學課時;另一門是“Linux操作系統(tǒng)”,屬于專業(yè)選修課,在大三上學期開設。對于前者,教師在課堂內(nèi)主要講授操作系統(tǒng)原理相關內(nèi)容,學生只在課余自行做一些驗證性實驗來消化理解部分理論知識。對后者,以Linux為實例全面介紹操作系統(tǒng)的管理功能進行教學,主要介紹Linux實現(xiàn)原理并配置32學時的實驗課時,但實驗內(nèi)容未做系統(tǒng)規(guī)劃,實驗體系結(jié)構(gòu)不完整,并缺少層次性。要求學生完成的只是一些基礎驗證性及簡單應用性實驗,無法讓學生全面理解操作系統(tǒng)的本質(zhì)。
(2) 專業(yè)課程設置學時不足
由于學校采用學分制,為了讓學生能在前三年修滿基本學分(使得學生在四年級時專注于畢業(yè)論文、實習和找工作),我校在制定教學計劃時將大部分課程安排在前三學年,這種壓縮式的安排對專業(yè)課程形成了沖擊,使得教學計劃中的專業(yè)課課時數(shù)不得不擠壓(一部分課程壓縮了實驗課時)。同時,由于學生每學期所修課程較多,難以有時間和精力來完成復雜的綜合性實驗,而具有創(chuàng)新性的、工程項目式的設計性實驗更是無法開展。
(3) 實驗設置缺乏層次性
實驗設置沒有考慮實驗對象群體的差異性以及實驗內(nèi)容上的循序漸進、難度逐漸增加的層次性,對學生創(chuàng)新能力的培養(yǎng)不利,未能體現(xiàn)素質(zhì)教育的宗旨。主要內(nèi)容停留在對主流操作系統(tǒng)(Windows和Unix/Linux) 的命令使用、系統(tǒng)配置管理等驗證性實驗,以及編寫程序來模擬實現(xiàn)操作系統(tǒng)中的一些數(shù)據(jù)結(jié)構(gòu)及算法。所有學生做相同實驗,實驗難度相同,學有余力的學生缺少激勵,其潛能得不到挖掘。這些內(nèi)容雖然對學生了解操作系統(tǒng)框架結(jié)構(gòu)、去除操作系統(tǒng)的神秘感是有所裨益的,但對學生深入理解系統(tǒng)內(nèi)核整體結(jié)構(gòu)、內(nèi)核的運作機理、系統(tǒng)綜合設計能力的培養(yǎng)沒有太多幫助。
(4) 專業(yè)課程設計缺少相應的內(nèi)容
雖然針對高年級學生也開設了“專業(yè)課程設計”課,但學院對專業(yè)培養(yǎng)的目標定位在培養(yǎng)應用性人才上。學生選修課程設計時大部分并不選擇操作系統(tǒng)這一方向(大部分學生選擇應用軟件的開發(fā),如相對簡單一些的MIS系統(tǒng)開發(fā),這是一個不爭的事實)。學生學習“操作系統(tǒng)”的目的停留在運用好操作系統(tǒng),使得計算機系統(tǒng)的軟、硬件資源利用率能最大化,以及維護系統(tǒng)的平穩(wěn)運行等上面,而不去考慮將來如何去設計、開發(fā)和修改操作系統(tǒng)功能。
3我?!安僮飨到y(tǒng)”實驗教學內(nèi)容分層體系的構(gòu)想
針對我?!安僮飨到y(tǒng)”教學目前的現(xiàn)狀,“操作系統(tǒng)”課程組提出了從課程設置和實驗內(nèi)容上進一步改革課程體系、內(nèi)容的方案。
教學計劃的制定以“素質(zhì)教育、能力培養(yǎng)”為指導思想,內(nèi)容上要體現(xiàn)“以人為本,因人而異”。在“操作系統(tǒng)”教學大綱中增加實驗環(huán)節(jié)內(nèi)容,增加教師全程指導的課內(nèi)實驗課時。實驗的體系結(jié)構(gòu)從內(nèi)容的選擇、層次結(jié)構(gòu)、實驗平臺三個角度來考慮。
(1) 實驗內(nèi)容的選擇
在選擇實驗內(nèi)容時,從操作系統(tǒng)的基本原理出發(fā),將實驗內(nèi)容組織成四部分:驗證性觀察性實驗、算法模擬性實驗、利用系統(tǒng)調(diào)用進行應用性綜合性實驗和創(chuàng)新性設計性實驗。
① 驗證觀察性實驗主要包括:利用操作系統(tǒng)的shell命令完成系統(tǒng)的一些管理工作、利用系統(tǒng)提供的一些工具觀察程序運行期間系統(tǒng)如何進行管理及調(diào)度(如Solaris中的MDB和DTrace工具)。通過這些實驗學生可以體會系統(tǒng)的管理過程,加深對原理性內(nèi)容的理解。
② 算法模擬性實驗主要包括:利用C或C++程序設
計語言來模擬實現(xiàn)操作系統(tǒng)的部分功能(如進程的調(diào)度和內(nèi)存分配),指導學生閱讀分析Linux操作系統(tǒng)相應功能的開放源代碼并進行分析比較,總結(jié)實驗的得與失。將抽象的概念消融在具體的代碼實現(xiàn)中,讓學生加深對現(xiàn)代操作系統(tǒng)的認識理解和運用。
③ 應用性、綜合性實驗主要包括:利用操作系統(tǒng)提供的系統(tǒng)調(diào)用接口來編寫并發(fā)程序,讓學生選做一些網(wǎng)絡應用程序,數(shù)據(jù)庫應用、管理程序,或某些設備的驅(qū)動程序。通過這些實驗將學生學習過的其它計算機課程知識與操作系統(tǒng)理論知識緊密聯(lián)系起來,達到對計算機部分領域知識的融會貫通。
④ 創(chuàng)新性、設計性實驗主要包括:對部分有能力的學生,鼓勵、幫助他們大量閱讀、分析操作系統(tǒng)源代碼,使得他們掌握操作系統(tǒng)的整體結(jié)構(gòu)和設計思想,安排他們嘗試編寫代碼來替換或擴充具體操作系統(tǒng)的功能,甚至組織興趣小組來試著構(gòu)建一個簡單、但功能完備的小型操作系統(tǒng)。
(2) 實驗層次的劃分
根據(jù)上面確立的實驗內(nèi)容,將試驗劃分成三個層次,內(nèi)容由淺入深,并按層次組織實驗對象單位,實驗難度按層次由上向下逐漸增加,參與不同層次的實驗對象所要求掌握的知識結(jié)構(gòu)也有所不同,具體如圖1所示。
第一層實驗內(nèi)容相對簡單,實驗安排在大二下學期“操作系統(tǒng)”課內(nèi)實驗計劃中,全體專業(yè)學生都要選修。此時學生對程序設計語言工具掌握駕馭不足,可由課任教師負責指導、助教輔助組織實施。
第二層實驗安排在大三上學期的“Linux操作系統(tǒng)”課內(nèi)實驗計劃中,有興趣選修的學生數(shù)量相對較減少,可將學生分組選題開展實驗,由課任教師直接負責并組織實施。
第三層的實驗難度大,留到大四學生有充足時間時開展,實行導師負責制。由導師出題,將學生組織成課外科研小組,結(jié)合當前主流操作系統(tǒng)開展研究性活動。對有一定價值的研究課題可直接轉(zhuǎn)入到畢業(yè)設計范疇。
(3) 實驗平臺的選擇
實驗平臺的選擇應結(jié)合目前操作系統(tǒng)的發(fā)展趨勢,并充分考慮學生將來的就業(yè)口徑。
我們的專業(yè)是設置在財經(jīng)院校的框架下,將來有很多的學生可能就業(yè)在金融業(yè)、電信業(yè)、保險業(yè)、商業(yè)等行業(yè),這些行業(yè)選擇用的操作系統(tǒng)是我們選擇實驗平臺應優(yōu)先考慮的,另一個因素是系統(tǒng)源代碼是否開發(fā)、網(wǎng)絡上的互動學習社區(qū)是否豐富。綜合考慮這兩點,我們選擇了Linux和Solaris作為實驗平臺,而且它們都提供了交互式多任務的終端,易于學生觀察分析現(xiàn)代操作系統(tǒng)的多線程機制。值得欣喜的是,它們還同屬一個家族,學習的負擔不至于太重。