吳琴霞,李相汝
(1.安陽師范學院計算機與信息工程學院,河南安陽455002 2.安陽工學院土木與建筑工程學院,河南安陽455000)
CDIO 是當今國際工程教育改革的最新成果。CDIO模式尤其注重專業知識和工程基礎相結合的培養方式,在整個人才培養方案中團隊設計與合作,創新實踐的訓練,專業技能的培養,職業道德的培養等都被CDIO 教育模式進行了統一系統的管理。CDIO系統性、統一性、科學性和先進性是當代工程教育的發展趨勢。按CDIO 模式培養的學生深受社會和企業歡迎[1]。
操作系統是計算機專業及相關專業最重要的核心專業課程,在整個計算機課程體系結構中處于承前啟后的地位。“操作系統”課程的內容知識抽象、難以理解。學生不僅要掌握操作系統的基本理論概念、算法等,還應該使學生擁有并行程序設計的思想和方法[2]。操作系統實踐教學不但可以將理論課堂上所學的理論知識應用到具體的工程實踐中,還可以通過實踐操作對操作系統運行原理有更深入的理解。通過實踐教學可以提高學生的學習興趣,解決問題和分析問題的能力,同時還可以提高學生的主動性和創造性。目前許多高校的“操作系統”實踐教學大多處于算法模擬的層面,無法使學生對操作系統整個工作流程有一個系統的認識。操作系統的實踐教學不僅要以實踐促理論,更多的是要對計算機及相關專業學生的科學思維能力、團隊互助能力、發現和解決現實問題的能力、科學創新能力的培養。為了適合現代工程教育的要求,結合兩校應用型本科人才培養計劃的目標,我們開展了基于CDIO 工程教育理念的“操作系統”實際教學的改革與研究。
操作系統課程是一門偏向于理論的計算機專業課程,知識點比較抽象和難以理解。全國不同級別的高校中,“操作系統”實踐課的開展都不盡理想,個別高校直接將實踐教學混淆為實驗課程進行開展。教師在講授操作系統基本原理時很難與實踐掛鉤,國內大多高校關于操作系統課程的實踐教學往往是對算法的模擬或模仿,或者以一個綜合性實驗來充當實踐課的開展,這樣的實踐教學很難使學生對操作系統的整個工作流程有一個系統的認識。主要因為計算機操作系統與程序設計、數據庫應用、編譯原理等計算機專業課程不同,程序設計、數據庫應用、編譯原理等通過一個小型的應用程序或簡化的編譯器就能完成實驗,而操作系統不僅包含一定的算法和數據結構,它還與硬件密切相關,內部結構也非常復雜,讓學生去完成一個微型的操作系統也不現實。要想提高操作系統的理論課堂教學質量,實踐教學的開展起到關鍵作用,實踐教學開展好了才能更好地服務理論課堂教學,才能提高學生對知識點的深入理解。
目前各高校關于操作系統教學及實踐教學不盡相同,課程名有計算機操作系統、操作系統、實用操作系統、操作系統原理等,理論課程開設的學時大都在72 學時左右,但是實踐課程的學時各不
2)實踐內容多為驗證性或仿真性實驗,如對操作系統中一些典型算法或功能進行編程實踐,通過運行程序加以驗證,致使學生的解決問題的能力不強,創新和探索意識得不到培養。
3)實踐教學考核方式和團隊協作評價標準需進一步量化。好多高校在實踐教學的開展過程中為了培養學生的團隊協作精神,往往進行分組,這就使得一部分同學吃“大鍋飯”的情況發生。
操作系統實踐教學開展的好壞對學生未來的就業和工程實踐能力都有很大的影響。基于CDIO的實踐教學目標,理解原理,在原理的基礎上進行實驗驗證,這是加深理解的第一環節;第二環節讓學生依據原理動手改造、設計實驗這才是真正地理解和掌握一門學科知識。顯然工程技能的培養才是CDIO 的根本目標。在操作系統實踐教學的過程中,操作系統的原理學生能夠聽懂,當根據原理進行驗證時,完成驗證的能力就十分勉強。最后的設計型實驗環節更加難以開展。
為了更好地將操作系統原理運用到實踐工程應用中,加深學生對操作系統理論概念的理解,以實踐促理論,現根據目前兩校計算機科學與技術專業、物聯網和軟件工程三個專業操作系統實踐教學的開展情況提出一下實踐教學改革建議[4]。
1)興趣驅動法。操作系統課程理論性強,觀點抽象。為了提高學生學習的興趣,在原理的講解過程中可以用日常生活中的事例進行類比。如生產者消費者問題,動態資源分配時的銀行家算法,虛擬內存和虛擬設備等都可以用日常生活的例子進行類比,使枯燥的操作系統原理變得生動有趣。
2)任務驅動法。操作系統課程中知識點大多理論性較強,學生學習起來感覺索然無味。采用任務驅動教學方法對抽象的概念通過實踐環節理解,拓展深層次思考,激發學生學習興趣,培養學生分析問題、解決問題的能力。例如為了讓學生更清楚地理解進程的概念和進程的運行過程,我們可以做一個進程演示系統,讓學生自己選擇6個選項,如①創建新的進程;②查看運行的進程;③換出某個進程;④殺死運行進程;⑤進程之間通信;⑥退出系統。根據你選擇的不同,會出現什么樣的結果讓學生記錄下來,然后進行任務布置,讓學生總結PCB 結構包含哪些信息,根據實驗結果PCB 結構的內容可以做哪些增刪。整個實踐過程使學生動手能力循序漸進,編程能力由淺入深,邊學邊做,對理論課堂所學知識更深入透徹的理解[5]。
3)工程項目教學法。為了進一步讓操作系統實踐教學服務于理論課堂教學,使學生了解操作系統這門課程的作用,針對操作系統教學的重點和難點,結合操作系統原理在工程項目中的應用情況,構建操作系統實踐教學的案例庫。在實踐教學的初期可以選取一些具有代表性的案例,先通過老師講解然后讓學生分組討論,分析其設計理念和應用過程。在實踐教學的中后期,可以讓學生選擇虛擬實驗平臺,指導學生以團隊的形式完成大型實驗和項目設計,通過該過程可以培養學生團隊合作能力,以及系統分析設計能力。
4)以賽帶學,學以致用。鼓勵和引導學生積極參加各種與操作系統課程相關的專業競賽,通過競賽的形式可以直接提高學生學習的興趣。例如組織大學生開展軟件技術競賽,包括搭建系統平臺、信息系統設計及相關服務等。實踐教學不局限于校內,校外實習也是實踐教學活動的重要環節。校外實習不僅是對理論的驗證,更重要的是技術訓練和能力培養,包括動手能力、分析解決問題能力、協作能力等。
為了提高學生對實踐課程的興趣,實踐教學內容的制定由簡到難,分層次由個人到小組不斷地提高,兩校“操作系統”實踐課程均有18 個學時的校內課程安排,實踐內容共分四個等級。
1)使用級(2 學時)。鼓勵學生去安裝不同類型的操作系統,展開討論和評價,激發學生興趣。使用級至少安裝Linux系統,提供Sun公司的Solaris安裝。
2)管理級(2 學時)。查閱OS 使用手冊,修改環境變量。通過系統調用或API 進行高級程序設計,使學生掌握并發程序設計。管理級是很實用的一個環節,對操作系統再認識,讓學生對操作系統的框架比較清楚。
3)代碼閱讀級(4 學時)。研讀操作系統源代碼,掌握OS設計原理。介紹某個OS的設計原理與技術,學生研讀源代碼并應用,使學生掌握OS 原理。代碼閱讀級是很重要的環節,可以提高學生的編程能力。
4)實現級(10學時)。模擬實現或實現操作系統的部分功能,如:①進程的創建與控制;②進程通信;③消息的創建;④存儲器的管理等。實現級,由于學生自身素質、教學設備等不盡相同,要求學生至少達到模擬實現級。
一到三級的實踐教學在開展的過程中采用任務布置個人實施,實施的地點、時間老師不進行干預,以提高學生學習的主動性和自主性。在使用級實踐教學的開展過程中,教師負責布置任務,為了督促學生的開展情況在該階段結束時進行集中討論,讓學生發現問題和總結問題。在管理級的實踐教學階段進行問題驅動,鼓勵學生敢于動手、勇于動手操作。代碼研讀階段是一個枯燥無味的實施階段,為了提高學生的興趣可以進行以賽帶學的方式進行開展。第四階段實現級是整個實踐教學最重要的階段,該階段的開展實行分組實施,3 到5 人一組,共同確定實踐題目提出設計方案,組長負責和分工提高團隊合作能力,促進相互學習[6]。
按照CDIO 的要求,對操作系統實踐課程考核方式不再僅僅是實驗報告的撰寫和實驗成績。除去平時成績,項目成績占有很大的比重,不僅看項目報告來評定成績,還要看動手能力、調研能力、思考問題和解決問題的能力、和與小組成員的協作能力。為了動態評價每位學生的成績,我們采用三三結合的考核方法。即(1)個人考核、團隊考核相結合(60%+40%);(2)平時考核、期末考核相結合(30%+70%);(3)知識考核、能力素質考核相結合(60%+40%)。采用此方法可以動態地給出每位同學的成績,如表1。

表1 操作系統實踐教學成績表
本文針對當前操作系統實踐課程難開展和開展難的問題,在CDIO 教學理念的指導下,談了操作系統實踐教學方法的改革,實踐教學內容的合理選取,以及實踐教學的考核方式等。這種以工程項目驅動、以實用為目的的教學方法給學生帶來了壓力,也給老師教學帶來了挑戰,但是實踐證明將CDIO 理念引入到教學改革中是可行的,對學生的自學能力、創新能力、團隊協作能力、知識應用能力都起到了促進作用,提高了學生的學習興趣,取得了很好的教學效果,使操作系統實踐教學促進了課堂教學的開展。
[1]陶勇芳,商存慧.CDIO對高等工科教育創新的啟示[J].中國高等教育,2006(11).
[2]楊柳,胡志剛,李璽,等.面向CDIO的“操作系統”教學改革探討與實踐[J].教改縱橫,2009(24).
[3]秦俊平,秦永熙,馬志強,等.操作系統課程實例與實踐教學方法的研究與實踐[J].實驗實訓與實踐教學,2009(30).
[4]張坤,肖建良,姜立秋,等.基于CDIO的“操作系統”教改研究與實踐[J].中國電力教育,2010(33).
[5]黃紅桃,范策.許憲成,等.操作系統課程實踐教學的設計[J].科技信息,2010(31).
[6]郁紅英,王磊.淺談操作系統實踐教學[J].實驗室研究與探索,2013,32(10).