摘要:本文根據“操作系統”課程實驗教學的特點和我校省級精品課程“操作系統”(應用型本科)的教學實際,分析目前操作系統實驗教學的現狀和存在的問題,并結合實踐教學案例從前導課程影響、選用實驗操作系統和實驗教學質量監控等多個方面提出提高操作系統實驗教學質量的對策與方法,為應用型本科操作系統的實驗教學提供可借鑒的經驗和建議。
關鍵詞:操作系統;實驗教學;教學質量;應用型本科
1操作系統實驗教學的重要性
“操作系統”課程是計算機科學與技術專業必修的一門專業基礎課,本課程的學習目的是讓學生掌握操作系統的基本概念、基本原理、設計方法和實現技術[1-2],為今后在相關領域的工作打下堅實基礎。
實驗教學是“操作系統”課程必不可少的環節,我們不僅要設置實驗,而且還要重視實驗,使其很好地輔助課堂教學。實驗教學的質量直接影響學生的就業機會和工程實踐能力[3]。德國教育家第斯多惠曾經說過:“教學的藝術不在于傳授的本領,而在于激勵、喚醒和鼓舞。”而實驗教學的重點就是培養學生的好奇心和求知欲,幫助學生自主學習、獨立思考,鼓勵學生發現問題、提出問題,并通過實驗過程找到解決問題的方法和途徑。
2現狀與存在的問題
操作系統實驗教學的重要性使我們有足夠的理由要教好這門課,但是在實際的實驗教學活動中,學生要真正完成好操作系統的實驗內容卻并不是十分容易的事情。下面從專業培養方案的定位、前導課程
影響、選用操作系統以及實驗教學質量監控等方面進行分析。
2.1應用型本科計算機專業培養方案的定位
長期以來,我國計算機專業教育帶有濃厚的計算機系統研究型人才培養色彩,與應用型本科人才培養目標的“理論夠用,注重實踐”的特點不太相符。國家教育部強調對不同院校不同層次的學生要采取分類指導的原則,應用型本科計算機類學生的培養目標是培養既懂得計算機專業的理論知識,又掌握計算機應用技能的高級應用人才。對此問題的研究,我們課程組在文獻[4-5]中已進行過論述,特別需要說明的是我們課程組負責人范輝教授參加了由教育部教學指導委員會組織的全國高校操作系統課程研究與資源建設項目,并在其中承擔了應用型本科操作系統課程的部分研究與建設工作,使我校的應用型本科操作系統的課程建設起到了很好的示范作用。
2.2前導課程的影響
“操作系統”的前導課程有“程序設計語言”、“數據結構”、“計算機組成原理”和“匯編語言”等,它的后續課程包括“計算機網絡”、“數據庫原理”和“編譯原理”等計算機學科的重要課程,如圖1
作者簡介:孫述和(1966-),男,山東煙臺人,副教授,碩士,研究方向為計算機應用、圖像處理;謝青松(1965-),男,副教授,碩士,研究方向為算法分析與設計、信息安全技術;董付國(1977-),男,山東聊城人,講師,碩士,研究方向為數字圖像處理、信息安全;杜萍(1981-),女,山東青島人,講師,碩士,研究方向為基于角色的訪問控制。
所示。大部分學生在學任何一門課之初都比較認真,主觀上有較強烈的學好這門課的愿望,但是隨著課程的日益深入,課程特征不斷顯露,特別是“操作系統”這門課本身的理論性較強且實驗內容對前導課的依賴性很大,從而打擊了一部分學生的學習熱情,甚至有一部分學生因前導課程學習較差而放棄了操作系統實驗作業的完成,從而影響了課堂學習甚至包括后續課程的學習。
圖1 “操作系統”的前導與后續課程
2.3選用的實驗操作系統
由于操作系統課程本身的原因,使得操作系統實驗環境較難選擇。大部分教材以Unix系統為實例,而Unix的安裝成本又較貴,不太適宜用于學生實驗。而傳統的Windows操作系統的大部分源代碼未公開,具有一定的局限性和不透明性。所以,我們選用Linux作為主要的實驗操作系統。但是,由于大部分學生之前都沒有接觸過Linux,并且還都非常熟悉Windows系統,思維定勢難免會給Linux的認識與學習帶來一定的難度。
2.4實驗教學質量監控
從目前的實驗教學情況來看,各個學校對評價工作都較為重視,但存在著只重結果而忽視過程以及考核方式不科學等問題。由于當前互聯網技術的高速發展,網絡資源不斷豐富,在實驗過程中,學生的實驗報告或設計代碼部分存在抄襲現象,這部分學生雖然提交了實驗報告,成績也不錯,但實際上,卻沒有掌握相關的知識。如何在實驗過程中進行教學質量監控,合理利用網絡資源,避免抄襲,使學生能夠既掌握知識又鍛煉能力,這為我們的實驗教學提出了新的難題。
3提高實驗教學質量的對策與方法
筆者結合自己近幾年的教學實踐,就“操作系統”課程實驗教學中遇到的上述問題,從以下3個方面談談自己的體會。
3.1化難為易,從主觀和客觀兩方面進行引導
(1) 在學習的主動性方面,潛移默化地消除學生的畏難情緒。
① 在第一節實驗課上多下功夫。通過實例告訴學生操作系統實驗學習在現在的學習和今后工作中的重要性,使學生從純粹學好課程的想法變為有目的性的學習。例如,從考研和就業的角度,強調編程能力和動手能力的重要性,并結合前導課程如“高級程序設計”中的線程等相關內容加以說明。
② 結合教師和前面學生的經驗,介紹操作系統實驗學習的方法和特征,以及可能遇到的困難,讓學生針對自身的學習情況,提前準備和查閱前導課程的相關內容,做到心中有數。同時,把一些好的學習技巧傳授給學生,讓學生知道怎么學、怎么做。
③ 在后面的實驗課上,單純地強調操作系統實驗內容重要性的意義已經不大,教師應在每一次布置實驗作業的時候,有意識的從應用及工程實踐角度,用案例的方式對實驗內容加以多角度描述,從而使學生明確實驗目的并激發學習興趣。
(2) 在客觀上,化難為易,有針對性地解決學生的學習難題。
① 分層次設計實驗要求,如表1所示將學生粗略分為高中低3個層次。
表1學生層次分類
層次前導課程
掌握情況學習興趣與
學習目的人數
第一層次基礎知識
非常扎實學習興趣非常強烈一小部分
(<10%)
第二層次基礎知識穩固學習目的明確絕大部分
(>80%)
第三層次基礎知識較差學習興趣不高一小部分
(<10%)
對不同層次學生,有針對性地分析并提出解決方案,以幫助他們提高,如表2所示。
表2按層次設計實驗要求
層次針對性分析及解決方案
第一層次多加鼓勵及肯定,并結合其興趣點推薦學習資料,引導自學,可在后面的團隊實驗任務中委以重任。
第二層次按照既定的實驗要求和目的進行實驗安排。
第三層次放棄部分選做實驗,適量延長必做實驗的學時,以彌補前導課程的不足并強化必做實驗。
② 提供參考程序,幫助學生快速入門。這個方法主要是針對第三層次和第二層次的一小部分前導課程學習效果不好的學生而言的。我們以實驗“進程調度模擬程序設計”為例進行說明。
例1:進程調度模擬程序設計
實驗目的:加深對進程概念和進程調度算法的理解。
實驗內容:(a)給出進程調度的動態優先級和時間片輪轉調度算法描述;
(b) 用C語言設計一個對n個并發進程進行調度的程序,每個進程由一個進程控制塊結構表示;
(c) 調度程序應當包含兩種不同的調度算法,運行時可以任選一種,以利于分析和比較;
(d) 程序應能顯示或打印各種進程狀態和參數變化情況,便于觀察。
實驗參考方案:對于這個實驗,首先要明確實驗目的是通過編程加深對進程概念和算法的理解,對算法的理解是重點,而非編程本身。我們給編程確實有困難的學生,提供一個實驗參考框架,并在此基礎上基本實現動態優先算法,只留下一些涉及到該算法核心思想的代碼讓學生自己填空,最后重點考察學生在此框架基礎上自己編寫的時間片輪轉調度算法的實現。當然,對于絕大部分基礎較好的學生,我們還是建議程序框架也要自己搭建。
③ 我們還可以多鼓勵學生充分合理利用網絡資源,如果有某些疑問或未解決的問題可以自己到網絡上尋找答案或到一些論壇上參與討論,增加自己學習和豐富操作系統知識的途徑。
3.2由淺入深,多角度多層次學習掌握Linux系統
我們選擇Linux做為實驗操作系統,由于大部分學生之前都沒有接觸過它,所以做實驗時應該從易到難,一步步的來操作,如圖2所示。
圖2Linux系統學習階段示意圖
我們的方法是首先熟悉Linux簡單操作的驗證性實驗,包括基本的應用級實驗和系統管理級實驗。在這一階段,可以引導學生通過對熟悉的Windows操作系統的相關功能,對比學習Linux操作系統的功能,如表3所示。
表3操作系統驗證性實驗列表
序號實驗內容LinuxWindows
1系統安裝√√
2系統的用戶接口和編程界面√√
3系統的界面認識(窗口系統、文件管理和系統管理工具等)√√
4使用U盤√√
5屏蔽Windows桌面上的“回收站”√
6觀察注冊表內容√
其次,在熟悉操作系統的基本操作與環境之后,進入設計性實驗階段,編程模擬實現操作系統的某些功能模塊,如表4所示。
表4Linux系統設計性實驗列表
序號實驗內容(對應算法或命令)必做選做
1進程調度模擬程序設計(動態優先級算法、時間片輪轉調度算法)√
2頁面置換模擬程序設計(OPT、FIFO、LRU)√
3文件系統模擬設計(login、dir、read、open、close等)√
最后,進行實驗內容難度較大,但很有意義,也很有意思的源代碼閱讀級實驗,這部分內容建議學生分組協作完成。可選內容有很多,例如進程創建、內存分配、系統安全性、磁盤驅動、文件的讀或寫、虛擬文件系統、idle進程等,每組學生可自主選題,最后的實驗報告,由團隊統一提交。表5所示是我們2008~2009年度第二學期學生源代碼閱讀級實驗分組情況匯總。
表5源代碼閱讀級實驗分組情況列表
序號實驗內容是否團隊人數/組
1進程創建√9
2內存分配√10
3文件的讀或寫√8
4虛擬文件系統√10
5網絡傳輸√10
6設備管理√10
3.3改進考核方式,加強實驗教學質量的監控
要加強實驗教學質量監控,保證操作系統課程的教學質量,我們對傳統的只提交實驗報告的實驗考核方法從如下幾個方面進行了改革與實踐:
(1) 提高實驗成績在最終課程成績中所占比例(如圖3所示),引導學生重視實驗教學。
圖3 提高實驗成績比例示意圖
(2) 對設計性實驗和綜合性實驗的成績評定,應
在實驗報告的基礎上,綜合多種形式進行考核量化。我們的方法是在實驗過程中,不定時抽查部分學生的程序,并有針對性的提問和討論,保證一學期每個學生至少有一次提問的機會,按回答情況進行打分。團隊形式的綜合性實驗還要求組長提交任務分配情況以及個人完成情況,將協作能力、資料分析能力等納入考核指標。
4結束語
我校“操作系統”(應用型本科)從2004年被評為“校級精品課程”和2006年被評為“山東省省級精品課程”以來,在更新教學與實驗內容、加強教學梯隊建設與教材建設、改進教學方法和教學手段、加強素質教育、培養創新人才等方面不斷進行探索與實踐,已開始顯現初步成效。近年來,我校計算機專業學生在山東省軟件設計大賽、學生科研立項、考研錄取率、畢業生就業率等諸多方面的成績穩步攀升。總之,要讓學生學好“操作系統”、做好操作系統實驗、提高人才培養質量,還需要我們不斷在教學實踐中加以發現和總結。我們將不斷努力,逐步完善操作系統實驗教學體系,在改革中探索、提高,培養出更多適應社會需要的應用型人才。
參考文獻:
[1] 謝青松,范輝. 操作系統課程教學之我見[J]. 計算機教育,2004(9):75.
[2] 王國華.《操作系統》實驗課程的設置與實踐[J]. 山西財經大學學報:高等教育版,2006(4):108.
[3] 郭觀七,周細義,張舸. 應用型本科計算機專業實踐教學改革探索[J]. 計算機教育,2009(12):85-87.
[4] 杜萍,范輝,謝青松,等. 應用型本科操作系統實驗教學初探[J]. 計算機教育,2008(16):31-32.
[5] 杜萍,謝青松,范輝,等. “操作系統”實驗框架的分析與設計[J]. 計算機教育,2009(14):133-134.
(編輯:姚彥如)