印玉蘭,趙艷紅,戴鳳娜
(1.安徽理工大學(xué)理學(xué)院 安徽淮南 232001;2.趙艷紅 安徽科技學(xué)院 理學(xué)院,安徽鳳陽 233100)
基于項目驅(qū)動的Linux操作系統(tǒng)教學(xué)研究
印玉蘭1,趙艷紅2,戴鳳娜1
(1.安徽理工大學(xué)理學(xué)院 安徽淮南 232001;2.趙艷紅 安徽科技學(xué)院 理學(xué)院,安徽鳳陽 233100)
針對Linux操作系統(tǒng)教學(xué)方法的研究,提出了基于“項目驅(qū)動”的教學(xué)模式。從項目設(shè)置、教學(xué)準(zhǔn)備、項目實施、成績評價等方面介紹了項目驅(qū)動教學(xué)法。基于項目驅(qū)動的Linux操作系統(tǒng)教學(xué)法能提高學(xué)生學(xué)習(xí)的積極性和興趣,有助于培養(yǎng)學(xué)生獨立分析問題、解決問題的能力,培養(yǎng)學(xué)生的思考、動手能力和創(chuàng)新能力,教學(xué)效果好。
Linux;操作系統(tǒng);項目驅(qū)動
Linux以高效性和靈活性著稱,它能夠在PC計算機上實現(xiàn)全部的Unix特性,具有多任務(wù)、多用戶的能力。Linux是在GNU公共許可權(quán)限下免費獲得的,是一個符合POSIX標(biāo)準(zhǔn)的操作系統(tǒng)。Linux操作系統(tǒng)軟件包不僅包括完整的Linux操作系統(tǒng),而且還包括了文本編輯器、高級語言編譯器等應(yīng)用軟件。它還包括帶有多個窗口管理器的X-Windows圖形用戶界面,允許我們使用窗口、圖標(biāo)和菜單對系統(tǒng)進行操作。隨著開源軟件在世界范圍內(nèi)影響力的日益增強,Linux在嵌入式、服務(wù)器、桌面、行業(yè)定制等領(lǐng)域,已經(jīng)獲得了令人矚目的成就。[1]
為適應(yīng)Linux快速發(fā)展對技術(shù)人才的迫切需求,很多高校開設(shè)了Linux相關(guān)的課程。但是學(xué)生學(xué)完之后,能學(xué)得多深入,是一個問題。以往的Linux教學(xué)方法有多媒體教室講課、學(xué)生上機訓(xùn)練、綜合實訓(xùn),其缺點是學(xué)生學(xué)完這門課程后,對操作系統(tǒng)的理解、掌握還僅限于用戶級的水平,只能將操作系統(tǒng)當(dāng)作一個資源管理者使用,很難達到程序員級的水平,把操作系統(tǒng)當(dāng)作是一個與計算機硬件等價的可擴展、可開發(fā)的計算平臺來使用。如何才能讓學(xué)生真正學(xué)懂、掌握操作系統(tǒng)的體系結(jié)構(gòu)理論,并通過實驗教學(xué)得以鞏固提高,為今后的學(xué)習(xí)、發(fā)展打下堅實的理論基礎(chǔ)。針對這個問題,我們對Linux操作系統(tǒng)教學(xué)進行了認真的研究,將項目驅(qū)動教學(xué)法引入教學(xué),將傳統(tǒng)的學(xué)科體系中的知識內(nèi)容轉(zhuǎn)化為若干個教學(xué)項目,圍繞項目組織和開展教學(xué),使學(xué)生直接參與項目全過程從而解決問題,取得了較好的效果。[2]
項目驅(qū)動式教學(xué)法是在建構(gòu)主義學(xué)習(xí)理論的指導(dǎo)下,師生通過共同實施一個完整的“項目”工作而進行的教學(xué)活動。它綜合了當(dāng)前傳統(tǒng)探究教學(xué)、任務(wù)驅(qū)動教學(xué)和案例教學(xué)的特點,旨在把學(xué)生的學(xué)習(xí)訓(xùn)練有效融人工程任務(wù)完成的過程中,讓學(xué)生積極地學(xué)習(xí)、自主地進行知識的建構(gòu),所有教學(xué)活動都是圍繞真實的項目展開的。
與傳統(tǒng)式教學(xué)相比,項目驅(qū)動式教學(xué)有其優(yōu)越性。[3]
項目驅(qū)動式教學(xué)依據(jù)教學(xué)目標(biāo),將教材內(nèi)容組織成教學(xué)項目,每個教學(xué)項目會從橫向方面拓寬知識面,縱向方面難度依次遞進,打破了傳統(tǒng)教學(xué)以教學(xué)單元為順序的教學(xué)模式,能夠提高學(xué)生的動手能力,及解決問題的能力。
在傳統(tǒng)的教學(xué)中,以教師講授為主,學(xué)生被動的接受,屬于滿堂灌的類型。項目驅(qū)動式教學(xué)中,教師不再主宰整個教學(xué)過程,教師的主要任務(wù)在于啟發(fā)、引導(dǎo)學(xué)生解決問題,幫助學(xué)生完成項目任務(wù)。這樣的“以教師為主導(dǎo)、學(xué)生為主體”的教學(xué)模式能夠使學(xué)生的積極性得到充分的發(fā)揮,既提高了學(xué)生解決問題的能力,又增強了他們的學(xué)習(xí)興趣。
驅(qū)動式教學(xué)中,每個項目難度上具有遞增型,當(dāng)基本項目完成后,每個項目的最后都會設(shè)計一個綜合性的問題讓學(xué)生去解決。根據(jù)綜合性問題的難度,劃分小組,一般三到五人一組,每組選定一名小組長,由組長負責(zé)組內(nèi)的分工合作事宜。讓學(xué)生在項目的開展過程中,學(xué)習(xí)如何與團隊成員合作,如何面對同其他隊的競爭。每組要將問題的解決過程及結(jié)果總結(jié)成報告。
傳統(tǒng)式教學(xué)模式注重理論知識的系統(tǒng)傳授,評價方式單一。項目驅(qū)動式教學(xué)中,課程的教學(xué)主要是圍繞項目的設(shè)計與解決進行的,項目的完成是通過團體合作完成,因此,評價應(yīng)由平時成績、課程設(shè)計成績、期末考試成績等部分組成,成績評價實現(xiàn)多元化。
項目式驅(qū)動教學(xué)過程的設(shè)計要注重以學(xué)生學(xué)習(xí)為主體,以教學(xué)項目為中心,提高學(xué)生的動手能力,增強學(xué)生的學(xué)習(xí)興趣,使學(xué)生在學(xué)習(xí)中獲得成就感,激發(fā)學(xué)生不斷學(xué)習(xí)的欲望。
Linux操作系統(tǒng)課程教學(xué)采用循序漸進的方法,以項目作為驅(qū)動,打破書本上原有知識單元的界限,將各部分知識分解成一個個知識點,為了完成一個項目任務(wù),抽取每個部分的不同知識點加以組合。在項目選取上盡量貼近企業(yè)的實際應(yīng)用需求,針對操作系統(tǒng)的主要部分來設(shè)計幾個階段項目,通過親自實踐,使學(xué)生深刻理解Linux操作系統(tǒng)的構(gòu)成及運行。項目設(shè)置如下:
項目1:Linux使用基礎(chǔ)
項目2:進程管理
項目3:進程間通信
項目4:內(nèi)存管理
項目5:模塊編程
項目6:設(shè)備管理
項目7:文件系統(tǒng)
圖1 Linux操作系統(tǒng)課程項目關(guān)系圖Fig.1 Linux operating systems course project diagram
項目之間的關(guān)系如上圖所示。每個項目可以劃分為若干個任務(wù),且具有實踐性。將基礎(chǔ)知識、命令知識、程序等知識點穿插在各個項目中,讓學(xué)生在項目訓(xùn)練中理解、掌握和運用這些知識點。項目的設(shè)計,橫向上應(yīng)該具有拓展性,使學(xué)生能夠得到啟發(fā);縱向上應(yīng)該由淺入深,由易到難,引導(dǎo)學(xué)生一步一步地學(xué)習(xí),充分調(diào)動他們的積極性。
根據(jù)驅(qū)動式教學(xué)的思想,Linux驅(qū)動式教學(xué)過程可以分為三個階段:教學(xué)準(zhǔn)備、項目實施、成績評價?,F(xiàn)以“項目2:進程管理”為例說明此教學(xué)過程。
3.2.1 教學(xué)準(zhǔn)備
教學(xué)準(zhǔn)備是實現(xiàn)任何教學(xué)目標(biāo)的前提和保證,認真鉆研教材,深刻領(lǐng)悟課程標(biāo)準(zhǔn),熟悉教學(xué)內(nèi)容。根據(jù)Linux操作系統(tǒng)課程的特點和教學(xué)要求,結(jié)合學(xué)生的具體情況,設(shè)計教學(xué)目標(biāo)、進程和過程。首先鉆研Linux操作系統(tǒng)教材,編寫好項目任務(wù)書。由Linux操作系統(tǒng)課程組的教師,根據(jù)多年的教學(xué)經(jīng)驗及學(xué)生實際情況,編寫了Linux操作系統(tǒng)項目指導(dǎo)書,讓學(xué)生學(xué)習(xí)有材料可依據(jù)。其次根據(jù)教學(xué)內(nèi)容量、學(xué)生的接受能力及學(xué)時數(shù),指定教學(xué)進度。教學(xué)過程,可以根據(jù)實際情況適當(dāng)進行調(diào)整。再次根據(jù)前面的材料,結(jié)合學(xué)生的情況和項目的需求設(shè)計教學(xué)過程。
項目2:進程管理
項目目的:研讀Linux與進程相關(guān)的源程序,理解源程序的設(shè)計思想和編程技巧;加深對進程概念的理解,明確進程和程序的區(qū)別;學(xué)習(xí)和掌握進程控制的基本和常用的系統(tǒng)調(diào)用,fork( )、wait( )、sleep( )、exit( )、exec( )。
項目內(nèi)容:進程是操作系統(tǒng)中最重要的概念,也是學(xué)習(xí)現(xiàn)代操作系統(tǒng)的關(guān)鍵。通過本次實驗,理解進程的實質(zhì)和進程管理的機制。在Linux系統(tǒng)下實現(xiàn)進程從創(chuàng)建到終止的全過程,從中體會進程的創(chuàng)建、父進程和子進程的關(guān)系、進程狀態(tài)變化。要求父進程創(chuàng)建兩個子進程,由子進程各自從控制臺接收輸入一個字符串,保存在各自的全局字符串變量中,然后正常結(jié)束。父進程調(diào)用調(diào)用waitpid等待子進程結(jié)束,并分別顯示每個子進程的進程標(biāo)識號和它所接收的字符串。
學(xué)時數(shù):2學(xué)時。
3.2.2 項目實施
教師教的過程以“導(dǎo)”為主,注重對學(xué)生的引導(dǎo)。項目由教師提出問題,演示設(shè)計與制作過程,講解知識點,教師可以將要完成的項目、設(shè)計制作過程和涉及到的知識點,提前布置給學(xué)生,讓學(xué)生課下通過自主學(xué)習(xí)來完成項目。
項目2:進程管理
教師講解知識點:
進程的創(chuàng)建:fork()
進程的等待:wait()
進程的執(zhí)行:exec()
進程的結(jié)束:exit()
演示以下實例的設(shè)計過程:
(1)調(diào)用fork()創(chuàng)建一個子進程,改變在父進程創(chuàng)建子進程之前定義的data的值,觀察該變量在子進程和父進程中的值。
(2)父進程創(chuàng)建子進程后等待子進程結(jié)束,并顯示子進程結(jié)束時的信息。
(3)在程序中直接調(diào)用execv啟動shell命令ps查看系統(tǒng)當(dāng)前的進程信息。這個程序的執(zhí)行效果就如同直接鍵入ps-ar一樣。
(4)用兩次調(diào)用fork的方法,處理父進程等待子進程及子進程稱為“ZOMBIE”。
學(xué)生學(xué)習(xí)的過程以“練”為主,提高學(xué)生的實踐能力。經(jīng)過老師講解,示范,學(xué)生模仿制作完成項目。[4][5]
項目2:進程管理
學(xué)生完成項目:調(diào)用fork()創(chuàng)建一個子進程;子進程若能成功調(diào)用execv啟動shell命令ls-al查看所有目錄文件的長格式,則輸出目錄文件的長格式;否則輸出自己的Pid號,最后退出;父進程等待子進程執(zhí)行完畢后,輸出自己的Pid號,然后退出。
在學(xué)生完成項目以后,教師還要引導(dǎo)學(xué)生對所討論的結(jié)果進行歸納總結(jié),再結(jié)合相關(guān)的理論進行講解。在講解的過程中,應(yīng)注意建立起新知識與已學(xué)的舊知識間的聯(lián)系,以加深學(xué)生對知識的記憶、理解,完成真正意義上的知識結(jié)構(gòu),并使知識逐漸系統(tǒng)和完整。
3.2.3 成績評價
成績評價采用項目答辯的方式進行。每個項目小組的每個成員就其主要負責(zé)部分進行演示,講解;任課老師和其他小組的同學(xué)可以隨時向當(dāng)前正在答辯的項目組的任一學(xué)生進行提問,最后結(jié)合項目的難度和答辯情況給每個項目和學(xué)生做出最終的考核成績。采用這種科學(xué)的考核方式對學(xué)生進行項目考核和評定,使學(xué)生真正能將所學(xué)理論知識融入到實踐當(dāng)中并加以運用,提高學(xué)生的動手能力,學(xué)以致用。
在Linux操作系統(tǒng)教學(xué)過程中應(yīng)用項目驅(qū)動式教學(xué)法,從課程內(nèi)容體系結(jié)構(gòu)、教學(xué)過程、成績評價方式等方面進行了探索與實踐。表1是采用項目驅(qū)動教學(xué)法前后,對同等難度的項目,學(xué)生成績的對比:
表1 采用項目驅(qū)動教學(xué)法前后學(xué)生成績
從表1看出,采用基于項目驅(qū)動的教學(xué)法,教學(xué)效果好。Linux操作系統(tǒng)項目驅(qū)動式教學(xué)模式,有助于培養(yǎng)學(xué)生的獨立分析問題、解決問題的能力,培養(yǎng)學(xué)生的思考、動手能力和創(chuàng)新能力。在學(xué)習(xí)過程中,學(xué)生能夠獲得成就感,并更大地激發(fā)求知欲望,從而培養(yǎng)出獨立探索和開拓進取的自學(xué)能力。
[1]863——中國高技術(shù)研究發(fā)展計劃[EB/OL].http://www.863.org.cn.
[2]Linux系列教材編寫組.Linux操作系統(tǒng)分析與實踐[M].清華大學(xué)出版社:2008,11.
[3]郭雪峰.項目驅(qū)動式教學(xué)的理論與實踐[J].和田師范??茖W(xué)校學(xué)報,2010,29(5):59~60.
[4]李建新,唐小燕.項目導(dǎo)向式教學(xué)法在“Linux操作系統(tǒng)”教學(xué)中的應(yīng)用[J].科教文匯,2010.
[5]李愛軍.“項目驅(qū)動”教學(xué)法在 C 語言教學(xué)中的應(yīng)用[J].辦公自動化雜志,2010,9.
Research on Teaching of Linux Operating System Based on Project Driving
YIN Yu-lan1,ZHAO Yan-hong2,DAI Feng-na1
(1.School of Mathematics and Physics,Anhui University of Science and Technology,Huinan 232001,China;
2.College of Sciences,Anhui Science and Technology University,Fengyang 233100,China)
Aimed at the research on the teaching method of Linux operating system, a teaching mode is proposed based on project driving.A project driving mode is introduced from the aspect of project settings,teaching preparation, project implementation, evaluation of results respectively. Teaching mode of Linux operating system based on project driving has proved effective. It improves students’ learning motivation and arouses their interest.It fosters students’ability to analyze and solve problems independently,to think,to operate and to innovate.
Linux;operating system;project driving
耿繼祥)
G712
A
1672-3708(2011)03-0066-05
2011-01-10;
2011-03-17
安徽省高校省級自然科學(xué)研究項目(項目號:KJ2010B325)
印玉蘭(1973- ),女,江蘇泰興人,講師,主要研究方向:網(wǎng)格計算、分布式計算等。