摘要:操作系統(tǒng)是計算機(jī)科學(xué)與技術(shù)專業(yè)的核心課程,也是計算機(jī)系統(tǒng)中最重要的軟件。以Linux為代表的開源軟件和嵌入式技術(shù)的不斷發(fā)展豐富了操作系統(tǒng)內(nèi)容。文章分析技術(shù)發(fā)展和社會需求變化對操作系統(tǒng)課程教學(xué)的影響,并從理論教學(xué)和實(shí)踐教學(xué)兩方面給出一些改進(jìn)方法。
關(guān)鍵詞:信息技術(shù);計算機(jī)科學(xué)與技術(shù)專業(yè);操作系統(tǒng);教學(xué)
文章編號:1672-5913(2013)03-0097-04
中圖分類號:G642
1 背景
操作系統(tǒng)是計算機(jī)科學(xué)與技術(shù)專業(yè)的核心課程。針對計算機(jī)科學(xué)與技術(shù)專業(yè)學(xué)生量大和社會需求面寬的現(xiàn)實(shí),教育部高等學(xué)校計算機(jī)科學(xué)與技術(shù)教學(xué)指導(dǎo)委員會編制了《高等學(xué)校計算機(jī)科學(xué)與技術(shù)專業(yè)戰(zhàn)略研究報告暨專業(yè)規(guī)范(試行)》,鼓勵辦學(xué)單位對畢業(yè)生進(jìn)行4個方向的分類培養(yǎng),即計算機(jī)科學(xué)、計算機(jī)工程、軟件工程以及信息技術(shù)。文獻(xiàn)1構(gòu)建了計算機(jī)科學(xué)與技術(shù)專業(yè)4個方向的公共核心課程,其中操作系統(tǒng)是8個知識領(lǐng)域之一。近20年來,隨著網(wǎng)絡(luò)技術(shù)、嵌入式技術(shù)、多媒體技術(shù)等新技術(shù)的興起,各高校新增不少對應(yīng)課程,但是操作系統(tǒng)作為計算機(jī)專業(yè)的核心課,依然是一門重要課程。
信息技術(shù)是管理和處理信息所采用各種技術(shù)的總稱,它與計算機(jī)關(guān)系緊密。操作系統(tǒng)是計算機(jī)系統(tǒng)中最重要的軟件,而近年來以Linux為代表的開源軟件和嵌入式技術(shù)的不斷發(fā)展,對操作系統(tǒng)的發(fā)展有較為明顯的影響。
2 信息技術(shù)與操作系統(tǒng)課程教學(xué)
信息技術(shù)內(nèi)容較為豐富,但我們不是探討信息技術(shù)的發(fā)展,而是分析信息技術(shù)與操作系統(tǒng)課程教學(xué)的關(guān)系。我們主要關(guān)注2個方面:1)教與學(xué)過程中涉及的信息技術(shù);2)專業(yè)培養(yǎng)計劃中相關(guān)的課程。另外,操作系統(tǒng)課程是培養(yǎng)學(xué)生的計算思維能力、算法設(shè)計與分析能力、程序設(shè)計與實(shí)踐能力,以及計算機(jī)軟硬件系統(tǒng)的認(rèn)知、分析、設(shè)計與應(yīng)用能力的重要課程,因此我們?nèi)匀徽J(rèn)為操作系統(tǒng)課程教學(xué)要以“全面地了解和掌握操作系統(tǒng)的目標(biāo)、作用和模型,從資源管理的角度領(lǐng)會操作系統(tǒng)的功能和實(shí)現(xiàn)過程”為主線索完成課程教學(xué)。
2.1對教與學(xué)的影響
通過微軟中國和Linux中國等網(wǎng)站,教師可以了解與操作系統(tǒng)相關(guān)的新聞、技術(shù)和技巧,提高教學(xué)內(nèi)容的吸引力。對于大部分學(xué)生來說,他們有較多的時間花在網(wǎng)絡(luò)上,因此教師布置一些需要通過搜索信息或者訪問一些課程相關(guān)網(wǎng)站才能完成的作業(yè),既有利于引導(dǎo)學(xué)生合理利用課余時間學(xué)習(xí)該課程,又有利于提高學(xué)生的信息檢索能力。
2.2軟件開發(fā)平臺對教學(xué)內(nèi)容的影響
操作系統(tǒng)課程具有理論與實(shí)踐并重、系統(tǒng)與模塊并重、設(shè)計與應(yīng)用并重和內(nèi)容廣泛且知識更新快等特點(diǎn)。對于一部分計算機(jī)專業(yè)的學(xué)生,軟件開發(fā)可能是他們將來的就業(yè)方向,因此學(xué)生從軟件開發(fā)平臺的角度理解操作系統(tǒng)課程是有必要的。在Windows NT之前,程序設(shè)計類課程的教學(xué)平臺多是Turbo C,之后是Visual Studio 6.0,現(xiàn)在是.NET框架。在計算機(jī)軟件工程師眼里,操作系統(tǒng)是一個提供一系列系統(tǒng)調(diào)用(或API)的基礎(chǔ)性軟件,因此教師在相應(yīng)的章節(jié)教學(xué)中注意這些變化是可以提高教學(xué)效果的。
2.3開源軟件對教學(xué)的影響
隨著開源軟件在世界范圍內(nèi)的影響力日益增強(qiáng),Linux在服務(wù)器、桌面、行業(yè)定制等領(lǐng)域獲得長足發(fā)展,尤其在服務(wù)器領(lǐng)域已取得令人矚目的成就。作為較早開放源代碼的軟件,Linux將引領(lǐng)未來軟件發(fā)展的方向?;贚inux開放源碼的特性,越來越多大中型企業(yè)及政府投入更多的資源開發(fā)Linux。Linux是一個類UNIX操作系統(tǒng);由于UNIX是世界上使用最普遍和發(fā)展最成熟的操作系統(tǒng)之一,Linux作為UNIX的克隆版本使得Linux用戶可以從很多方面得到支持和幫助。
考慮到Linux在不同領(lǐng)域中應(yīng)用得越來越廣泛,因此我們培養(yǎng)學(xué)生在Linux環(huán)境下編寫程序的能力,是一項面向就業(yè)市場和對廣大計算機(jī)相關(guān)專業(yè)本科生有著重要現(xiàn)實(shí)意義的工作。如果實(shí)踐教學(xué)平臺是基于Windows操作系統(tǒng)的,那么一個不足就是Windows的集成開發(fā)環(huán)境屏蔽了細(xì)節(jié)的實(shí)現(xiàn),它不利于學(xué)生對程序代碼編譯和調(diào)試的理解,即不利于學(xué)生程序設(shè)計能力的培養(yǎng),而Linux編程環(huán)境則可以很好地彌補(bǔ)這個不足。此外,我們可以從各種途徑找到Linux的內(nèi)核和應(yīng)用軟件的源代碼,對這些代碼進(jìn)行分析與運(yùn)用也是培養(yǎng)程序設(shè)計能力的途徑之一。
2.4嵌入式技術(shù)對教學(xué)的影響
嵌入式系統(tǒng)是一類特殊的計算機(jī)系統(tǒng)。計算機(jī)系統(tǒng)由硬件系統(tǒng)和軟件系統(tǒng)組成,其中操作系統(tǒng)是最重要的軟件。分析嵌入式系統(tǒng)和嵌入式開發(fā)過程的特點(diǎn)有助于我們更好地思考操作系統(tǒng)課程教學(xué)。智能手機(jī)是一種較為典型的嵌入式技術(shù),而智能手機(jī)軟件開發(fā)則隨著智能手機(jī)越來越廣泛地被使用而得到關(guān)注。因此,在各個章節(jié)的教學(xué)過程中,如在內(nèi)存管理這一章,教師可以對比通用型操作系統(tǒng)與嵌入式操作系統(tǒng)中相應(yīng)內(nèi)容的不同點(diǎn),運(yùn)用對比教學(xué)法提高教學(xué)效果。
3 操作系統(tǒng)課程的理論教學(xué)
操作系統(tǒng)是計算機(jī)專業(yè)的基礎(chǔ)課程,一般來說,其后續(xù)課程有嵌入式系統(tǒng)技術(shù)、網(wǎng)絡(luò)通信技術(shù)、數(shù)據(jù)庫技術(shù)、Linux環(huán)境編程、.NET等。因此,研究操作系統(tǒng)與其他專業(yè)課程的結(jié)合點(diǎn),完成操作系統(tǒng)作為其他專業(yè)課程背景知識和基礎(chǔ)知識的教學(xué)內(nèi)容組織,對于后續(xù)課程教學(xué)及提高學(xué)生對這門課程的學(xué)習(xí)興趣有重要意義。
3.1突出原理,加強(qiáng)理解
操作系統(tǒng)課程的教學(xué)要使學(xué)生理解并掌握基本原理,適當(dāng)了解該課程涉及的前沿知識和技術(shù)。對于教學(xué)來說,學(xué)以致用是最重要的。搜索引擎使得信息獲取相對容易,因此教學(xué)過程的側(cè)重點(diǎn)將由強(qiáng)調(diào)對知識點(diǎn)的記憶轉(zhuǎn)向?qū)χR點(diǎn)的理解,即由傳統(tǒng)的先記憶而后理解,轉(zhuǎn)變到信息時代的先理解而后記憶(如果忘了知識點(diǎn)的內(nèi)容,憑借無處不在的搜索引擎,可以根據(jù)記憶碎片查找到知識點(diǎn)),并將內(nèi)容分成原理性知識和具體實(shí)踐2類。對于前者,要抓住其內(nèi)容本身變化不大的特點(diǎn),不斷精煉教學(xué)內(nèi)容,使其通俗易懂。
由問題出發(fā)講授相關(guān)原理是一種常見的教學(xué)方法。比如,由“多任務(wù)并發(fā)執(zhí)行如何完成”這個問題,可以引出中斷和進(jìn)程等概念。換個角度說,這是引導(dǎo)學(xué)生根據(jù)問題提出方案,營造一個“學(xué)習(xí)型”教學(xué)氛圍的方法。突出原理,也是突出原理所解決的問題。有了學(xué)習(xí)上的“問題”,那么引導(dǎo)學(xué)生使用搜索引擎提高對原理的理解,則是信息技術(shù)影響下理論課教學(xué)的一種新方式。
3.2圍繞課程間的結(jié)合點(diǎn),提高學(xué)習(xí)興趣
“紙上得來終覺淺”,理論教學(xué)要結(jié)合實(shí)踐教學(xué)才能加強(qiáng)學(xué)生對理論的理解。操作系統(tǒng)的理論內(nèi)容較為豐富,因此實(shí)踐教學(xué)的課時相對較少。操作系統(tǒng)后續(xù)課程偏向應(yīng)用實(shí)踐,如果教師能夠?qū)φn程間有聯(lián)系的知識點(diǎn)有意識地理清并講透,那么在進(jìn)行相應(yīng)課程授課時就可以使學(xué)生對這個知識點(diǎn)加深理解。
與實(shí)踐教學(xué)聯(lián)系緊密的知識點(diǎn)能夠引起學(xué)生較大的學(xué)習(xí)興趣。對于嵌入式系統(tǒng)技術(shù)、網(wǎng)絡(luò)通信技術(shù)、數(shù)據(jù)庫技術(shù)等后續(xù)課程,教師如果能在操作系統(tǒng)課程教學(xué)中回答操作系統(tǒng)為網(wǎng)絡(luò)通信提供了什么、為數(shù)據(jù)庫系統(tǒng)提供了什么功能模塊、操作系統(tǒng)與嵌入式軟件系統(tǒng)是什么關(guān)系等問題,則會大大提高學(xué)生的學(xué)習(xí)興趣。
從與其他專業(yè)課程的結(jié)合點(diǎn)出發(fā),相關(guān)知識點(diǎn)的講述要有詳細(xì)及概要之分,如對后續(xù)課程中的核心內(nèi)容可概要講述,而對后續(xù)課程中與操作系統(tǒng)原理相關(guān)的內(nèi)容可詳細(xì)講述。
3.3設(shè)計平時作業(yè),改進(jìn)考核方式
在教學(xué)過程中,考核方式對于引導(dǎo)學(xué)生學(xué)好相應(yīng)課程具有重要作用。教師可以改進(jìn)考核內(nèi)容,減少對記憶性知識的考核,加大綜合運(yùn)用知識分析和解決問題的能力考核,在檢驗學(xué)生掌握基本知識的同時,注重學(xué)生思維能力、實(shí)踐能力和創(chuàng)新精神的培養(yǎng)。過去的考核方式大多以期末筆試為主,適當(dāng)考查實(shí)驗報告和平時課堂表現(xiàn)。我們嘗試改革“重期末、輕平時”的課程評價模式,將課程考核貫穿教學(xué)全過程,增加平時作業(yè)在考核中的比重,把平時成績占課程總成績的比例提高到50%~60%;根據(jù)課堂進(jìn)度布置相應(yīng)作業(yè),以讓學(xué)生了解相應(yīng)的前沿知識和一些擴(kuò)展知識。
改進(jìn)考核的方式可以從以下3個方面著手:①布置與課程進(jìn)度相關(guān)的作業(yè);②利用網(wǎng)上的資源如源代碼資源,布置一些功能實(shí)現(xiàn)復(fù)雜的作業(yè);③在有網(wǎng)絡(luò)共享資源的前提下避免學(xué)生抄襲,即定義考核標(biāo)準(zhǔn)。另外,建立相應(yīng)的教學(xué)輔助資源庫,有助于制訂更合適的考核標(biāo)準(zhǔn)。
布置平時作業(yè)是引導(dǎo)學(xué)生拓展知識面的一種表現(xiàn)。課程教師在這個環(huán)節(jié)上的角色是“指路人”。比如,借助信息技術(shù),通過布置作業(yè)引導(dǎo)學(xué)生了解操作系統(tǒng)的發(fā)展歷史,尤其是Linux和Windows的發(fā)展歷史;操作系統(tǒng)與編譯原理、軟件開發(fā)平臺的關(guān)系;操作系統(tǒng)與數(shù)據(jù)庫系統(tǒng)的關(guān)系;通用型操作系統(tǒng)與嵌入式操作系統(tǒng)的區(qū)別。
4 操作系統(tǒng)課程的實(shí)踐教學(xué)
計算機(jī)專業(yè)規(guī)范提出3種類型:科學(xué)型、工程型和應(yīng)用型。操作系統(tǒng)領(lǐng)域?qū)茖W(xué)型、工程型和應(yīng)用型3個認(rèn)知層次有不同要求。操作系統(tǒng)實(shí)踐教學(xué)內(nèi)容的安排,首先得服務(wù)于相應(yīng)專業(yè)的培養(yǎng)計劃,我們就是在這個前提下討論教學(xué)。對于實(shí)踐教學(xué)的研究,我們應(yīng)該根據(jù)專業(yè)定位,結(jié)合當(dāng)代信息技術(shù)的特點(diǎn),合理設(shè)計實(shí)踐教學(xué)輔導(dǎo)材料,以加強(qiáng)實(shí)踐教學(xué)效果。
4.1從應(yīng)用角度考慮實(shí)踐教學(xué)
教師從實(shí)際的應(yīng)用軟件開發(fā)出發(fā)改進(jìn)實(shí)踐教學(xué)內(nèi)容,可包括2個方面的內(nèi)容:①實(shí)際軟件開發(fā)過程中,操作系統(tǒng)很多功能都是以各種各樣API形式出現(xiàn)的,因此操作系統(tǒng)課程的理論在實(shí)際應(yīng)用中往往表現(xiàn)為一個個的函數(shù)名,用戶通過設(shè)置這些函數(shù)的具體參數(shù)使用操作系統(tǒng)的功能模塊,但這會導(dǎo)致學(xué)生誤認(rèn)為操作系統(tǒng)理論不重要;②在系統(tǒng)架構(gòu)的層次上,很難說明是操作系統(tǒng)的哪個知識點(diǎn)產(chǎn)生了作用,但必須要有對操作系統(tǒng)較為準(zhǔn)確和透徹的理解才能完成系統(tǒng)架構(gòu)。
4.2作好前后課程的銜接
綜合性、設(shè)計性實(shí)驗項目開發(fā)分為2個層次:①對于層次較低的實(shí)驗項目,學(xué)生需要在前期課程如程序設(shè)計基礎(chǔ)和數(shù)據(jù)結(jié)構(gòu)的知識基礎(chǔ)上,結(jié)合自身對本課程中算法的理解并參考網(wǎng)絡(luò)上的一些資源和代碼,進(jìn)而完成實(shí)驗內(nèi)容;②對于層次較高的實(shí)驗項目,根據(jù)教師從實(shí)際生產(chǎn)項目中提出的問題,如教師自己的項目及大學(xué)生創(chuàng)新訓(xùn)練平臺提供的項目,學(xué)生有針對性地分析問題、建立模型、設(shè)計算法并完成實(shí)驗。
教師需從與其他專業(yè)課程的結(jié)合點(diǎn)出發(fā),作好操作系統(tǒng)課程實(shí)踐教學(xué)與后續(xù)課程的銜接。一方面,本課程實(shí)踐教學(xué)以加強(qiáng)學(xué)生對操作系統(tǒng)原理的理解為主;另一方面,后續(xù)課程既要避免不必要的重復(fù)性實(shí)驗,又要適當(dāng)?shù)貜?fù)習(xí)前面操作系統(tǒng)課程知識點(diǎn)和重復(fù)一些重要的知識內(nèi)容。
4.3Linux程序開發(fā)平臺
Linux程序開發(fā)平臺在操作系統(tǒng)實(shí)踐教學(xué)中是輔助手段,不是實(shí)踐教學(xué)的主要內(nèi)容。學(xué)生需要在2個層次上進(jìn)行學(xué)習(xí):1)根據(jù)實(shí)踐教學(xué)輔導(dǎo)材料自學(xué)Linux的一些簡單字符操作,了解Linux下集成開發(fā)環(huán)境的搭建、程序設(shè)計語言的運(yùn)行流程、程序設(shè)計語言的編譯等;2)利用Linux自帶的一些共享代碼,有選擇地學(xué)習(xí)Linux初始化過程分析、Linux文件系統(tǒng)分析等。
總之,操作系統(tǒng)實(shí)踐教學(xué)內(nèi)容要分層次,既要保證大部分學(xué)生對于原理的理解,又要兼顧熱愛積極探索的學(xué)生的需求。
5 結(jié)語
操作系統(tǒng)課程具有自身的特點(diǎn),與編譯原理、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)庫原理及應(yīng)用等專業(yè)核心課程相比較,操作系統(tǒng)課程有概念解釋相對繁瑣、缺乏嚴(yán)密的數(shù)學(xué)模型(與編譯原理相比)、難以設(shè)計與課程聯(lián)系緊密的程序設(shè)計作業(yè)(與數(shù)據(jù)結(jié)構(gòu)課程相比)、與實(shí)際工作直接聯(lián)系少等特點(diǎn)。操作系統(tǒng)課程的這些特點(diǎn)使得它顯得晦澀難懂。結(jié)合新技術(shù),有效組織課堂教學(xué)內(nèi)容;考慮前后課程的銜接,有層次地設(shè)計實(shí)踐教學(xué)內(nèi)容;合理布置平時課堂作業(yè),改進(jìn)舊的考核方式等,可以起到激發(fā)學(xué)生學(xué)習(xí)積極性和提高教學(xué)效果的作用。當(dāng)然教學(xué)是一個實(shí)踐的過程,需要在實(shí)際教學(xué)中逐步完善,因此有待我們進(jìn)一步努力。
參考文獻(xiàn):
[1]蔣宗禮,王志英,李曉明,等,構(gòu)建計算機(jī)科學(xué)與技術(shù)專業(yè)公共核心課程[J],中國大學(xué)教育,2007(11):45-47。
[2]教育部高等學(xué)校計算機(jī)科學(xué)與技術(shù)教學(xué)指導(dǎo)委員會,高等學(xué)校計算機(jī)科學(xué)與技術(shù)專業(yè)核心課程教學(xué)實(shí)施方案[M],北京:高等教育出版社,2009:273-277。
[3]盤點(diǎn)Linux現(xiàn)狀及未來發(fā)展[EB/OL],(2010-01-14)[2012-08-06],http://news,xinhuanet,com/tech/2010-01/14/content_12808302,htm。
[4]王俊偉,吳俊海,Linux標(biāo)準(zhǔn)教程[M],北京:清華大學(xué)出版社,2006:9-10。
[5]阮越,Linux教學(xué)實(shí)驗系統(tǒng)的一種構(gòu)建方法[J],計算機(jī)技術(shù)與發(fā)展,2009(3):227-231。
[6]趙蒼明,嵌入式Linux應(yīng)用開發(fā)教程[M],北京:人民郵電出版社,2009:1-2。
[7]林耀海,程麗,孫奇燕,著眼嵌入式發(fā)展的操作系統(tǒng)教學(xué)探討[J],計算機(jī)教育,2010(24):86-89。
(編輯:宋文婷)