摘要:深入研究農林院校操作系統課程實踐教學面臨的困難,提出實踐教學內容的改革方案,給出三類實驗項目的安排思路,并就實踐教學組織方面的關鍵問題,如實驗課時的安排、實驗指導教師的配備及課程實踐教學網站的建立等提出具體改革建議。
關鍵詞:操作系統;課程實踐教學;教學改革
操作系統作為一門課程一直是計算機類專業的核心課程,在2007年出版的《高等學校計算機科學與技術專業公共核心知識體系與課程》一書中被列為7門公共核心課程之一。操作系統作為一個最龐大最復雜的系統軟件,涉及到計算機系統的許多軟硬件方面的知識,如硬件組成、接口原理、數據結構、程序設計等。這門課程的主要內容包括:操作系統概述、操作系統原理、并發性、調度與分派、內存管理、設備管理、安全與保護和文件系統。操作系統課程的具體實施由理論教學和課程實踐教學兩大部分。課程實踐教學包括:課內實驗、獨立實驗和綜合課程設計。這門課程總的特點是系統性、理論性、實踐性強。
這門課程的教與學歷來都是非常具有挑戰性的,再加上近年來很多國內高校普遍大幅削減課程的總學時,使得任課教師在教學內容的選擇、內容深度的把握、理論與實際系統的聯系、動手能力的培養方式等問題上很難拿捏。客觀上造成了操作系統課程難教難學。
我們認為一個基本的解決思路是加強實踐教學環節。唯有通過實踐,才能使學生更具體、實在的感受到理論知識的意義和作用。唯有通過實踐,才能使學生把抽象的概念和具體的實現形式聯系起來。也唯有通過實踐,才能培養學生的系統觀念和實際動手的能力。所以實踐環節的加強和完善是解決問題的必由之路。不僅如此,課程實踐教學環節不僅限于扮演服務于理論教學的角色,它還具有獨立的功能,即培養學生的系統觀念和創新實踐的能力。
本文將探討農林院校的操作系統課程實踐教學所面臨的困難、實踐教學內容改革、實踐教學的組織實施的改革。
1農林院校的操作系統實踐教學面臨的困難
1.1理論課程內容帶來的挑戰
操作系統課程作為一門原理性的理論課,其基本任務是讓學生了解和掌握操作系統的基本結構和基本原理及其基本實現方法。在有限的教學時間和教學資源條件下,不可能讓學生通過這門課程學習具體的操作系統原理甚至實現細節。這樣會讓學生陷入大量煩瑣的實現細節的大海中,不能自拔。更不能幫助學生有效掌握一般性原理,培養學生的系統觀念和系統能力。
所謂系統觀念就是考慮全局、把握全局,能夠按照分層模塊化的基本思想,站在不同的層面上去把握不同層次上的系統:多考慮系統的邏輯,強調設計。
所謂系統能力是指對計算機系統的認知、分析、開發與應用能力,也就是要站在系統的觀點上去分析和解決問題,追求問題的系統求解,而不是被局部的實現所困擾。
上述特點決定了它的實踐環節也具有先天的挑戰性。也正因為如此,傳統的操作系統課程大多側重理論,淡化具體實現。也就造成了該課程與其他一些有密切關系的基礎課程脫節。例如,與計算機組成原理、數據結構及程序設計等課程割裂。這使得學生不能融會貫通,理解困難。
如何恰當地在基本理論和具體實現方法之間取得一個平衡,是操作系統課程內容選擇面臨的主要挑戰之一。目前有一些操作系統教材在嘗試增加一些具體操作系統的內容。但是增加哪些具體實現方面的內容,以及哪些高校適合使用這種類型的內容,還是一個沒有形成共識問題。需要各個學校根據自己的具體情況作出選擇。
另外,這門課程在不同類型的高校中實際覆蓋的內容是不同的。比如理工院校與農林院校、重點院校與一般院校、本科院校與職教院校。它們在實際教學內容的取舍上有顯然的差異。操作系統理論課程內容上的這些問題直接影響到操作系統實踐教學環節。內容的取舍、理論與實際系統的結合方式都無不決定著實踐環節的內容。我們認為,作為農林院校中的計算機專業,需要在調整專業定位的背景下,選擇合理的操作系統理論課程內容,然后才能決定合理的實踐教學內容。
1.2實驗類型選擇困難
從實驗類型上來說,根據認知的漸進原則,可以分為使用性、驗證性、設計性和綜合性實驗。使用性僅僅學會如何使用具體操作系統,這類實驗是必要的,但遠遠不夠。驗證性實驗也不足以讓學生真切地理解理論原理,僅對操作系統的重要功能做一些模擬程序設計,對學生的動手編程能力和系統思維能力有一定的考驗。而比較深入的設計性和綜合性實驗則能夠比較全面地訓練學生的系統觀念和系統能力,但是顯然不是所有的高校都能夠這樣做。
目前,多數高校的操作系統實踐教學內容就是學習使用特定的具體操作系統或者針對操作系統的重要功能做一些模擬程序。只有少數重點高校,要求學生閱讀Linux或者Minix的源代碼,并針對內核實現安排一些實踐練習。作為農林院校中的計算機專業,需要各個院校根據自己的學生、教師資源的具體情況確定合適的實驗類型。
1.3農林院校軟硬件條件的局限
農林院校中的計算機學科與其他理工院校相比,存在著天然的巨大差距。由于某些觀念和現實因素的影響,計算科學還很難完美的融入到國內的農林院校中去。首先是計算科學在農林領域中的應用效益和前景還沒有充分的挖掘和體現出來;其次是農林院校中計算機學科普遍不受重視;第三是農林院校中高素質的計算機學科隊伍難以建立;第四是農林院校中計算機學科的生源比其他理工院校差。這些因素對于農林院校中的計算機學科來說都是致命的。
盡管科學的發展,特別計算科學到各個領域的深入應用,決定了農林院校必須發展出有自己特色的計算機學科。但是在目前的情況下,這些因素使得農林院校在計算機學科方面的資源投入非常少。甚至有的學校的辦學條件只能保證最基本的運行。在這樣的情況下,操作系統實踐教學的軟硬件實驗條件非常有限。
所以,在農林院校組織實施比較完整的、成體系的操作系統實踐教學必然是困難重重。也正因為如此,才出現農林院校的操作系統課程重理論講授,輕實踐教學的現象。
2操作系統實踐教學的內容改革
按照IEEE-CS和ACM發布的課程規范CC-2005[1],及教育部高等學校計算機科學與技術教學指導委員會2006年發布的規范[2],操作系統課程內容一般包括:操作系統概述、操作系統原理、并發性、調度與分派、內存管理、設備管理、安全與保護、文件系統。這是一個一般的指導意見,不同的學校可以根據自己的實際情況,確定知識的深度和廣度。
作為農林院校中的計算機專業,我們認為應該選擇并發性、調度與分派、內存管理、文件系統等部分作為教學重點,并且每部分側重于介紹基本概念、基本過程和原理的思想,淡化部分細節。把設備管理、安全與保護作為高級專題介紹。
與此相適應,操作系統實踐教學的內容也需要做適當調整。由王志英等制定、教育部高等學校計算機科學與技術教學指導委員會2008年發布的《高等學校計算機科學與技術專業實踐教學體系與規范》[3] (以下簡稱《規范》),擬訂了操作系統課程實驗大綱和操作系統綜合課程設計大綱。其中課程實驗大綱提出了7個實驗,6個必做,1個選做。本著實踐首先服務于理論教學、理論聯系實際的原則,根據農林院校的辦學實際,我們認為操作系統課程實驗擬訂以下6個實驗比較合理:1) Linux的安裝與使用;2) 實現一個新的系統調用;3) 進程的同步與通信;4) Linux內存分配的模擬;5) Linux進程調度的模擬;6) 信號和定時器(選做)。
《規范》中還擬訂了5個綜合課程設計項目,其中2個選做。本著培養學生系統觀念、培養學生創新實踐能力的原則,根據農林院校的辦學實際,我們認為操作系統綜合課程設計擬訂以下4個項目比較合理:簡單Linux字符設備驅動程序的實現;增加系統內核模塊;內核源碼分析(選做);同步事件原語的應用(選做)。
3操作系統實踐項目的類型安排
實踐教學中的項目可以分為3種類型:驗證性、設計性和綜合性。驗證性實驗是基礎,必要的驗證性實驗是不可缺少的,學生可以通過驗證性實驗,掌握操作系統的基本原理。設計性實驗和綜合性實驗可以充分發揮學生的主觀能動性,激發學生的學習興趣和熱情。不僅可以鞏固基本原理的知識,還可以培養學生的系統觀念和創新實踐能力。
根據農林院校的辦學實際,我們認為在操作系統實踐教學中,無論是課程實驗還是綜合課程設計都要體現以驗證性實驗為基礎,適當的安排設計性項目,配備必須的綜合課程設計項目的思路。這樣可以構造一個基本成體系的課程實踐環節。
4操作系統實踐教學組織實施的關鍵問題
4.1課時安排
國外著名高校操作系統實驗教學的特點是:1)實驗課程的課時和學分占全部課程的1/3以上;2)實驗教學完全面向具體工程,培養學生的動手能力和創新能力;3)實驗教師有豐富的工程實踐經驗;4)實驗教學計劃是動態的,依據實際工程需要修改。這種辦學水準是國內比較好的學校都不容易做到的。[4]
目前國內普遍在大幅度減少課程的總學時,實踐環節也不例外,甚至有的減少到平均1學時做1個實驗項目的程度。我們認為這極不合理。即使實驗任務的安排通過課程網站公布,不占課時,學生利用課外的時間完成實驗項目,教師利用實驗課時來集中解決問題,實驗課時也會顯得十分不足。普通的實驗項目在執行過程中應該安排一次集中實驗課,任務快結束的
時候也應該安排一次集中實驗課。對于綜合性實驗,在實施過程中至少應該多安排一次集中實驗課。因此,對于操作系統課程的實驗學時至少應該在平均每個實驗項目4學時的最低水平。而且對綜合性實驗項目還應該更多,至少每個項目6個學時。這樣的實驗課時安排已經是非常緊湊的了。
作為農林院校,還應該考慮多提供一些教師的集中指導時間,所以在課時安排上應該更加寬裕一些。
4.2實驗指導教師
操作系統課程的實驗任務對指導教師的業務水平的要求比較高。根據《規范》及近年來教學界的討論結果來看,實驗的環境多傾向于選擇具體的操作系統特別是開源操作系統,如Linux。這要求指導教師要精通開源操作系統的知識。而這方面是農林院校最為薄弱的地方,也是最大的障礙之一。因此農林院校中的計算機學科需要樹立一種把教學與教師的成長結合起來的觀念。鼓勵教師開展開源操作系統方面的研究和工程實踐,鼓勵教師多參與企業的工程項目,使教師和實驗指導人員的工程實踐能力得到快速的充實和提高。
4.3課程實踐教學網站
課程實踐教學網站是一個有效的實施工具。建立一個開放的、可互動交流、實時討論的平臺,可以緩解課時減少帶來的困難。也可以及時解決實驗過程中遇到的問題。而且還可以建立起學生間的熱烈討論環境。因此這是實施課程實踐教學的一個重要手段。對于農林高校,這是一個無需顯著增加額外投入,卻又可以有效解決問題,顯著提高實踐教學質量的工作。甚至可以考慮把這項工作制度化,對所有課程作出明確的要求。
5結語
隨著《國家中長期教育改革和發展規劃綱要(2010-2020)》的深入研究和出臺,高校辦學自主權逐步放開,辦學的多樣性會越來越受到尊重。課程教學的軟硬件環境會有一個大的改善。相信不同類型院校的操作系統實踐教學也會呈現出百花齊放的局面。
參考文獻:
[1] ACM/AIS/IEEE—CS. Computing Curricula 2005[0L/S]. [2010-06-24]. http://www.acm.org/education/curric—vols/CC2005-March06
Final.pdf.
[2] 教育部計算機科學與技術專業教學指導分委員會. 計算機本科專業發展戰略研究報告暨專業規范(試行)[M]. 北京:高等教育