薛開慶,張 濤
(1.西華大學計算機與軟件工程學院;2.西華大學心理健康服務與研究中心,四川成都 610039)
以大數據和人工智能為代表的新一輪科技革命和產業變革正在開展。為主動適應和推動這些變革,支持創新,服務智能制造,教育部先后發布了《關于開展新工科研究與實踐的通知》[1]、《關于推進新工科研究與實踐項目的通知》[2]、《關于公布首批“新工科”研究與實踐項目》[3]和《高等學校人工智能創新行動計劃的通知》[4],對推進新工科建設提出了具體要求。新工科的“新”主要體現在以下幾個方面:①對傳統工科進行改造升級;②新科技新經濟的發展會產生新的工科專業;③工科與其它學科深度交叉融合產生新的專業[5]。計算機類學科本身就是典型的工科,新工科提出為我國高等工程教育改革提供了新思路和新辦法。現代信息技術日新月異,計算機學科除了不斷對傳統學科進行融合改造以外,其本身也要主動適應技術變革,主動適應新經濟、新工科要求,對相關課程進行改革、探索和實踐,調整教學內容、教學方式,提高教學質量。
1991 年Linus Torvalds 開發了Linux 0.01。由于Linux開源免費的理念,受到全世界發燒友、眾多企業和組織的鼎力支持。眾人拾柴火焰高,Linux 不斷完善,不斷更新版本,當前網絡編程、云計算、大數據和人工智能等相關研究和應用大多依賴Linux 平臺。幾乎所有高校計算機類專業都開設了操作系統原理這門課程,但沒有進一步開設Linux操作系統相關課程,部分學校雖然開設了這門課程,但將其設置為選修課,造成很多高校計算機類專業Linux 課程教學力量十分薄弱。學生沒有打好Linux 基礎,沒有掌握Linux 基本的操作技能,其后果就是進一步學習網絡編程、云計算、大數據和人工智能等課程時存在一些技術障礙,比如搭建基于Linux 的大數據實驗平臺時感到困難。
本文對傳統Linux 課程教學現狀進行分析,找出存在的問題,在新工科理念下大膽進行課程內容調整。對授課方式進行改革,提升學生思考問題的主動性,提高解決問題的能力。
Linux 操作系統是一門實踐性非常強的課程,學習Linux 之前,大多數學生已經學過操作系統原理、程序設計基礎等課程。有了這些基礎,本應該將這門課程深入學習,為后續課程打下堅實基礎,但很多高校由于硬件條件限制,繼續采用在多媒體教室授課的傳統做法,邊講解邊演示,課程最后才到機房上機,這時前面學的知識很多已經遺忘,上機練習交份實驗報告就結束課程,學習效果很不理想。
現在就業壓力大,計算機相關專業學生特別渴望學習一些實用技術,但因為沒有教師細致的指導,理論沒有和實踐項目有機結合,只是機械記憶了一些操作命令和步驟,掌握也不牢靠。傳統教學沒有充分調動學生學習的積極性和主動性,從課后作業、上機實驗到課程設計,大多數學生都是被動完成學習任務,缺乏深入理解和思考,缺乏創新能力,缺乏綜合解決問題的能力,遇到新問題時找不到抓手。
企業對Linux 從業人員需求主要有Liunx 系統管理人員和Linux 程序開發人員兩類。
(1)Linux 系統管理人員要求掌握Linux 操作系統的基本原理,能夠進行內核參數調優,熟悉Linux 的常用服務器,能快速進行部署、配置、備份、恢復和排錯等,能夠掌握Linux 下使用腳本和程序來高效完成系統的日常維護工作。要求系統管理人員保障Linux 服務器順利運行。
(2)Linux 編程人員要求熟悉Linux 原理及基本操作,具備Linux 下運用C/C++或者Java 的編程能力,掌握Linux 下某些數據庫系統運用,能利用Linux 平臺加載大數據、人工智能等軟件工具進行數據分析處理等。
綜上分析,不難看出傳統的Linux 教學與企業要求相差甚遠。當然不必苛求僅僅通過學校的幾門課程就掌握企業所需的全部技能,但企業對實際技術的具體需求對Linux 教學來說具有很重要的參考和指導意義。因此,教師在教學過程中要了解企業需求,并把這些需求傳遞給學生,讓學生學習更有目標性和針對性,這樣才能將學習的基礎知識、基本原理和企業需求有機融合,學生畢業進入企業后才能快速適應工作要求,達到學習和工作之間的無縫銜接。
Linux 是計算機相關專業的一門重要課程,與操作系統、數據結構、程序設計、軟件工程、大數據、云計算和人工智能等課程關系密切,具備很強的實踐性。如何根據普通本科院校學生特點,使Linux 教學更有成效,梁正平等[6]和吳大親等[7]基于CDIO 理念進行了有特色的探索和研究。本文以西華大學計算機與軟件工程學院為依托,根據教育部對新工科的要求,考慮企業實際需求,對Linux 課程教學進行改革和實踐。參加教改實驗的有西華大學計算機與軟件工程學院2017-2019 級相關專業500 多名學生,歷經3年。
Linux 這門課程既是對《操作系統原理》的鞏固和深化,也是后面學習云計算、大數據、網絡編程和機器學習等課程的基礎,其先修后繼課程關系如圖1 所示。

Fig.1 Relationship between pre-study and subsequent courses of Linux圖1 Linux 先修后繼課程關系
西華大學計算機科學與技術專業和信息安全專業將Linux 設為選修課(48 學時),而軟件工程專業和物聯網專業將Linux 設為必修課(48 學時)。要求云計算、大數據、人工智能和機器學習方向的學生必須選修Linux 課程,掌握好Linux 這門利器,使學生在進一步學習上述方向課程時能很快上手搭建配置相應環境,學習相關軟件,提高動手能力。考慮學生既要學習Linux 系統的基本操作又要學習Linux 系統下的編程,所以把《Linux 系統及編程基礎》[8]選作教材,另外提供參考輔導書《Linux C 程序設計王者歸來》[9],主要為學有余力的學生進一步提高編程能力。
根據技術發展和企業需求,對教材內容進行了適當的取舍和補充,具體內容和課時安排如表1 所示。

Table 1 Teaching content and class arrangement表1 教學內容和課時安排
考慮到Linux 操作系統是一門實踐性很強的課程,為了增強學生的動手能力,將所有教學活動都安排在實驗機房中進行。教師可以一邊講解一邊指導學生動手操作,將理論、原理和實踐有機融合,大大提高了學生實踐動手能力。教學內容大致分為基礎知識、系統服務器配置和編程3 部分。
(1)基礎知識。包括Linux 發展歷史、特點、組成、版本介紹;Linux 安裝和基本配置(每個學生自帶筆記本,學會在VMWare Workstation 虛擬機下安裝比較常用的Linux 版本之一Ubuntu);Linux 命令基礎(如何登錄、注銷、關機、重啟,如何重置密碼、如何獲得幫助);文件系統(了解Linux 文件系統類型、組成和特點,掌握Linux 文件操作命令、目錄操作命令、更改文件的存取權限、創建鏈接文件方法);Vim 編輯器(掌握Vim 三種工作模式,明確當前處于什么模式之下,掌握常用的Vim 編輯命令,能夠使用Vim 編寫Shell 腳本和C 程序)。
(2)系統網絡服務器管理。包括用戶管理(用戶、組的添加刪除和更改)、設備管理(磁盤和分區管理、設備的掛載和卸載)、進程管理、日志管理、網絡管理(常用網絡管理命令和網絡故障的基本排除方法);文件服務器管理配置(NFS 配置,samba 配置)、DNS 服務器管理配置、Web 服務器管理和配置、Mail 服務器管理和配置、FTP 服務管理和配置等。
(3)編程。包括Shell 編程(Shell 基本命令、Shell 變量、Shell 腳本的輸入和輸出、Shell 算術和邏輯運算、Shell 的控制結構、Shell 函數等);C 編程(掌握GCC 編譯器工具、GDB調試工具和make 程序維護工具;掌握如何創建進程、進程的執行、進程的終止、進程的等待及進程間的信號通信等;掌握線程控制系統調用;掌握如何創建、打開和關閉文件、掌握文件的讀寫及文件的定位);GTK+圖形界面程序設計(掌握實驗GTK+開發圖形用戶界面程序,能夠創建按鈕和標簽、文本輸入框、單選復選按鈕、組合框、框架、圖像控件,能夠制作菜單、工具欄和狀態欄)。
整個過程中精講多練。教師主要講解關鍵知識點和技巧,大量的時間讓學生動手練習,在“做中學”,掌握知識和技能更加牢靠。學生有解決不了的問題由教師給予提醒和指導解答。
該門課程安排8 個實驗,具體實驗內容及要求如表2所示。其中實驗8 主要是安排學生集體合作項目,如搭建具有主從(master-slave)模式的大數據處理平臺等,讓學生體會類似企業中的分工合作,提高團隊意識,鍛煉協作能力。另外,鼓勵學生參加Linux 相關的各種競賽,通過競賽提高專業實踐技能,提高解決技術難題的能力,也提高了學生的就業能力。

Table 2 Course experiment content and class time allocation表2 課程實驗內容及課時分配
為督促學生認真學習,加強了考核環節,主要考核學生的動手能力和靈活應用知識的能力,成績構成如表3 所示。其中,如果學生平時在課堂上積極回答問題,在實踐環節主動幫助同學解決問題,會加分;對重要的實驗,教師要考察學生的實際完成情況;綜合項目要求學生錄制講解視頻,演示如何理解、分析、設計和完成這個項目。另外,如果學生在一些Linux 相關競賽活動中取得了好的成績要適當加分。

Table 3 Score composition表3 成績構成
與傳統的教學方式相比,新的教學模式堅持“學生是教學活動的主體”這一基本理念,同時充分發揮教師的主導作用。在教學活動中充分調動學生參與學習的積極性,讓學生主動思考,發現問題,討論問題,提高解決問題的能力。通過觀察比較學生課堂表現、作業完成情況、實驗動手能力和項目完成情況,證明該教學方法更加符合普通高校學生實際情況。在課程結束時,通過西華大學課程質量管理系統(http://xhu.mycospxk.com/)匿名調查,絕大多數學生對該教學方法表示贊同,2017-2019 級各專業對課程滿意度的綜合評分如表4 所示,選擇滿意和非常滿意的學生比例達到了98.5%。

Table 4 Comprehensive evaluation scove of course satisfaction表4 課程滿意度綜合評分
Linux 操作系統是計算機相關專業的一門重要課程。本文根據Linux 操作系統教學要求,考慮普通本科院校學生特點,采用案例教學,對教學方法進行大膽探索,把Linux基本原理、重要操作、服務器配置、腳本編程、C 編程、圖形化編程有機結合起來,精講多練,充分調動學生的積極性,提高了學生分析問題和解決問題的能力,得到了學生的充分支持和高度評價,取得了良好效果,對如何培養應用型本科人才有一定的指導作用。后續將與課程教師多溝通,對Linux 教學內容、教學方式進行調整,拋棄一些陳舊內容,引入新的、后續必備的基礎內容,使學生能完成相應的實驗環境搭建配置,更順利地完成相應的實驗任務。