葉 暉,劉華富
任務驅動教學法在“操作系統(tǒng)”課程中的應用研究*
葉 暉,劉華富
(長沙大學計算機科學與技術系,湖南長沙410022)
“操作系統(tǒng)”是計算機學科中一門重要的專業(yè)基礎課程,因其知識點龐雜且原理抽象,傳統(tǒng)的理論教學方式往往聯(lián)系實際不夠,導致授課內容較為枯燥難于理解.采用任務驅動教學法,確立教學目標,將理論教學內容與設計任務模塊有機結合起來,激發(fā)學生學習主動積極性,并能幫助學生更好地理解操作系統(tǒng)內部原理與運行機制,取得了較好的教學效果.
任務驅動;教學方法;操作系統(tǒng)
操作系統(tǒng)是系統(tǒng)軟件和應用軟件建立的基礎平臺,它在整個計算機系統(tǒng)中處于承上啟下的關鍵地位.基于這個原因,“操作系統(tǒng)”一直是計算機學科專業(yè)的核心課程之一,也是一門非常重要的專業(yè)基礎課[1].在傳統(tǒng)研究型本科高校的操作系統(tǒng)課程教學模式中,大多數(shù)以理論知識的學習為主,著重講授計算機操作系統(tǒng)的基本概念和基本原理,針對性的實踐性環(huán)節(jié)較少,有的甚至就沒有.而高職高專院校的教學有很多實際采用了windows操作為主要內容,以掌握系統(tǒng)的應用技能為主導向,疏忽了必要的理論學習,學生的分析問題、解決問題的能力較差.如何在必要的理論學習與相關的實踐應用中找到平衡點,這是應用型本科院校“操作系統(tǒng)”課程教學的關鍵.
另一方面,“操作系統(tǒng)”課程內容主要包括了進程管理、處理機調度、存儲管理、設備管理、文件系統(tǒng)等[2],涉及的知識點非常多,包括有處理機管理的實現(xiàn)、進程的原理、調度、進程同步互斥算法和性能分析;存儲器管理的實現(xiàn)、分頁機制、缺頁調度與性能分析;設備管理和設備相關硬件知識、磁盤管理等等.課程內容龐雜,范圍面廣,概念抽象,理論性強,尤其涉及大量軟硬件體系結構設計知識,對于應用型本科院校軟件專業(yè)的學生的教學而言有相當?shù)碾y度,學生在學習過程中,往往很難充分發(fā)揮積極性和主動性,從而很容易導致學生喪失對學習的興趣,教學質量與效果較低.因此有必要在教學方法及教學手段上做出相應的改進和創(chuàng)新.
任務驅動式教學方法是一種建立在建構主義學習理論基礎上的教學方法[3],具體指的是在教學的過程中,通過教師指導,圍繞一個事先設計好的任務實踐活動,學生主動對任務進行自主解決和互相合作的一個過程.它將傳授知識為主的傳統(tǒng)教學,轉變?yōu)橐越鉀Q問題、完成任務為主的多維互動式的教學.任務驅動式教學方法注重以學生為主體,在培養(yǎng)學生的理論研究能力的同時,也提高了學生的設計與實踐能力.在任務驅動教學模式下,教學流程可分為“任務設計”,“任務分析與細化”,“接受任務與自主實踐”,“評議與總結”四個部分,如圖1所示.下面對任務驅動教學在“操作系統(tǒng)”課程中的實施方法與步驟進行具體闡述.
圖1 任務驅動教學法流程
1.1任務設計
采用任務驅動式的教學方法中,任務設計提出目標,基本而言任務設計要能和理論教學內容緊密結合.任務內容的設計應能夠充分調動學生的創(chuàng)造思維,鼓勵學生多角度、多層面的考慮問題.以“操作系統(tǒng)”課程中重要知識點之一——多進程調度為例,我們的任務設計提供一個虛擬內核平臺,該內核能支持多任務管理.要求學生對該虛擬內核進行功能擴展,完成創(chuàng)建進程、終止進程、進程狀態(tài)轉換,進程調度,上下文切換等功能.該任務設計基本涵蓋了理論課程教學內容中關于進程的重要知識點,能促進學生更好地理解掌握操作系統(tǒng)進程的基本原理和運行機制.
1.2任務分析與細化
任務分析與細化是任務驅動式的教學方法中的一個關鍵部分.在這個環(huán)節(jié),教師在分析任務的時候,應該由教師引導學生進行研究和討論,并根據(jù)學生的具體知識結構特點進行任務細化.如多進程調度這個任務,首先可以把這個大任務細分成幾個小任務,以降低總體難度,提高學生完成任務的信心和積極性.具體而言,可以分成虛擬內核(VKernel)、命令解釋程序(Commander)、用戶程序(Application)、編譯函數(shù)(Compiler)四部分組成.VKernel是基礎平臺,首先運行,并常駐內存.Kernel啟動后,創(chuàng)建Commander進程.根據(jù)用戶請求創(chuàng)建多個應用進程,之后多個應用進程根據(jù)調度算法進行調度.在教師講清楚任務組成和基本運行流程后,可以根據(jù)學生具體接受情況再對需要擴展完成的功能進行細化說明,其中Kernel為進行功能擴展則需要添加相關的數(shù)據(jù)結構,如:系統(tǒng)時間片(Time),處理器狀態(tài)(CPUstate),進程表(PCBTable),就緒隊列(ReadyState),等待隊列(Blocked-State),運行進程狀態(tài)(RunningState).而對于調度算法,應對學生說明調度算法的原則,如采用時間輪轉和優(yōu)先級調度混合算法等,讓學生獨立完成具體編碼實現(xiàn).該任務的子任務細化分析示例如下:
子任務1:設計一個命令解釋程序,負責解釋執(zhí)行用戶程序中的語句,發(fā)送給內核.
子任務2:在內核中添加一個編譯函數(shù),解釋執(zhí)行用戶程序中的語句.
子任務3:在內核中添加一個調度函數(shù),根據(jù)調度算法調度用戶進程運行.
子任務4:在內核中添加一個上下文切換函數(shù),負責進程的切換.并在內核中設置一個定時器,負責處理時間片.
通過上述任務內容的分析,把總任務分解成四個子任務后可以降低整體編程的難度.之后對任務中涉及到的知識點和實例進行講解,并引導學生回顧理論課時的原理與知識點,最后演示任務完成的總體效果,這樣可以給學生一個較強的感性認識,并激起其動手自主實踐完成任務的興趣.
1.3接受任務與自主實踐
在任務分析細化完畢之后,即可把任務布置給學生自主實踐完成.在這個環(huán)節(jié),教師應注意及時跟蹤學生具體完成進度及情況,引導鼓勵學生相互討論交流,培養(yǎng)他們分析問題與動手解決問題的能力[4].對于學有余力的學生,應引導他們進行深入思考,有所創(chuàng)新.而對于部分基礎比較薄弱,接受能力比較差的學生,可以根據(jù)具體課堂情況將相應任務的關鍵實現(xiàn)數(shù)據(jù)結構進行說明,如CPUstate應包括程序計數(shù)器PC,累加器A、B,狀態(tài)寄存器F的值.而PCBTable的每一項是一個進程的進程控制塊(PCB).PCB數(shù)據(jù)結構應包含進程的所有信息,如進程號pid,進程優(yōu)先數(shù),進程運行時間,進程時間片等.在完成任務的全過程中教師起到組織和解疑答惑的作用,引導學生用所學知識進行程序設計,整個過程并不參與學生的具體編程實踐.
1.4評議與總結
在這個環(huán)節(jié),可將評議分為教師評價和學生評價兩個部分.教師對學習的總結評價主要包括兩方面內容,一方面是對學生是否完成當前問題的解決方案的過程和結果的評價,即所學知識點的意義建構的評價,而更重要的一方面是對學生自主學習及協(xié)作學習能力的評價.學生評價是指學生之間的評價總結,促使學生更好地解決問題.
在總結過程中,教師應采用積極的肯定鼓勵學生多總結經驗,多分析問題,多動腦創(chuàng)新.在這個過程中能夠逐步讓學生對“操作系統(tǒng)”課程中原本抽象的理論有較深感性的認識,通過這種方式學生也能逐漸加深對理論的理解,幫助他們深入體會操作系統(tǒng)內部運行機制與原理,切實掌握實際運用這些知識的能力,而且可以培養(yǎng)學生良好的理論與實踐相結合的意識和習慣,全面提升學生的基本技能、工程實踐能力,對于創(chuàng)新能力和科學素養(yǎng)的養(yǎng)成也有良好促進作用.
任務驅動教學模式具備如下三個特點:第一是強調學生在掌握基礎知識和技巧的同時,能夠充分鍛煉思維能力.即在任務驅動教學模式中,學生需要通過主動思考鍛煉自身的獨立思維能力,充分挖掘思維潛能.第二強調學生是學習的主體.即以學習活動為基礎,學生充當了學習的主體、認識的主體以及發(fā)展的主體,而教學內容則成為學習活動的客體.第三注重教學內容和任務實踐方法的有機結合.在理論課中介紹的基本概念、原理和算法,要通過任務實踐加以理解和吸收.
本文以多進程調度為例,具體闡述了采用任務驅動教學法在“操作系統(tǒng)”教學過程中的實踐應用,通過這種方式可以將操作系統(tǒng)的理論和實踐緊密結合,把教學重點放在培養(yǎng)學生的學習興趣和運用操作系統(tǒng)原理解決實際項目任務的能力上.讓學生能切實地感受到操作系統(tǒng)的重要性和有用性,從而更有效地掌握操作系統(tǒng)的設計思想和實現(xiàn)方法.在實際教學過程中取得了較好的效果.
[1]張步忠,江偉.操作系統(tǒng)課程教學與教師素養(yǎng)研究[J].中國電力教育,2010,(18):11-12.
[2]李景峰,劉偉,郝耀輝,等.操作系統(tǒng)課程的啟發(fā)式教學研究與探討[J].計算機教育,2010,(8):34-37.
[3]楊洪雪.任務驅動式教學方法的特點及過程設計[J].教學與管理,2006,(4):27-28.
[4]曹雪,王曉峰,鄒建偉,等.操作系統(tǒng)課程設計實踐體系的探索與構建[J].計算機教育,2010,(10):41-43.
The Application of Task-driven Teaching Approach in the“Operating System”Course
YE Hui,LIU Huafu
(Department of Computer Science and Technology,Changsha University,Changsha Hunan 410022,China)
The operating system is an important basic course in computer science.It has a lot of knowledge and complex principles. Therefore,the teaching lecture is boring and difficult to be understood as generally the traditional teachingway can not connect the theory and practice enough.Using task-driven teaching approach can establish teaching objectives and combine theoretical teaching content and design taskmodules.Furthermore,it inspires students’enthusiasm for learning and help students better understand the internals of the operating system and operationmechanism.Good teaching effect is achieved by using this teaching approach.
task-driven;teaching approach;operating system
G424
A
1008-4681(2014)02-0122-02
(作者本人校對)
2014-02-27
湖南省自然科學基金(批準號:11jj6059)資助項目;長沙市科技計劃項目(批準號:K110717-11).
葉暉(1979-),男,湖南長沙人,長沙大學計算機科學與技術系講師,博士.研究方向:計算機網絡、可信計算.