黃達峰 李 洛 湯 庸 羅文村
1引言
以Linux為代表的開放源代碼軟件技術,是近幾年發展起來的一種新的軟件發展方向,而大力推動Linux技術是我國自主軟件產業發展的良好機遇,所以現在從政府到科技界乃至企業界都很重視而且也很有熱情來做這件事。必須意識到,擺在我們面前最大的阻礙就是現時人們已經有了一個技術(微軟)。所以,也必須充分意識到在高等院校中普及對Linux的教學,其對于推進我國Linux技術的重要作用。
高等院校必須高度重視、合理配備教學資源、科學制訂教學計劃,方能擔當起培養Linux技術應用和推廣專業人才的大任。
2Linux技術特征
Linux不僅僅是一個操作系統,與Windows相比,它是一個不斷成長,不斷發展的國際化軟件項目,它從來沒有像Windows那樣有階段性的定型。學習、使用Linux,可能意味需要不停地查資料、不斷遇到問題、甚至親自解決系統本身的問題。對于Windows來說,用戶只是使用者;而對于Linux,每個用戶不僅是使用者,還是測試員、創作者、教師兼學員。
Linux使用者必須習慣在搜索引擎上搜索資料、細心組織這些資料(鑒別、篩選和重組),親自動手建立起某些軟件的運行環境。從小小的MP3播放器的運行,到龐大的并行數據庫的建立,幾乎沒有什么問題有適合實際的現成答案,然而,這恰恰能夠鍛煉學生自主學習、積極探索、靈活創造的信息素養整體水平。
Linux操作系統可以在Internet上免費下載,并且它往往自帶了Office套件、優秀的瀏覽器以及網頁編輯器、圖形編輯工具、各種程序設計工具、HTTP和FTP服務器、建立在內核、基于包過濾、應用代理技術上的三層防火墻以及從小型到大型的數據庫等。甚至在網上,你能找到數十萬個不花錢或花很少錢就能獲得的應用軟件。
Linux系統幾乎不會死機、極少被病毒所感染、系統不會輕易被調皮的學生破壞。對于電腦機房管理員來說,使用Linux系統將大大降低工作量,由于Linux系統具有嚴格的用戶管理機制,無論是用戶自己安裝軟件、更改程序運行界面等操作,管理員只須運行幾句命令便可使系統完全恢復原狀。
3 根據專業屬性,劃分推進戰場
我們這里僅從高校的專業屬性角度來考慮Linux技術推進的問題,因為從學科角度的道理亦然。專業應該按軟件技術專業、其他IT類專業、非計算機類工科專業、文科專業等四類來看問題。
形象一些來考慮,軟件技術專業是高校Linux技術推進的主力軍,因為其將為大小企業輸送研發力量;其他IT類專業是協同作戰的友軍;非計算機類工科專業、文科專業是將來Linux平臺推廣應用的廣大群眾基礎(用戶),都非常重要。但是根據其不同的專業特點、學習目標,必須在課程安排上加以區別。
3.1軟件技術專業
軟件專業的課程安排,應該將Linux當作一個課程體系來進行教學設計,其開課目標應該指向至少一次集中實訓。其課程計劃可以從以下兩個層面考慮:
一是在現有軟件專業中,加重Linux技術課程的分量。例如,對于軟件專業的Linux課程的設置,要考慮加大軟件開發設計方面的內容及相應的課時,具體可以考慮包括如下課程內容:
(1)Linux基礎;
(2)Linux可視化程序設計;
(3)Linux平臺數據庫應用(MySQL、PostgreSQL、Oracle等);
(4)Linux網絡應用設計(PHP腳本、Socket網絡編程等);
(5)Linux系統結構及其API的使用。
二是根據企業調查的指引,單設Linux技術專業方向,即除上述內容外,還應該將重點放在Linux下的一到二門程序設計課程上,使學生真正能夠掌握在Linux環境中的編程技能,適應企業需求。對于這類專列課程學習Linux技術的軟件技術專業(方向),還應該考慮:
(1)課程計劃和課程路線。即應該開設哪些課程,課程之間如何銜接等等。
(2)是作為與Windows課程系列的并列課程開設,還是專列一個專業方向等等。
(3)教學方法、教學模式、教材開發、師資培訓、認證證書等等。
3.2 對于其他IT類專業
其他IT類專業應該逐步地,有側重地加重其Linux相關課程分量,首先至少將Linux作為其主干課程中的一門,其最小課程集合應該包括以下三個方面的主要內容:Linux應用基礎(命令行界面)、Linux網絡管理、Linux下的可視化程序設計。
例如計算機應用與維護、計算機網絡以及信息管理等,應該將開設課程的重點放在會安裝、配置和使用Linux操作系統;熟悉這個操作系統的全部常用命令;掌握在Linux操作系統環境下的編程方法。
3.3 一般性工科專業、文科專業
對于跨度頗大的一般性工科專業和文科專業,最低限度應該將Linux圖形界面應用作為一章放進目前開設的“計算機應用基礎”等類似通識課程,令學生既掌握現行微軟平臺的辦公軟件應用,又了解Linux平臺以及其上的應用軟件。而對于電子、通信等非常接近IT類的專業,則至少要將其作為一門技術基礎課程開設。
大多數專業,例如對于化工、管理等專業(方向),主要應該從應用的角度開設課程,著重于以Linux操作系統使用和辦公軟件套件的使用技能訓練,即在現行的計算機應用基礎課程中,變目前片面強調Windows以及相關套件的應用,為增加Linux應用基礎以及應用技能;而對于通信和應用電子專業,則應該額外開設Linux下的可視化程序設計課程。
4 根據企業需要,強調Linux教學目標的技能特征
在為本科高校學生開設這類課程時,應該視不同的學科專業,或灌輸其原理,引導研究和開發,或教授其應用和功能。為高職高專學生開設這類課程時,應該重視開展綜合項目訓練,使Linux教學豐富而真實。Linux是一門實踐性很強的課程,實踐是學好這門課程的主要途徑。了解到學生往往喜歡直觀、形象、自己動手立刻能看到結果的教學方法,應該把實驗項目帶入到Linux的教學試驗中,盡量安排在機房上課,每個項目內容都注意理論與實用的結合,并且項目內容往往是從理論課教學中精心安排提出來的。例如把某些實際系統項目按功能模塊分為多個子項目,如辦公系統、管理系統、安全認證等。教學過程中通過理論教學與實驗交叉進行,上實訓課的時候還可以在學生普遍能夠完成一般項目的基礎上,安排較難、較深和實際應用更密切的項目題目,并給出每個項目的難度系數,利用學生的好勝心理,提高他們的學習欲望。亦可拓展視野,促進學生能力。
5結束語
既然我們認同大力推動Linux技術是我國自主軟件產業發展的良好機遇這個道理,既然我們對于這樣一門技術推進(而不僅限于推廣),需要從培養研發人才、應用人才甚至用戶群做起,我們實際就認同了從學校來推動這件事的必然性和合理性。剩下的就是該如何來操作了。本文主要討論如何在高校目前業已比較成型的課程體系下面,加入或導入Linux技術的內容,使高校的學生在離開高校畢業時,帶著一種認識,或一門技術,或一種使命,投入到與我國之命脈相關高度的開源技術大軍中去。
致謝在此,筆者向對本文的工作給予支持和建議的企業和院校,尤其是廣東省軟件行業協會黃躍珍秘書長、熊瑞萍副秘書長為此文提供的支持和幫助表示感謝。