翟一鳴+張楠+任滿杰+劉其成
摘要:以畢業生能力驅動課程體系建設是工程教育專業認證核心內容之一。針對當前操作系統課程建設普遍存在的問題,本文以計算機專業系統能力培養為頂層目標,提出了以該目標驅動的操作系統教學改革和“以課程群為中心”的課程建設模式,并做了大量的相關教學實踐,對于提高教學質量、培養學生能力有著重要意義。
關鍵詞:系統能力;課程群;課程建設;操作系統;實踐教學
中圖分類號:G642.0 文獻標志碼:A 文章編號:1674-9324(2017)36-0128-02
進入21世紀以來,信息產業持續快速發展,已經成為新世紀經濟發展的驅動力。以移動互聯網、物聯網、云計算和大數據計算為主要特征的新型網絡時代對計算機專業人才的知識結構與創新能力提出了更高的要求,這其中就包括系統能力。操作系統在計算機領域有著舉足輕重的作用,作為一門承前啟后的專業基礎課程,在計算機專業課程體系中扮演著重要角色,是學生建立計算機系統觀及認識其內部運行機制的重要途徑。在操作系統課程建設過程中,提高學生的系統能力應該從實踐出發,結合課程群的優勢,以實際系統應用來進行驅動,在內容授課、討論、實驗等環節中不斷融入相關內容,提高學生學習興趣,加深學生對基本概念及理論的理解,提高學生系統分析能力及動手實踐能力。我們將進一步結合課程實施成效情況來總結課程建設經驗,不斷優化課程教學,以更好地滿足專業人才系統能力培養的需求。
一、教學現狀和存在的問題
在PC時代背景下,對操作系統教學現狀進行分析發現,對學生的系統能力培養存在以下問題。
(1)操作系統課程與其他系統課程的銜接和關聯不夠。目前課程設置大多按照計算機系統不同層次上的內容獨立開設課程,很少體現本層次與其他層次內容之間的關聯,學生難以形成對計算機系統的全面認識。教學內容不夠與時俱進,較少涉及近年來出現的多核處理器、分布式和并行計算模式等實際工作中遇到的內容。
(2)大部分學生不能很好地建立計算機系統的完整概念,缺乏系統觀。學生對于操作系統的核心內容掌握不夠,實踐能力不足,動手意識薄弱,他們綜合分析、設計和應用能力也較差,只能解決局部的編程和應用問題,對于系統層面問題的解決無法勝任。
面向系統能力培養的操作系統課程教學改革是一項綜合性的改革工程,重點在教學內容、課程體系、實驗內容等方面探索新的方法和手段。
二、系統能力培養的技術途徑
1.以課程群為中心的建設模式。從系統能力培養的大方向出發,整合操作系統課程群中各項資源,我們提出統籌規劃課程內容,使課程間和課程內部知識緊密聯系,讓操作系統的整體教學過程和實驗目標設計實現不斷完善的漸進過程。最終讓學生通過實踐鍛煉提高系統編程能力,真正鍛煉系統分析設計能力和創新能力。
以系統能力為培養目標,以系統設計為統一視圖,充分利用操作系統課程群的優勢來設計操作系統課程體系。我們將操作系統、編譯原理、并行計算等課程整合成了操作系統課程群,充分發揮課程群的緊密耦合特性,共享資源,提高課程內容的關聯性。這樣不僅使課程群內各課程之間構成前后遞進的層次關系,而且課程內知識點之間也構成遞進的層次關系,從而改變以往課程間缺乏直接聯系的不足,實現了課程緊密聯系的整體教學計劃和實驗設計不斷完善的目標。
比如在我校將編譯原理課程開設在操作系統課程之前,在編譯原理授課過程中,程序運行時的存儲空間組織、目標代碼生成及優化與操作系統或計算機組成原理課程相關,所以在講授操作系統課程時,有必要強調代碼在內存中的存放形式以及進程(任務)的執行;又如與并行計算技術課程的銜接,這門課程的授課目的在于使學生能設計和實現并發式程序,如使用MPI庫、多線程庫、多核編程等,關鍵在于讓學生掌握并行程序運行特征。而這些概念以及相關問題,如同步、互斥、死鎖、進程間通信,正是操作系統課程中最初引入的。因此,在操作系統課程的講授過程中,對進程(線程)同步、互斥以及死鎖產生的原理要進行較為詳細的闡述,還增加了與并行程序設計相關的內容。
2.實驗平臺的改革和實驗體系的建立。我院實驗平臺多年來一直使用Linux操作系統,它是業界公認的優秀開源平臺。但近些年來有相當多的新技術在該平臺下涌現出來,這就需要重新設計實驗內容,引入部分最新的技術和方法。
設計實驗內容時,強調知識點的涵蓋性、實驗題型的綜合性、實驗形式和難度的多樣性,對不同層次的實驗采取了不同的設計策略,如驗證類實驗設計強調與基本原理知識模塊的映射,注意知識點之間的銜接性及實驗模塊之間的可集成性,學生在動手實現操作系統部分功能的過程中深化對概念的總體認識和理解;而內核類實驗從剖析Linux內核代碼入手,一方面注重與基本原理知識點的呼應,另一方面強調與硬件體系結構銜接,力求全方位透視實現機制,反映技術演變趨勢,促進學生深入理解操作系統實現機制;設計型實驗則以設計應用問題為主,強調多項系統技術的滲透與綜合應用,引導學生分析技術難點,優化程序設計思路,培養學生的綜合編程能力。
另外,還加入了其他相關課程關聯的實驗內容,如并行計算與多核技術的部分算法設計、編譯原理的算法實現嘗試移到Linux平臺下實現;同時,操作系統的部分實驗內容也可以放在組成原理的實驗平臺下進行等等。最終目標就是讓學生能夠有一個系統整體概念,能在一個統一平臺上實現一個最小的計算機系統。
3.充分激發學生的學習興趣,讓其自主參與到教學活動中來。在教學過程中教師根據當前社會的實際需求設計操作系統相關的研究內容,讓學生產生研究的興趣,鼓勵學生將所學的知識用到自己的研究內容中,如讓學生自己開發一個小型的Boot loader,或者一個文件系統,或一個小型的基于安卓的手機操作系統等等。這些內容看似是操作系統的知識,其實關系到匯編、編譯、組成原理等軟硬件多門課程的內容,可以最大限度地鍛煉學生綜合分析、設計和應用的系統能力。
4.因材施教,建立高中低多層次教學方案。在實踐教學方面,根據不同的水平和專業劃分高、中、低多檔次實驗內容和課程設計內容,讓不同層次的學生通過實驗課和課程設計都能提高自己的系統實踐能力。比如在課堂教學中涌現出對操作系統很感興趣的同學,我們給予他們從清華大學借鑒的ucore教學操作系統并安排相關實驗,讓他們參與到與清華大學操作系統的慕課教學過程中來,充分激發這些學有余力的同學的興趣,發揮他們的創造力。
5.建立完善的網上教學系統。在現有的操作系統課程網站基礎之上進行改版,充分突出課程群緊密耦合、資源共享的特點,加入更豐富的教學文檔(大綱、習題、實驗指導書、課件、視頻等等),并加入清華大學學堂在線的操作系統慕課相關內容,最大化地利用開放的網絡教學資源,讓學生在課下也可以自主學習,從而達到對課堂教學的輔助和補充作用。
三、教學效果
通過建設與實踐,操作系統課程從課程體系、課程內容到實驗環境、教學手段,都為學生自主學習及系統能力培養奠定了基礎,課程體系完整,課程群優勢資源耦合,原理與實踐并重,系統能力培養為終極目標。在實際教學中,獲得了顯著成效,本操作系統課程亦獲批山東省精品課程建設立項,“操作系統課程建設研究與實踐”獲得了山東省優秀教學成果獎。
參考文獻:
[1].高小鵬.計算機專業系統能力培養的技術途徑[J].中國大學教學,2014,(8):53-57.
[2].劉衛東,等.面向系統能力培養的計算機專業課程體系建設實踐[J].中國大學教學,2014,(8):48-52.
[3].王志英,等.計算機專業學生系統能力培養和系統課程體系設置研究[J].計算機教育,2013,(9):1-6.
[4].翟一鳴,等.計算機操作系統[M].北京:清華大學出版社,2012.endprint