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