薛開慶,張 濤
(1.西華大學(xué)計(jì)算機(jī)與軟件工程學(xué)院;2.西華大學(xué)心理健康服務(wù)與研究中心,四川成都 610039)
以大數(shù)據(jù)和人工智能為代表的新一輪科技革命和產(chǎn)業(yè)變革正在開展。為主動(dòng)適應(yīng)和推動(dòng)這些變革,支持創(chuàng)新,服務(wù)智能制造,教育部先后發(fā)布了《關(guān)于開展新工科研究與實(shí)踐的通知》[1]、《關(guān)于推進(jìn)新工科研究與實(shí)踐項(xiàng)目的通知》[2]、《關(guān)于公布首批“新工科”研究與實(shí)踐項(xiàng)目》[3]和《高等學(xué)校人工智能創(chuàng)新行動(dòng)計(jì)劃的通知》[4],對(duì)推進(jìn)新工科建設(shè)提出了具體要求。新工科的“新”主要體現(xiàn)在以下幾個(gè)方面:①對(duì)傳統(tǒng)工科進(jìn)行改造升級(jí);②新科技新經(jīng)濟(jì)的發(fā)展會(huì)產(chǎn)生新的工科專業(yè);③工科與其它學(xué)科深度交叉融合產(chǎn)生新的專業(yè)[5]。計(jì)算機(jī)類學(xué)科本身就是典型的工科,新工科提出為我國高等工程教育改革提供了新思路和新辦法?,F(xiàn)代信息技術(shù)日新月異,計(jì)算機(jī)學(xué)科除了不斷對(duì)傳統(tǒng)學(xué)科進(jìn)行融合改造以外,其本身也要主動(dòng)適應(yīng)技術(shù)變革,主動(dòng)適應(yīng)新經(jīng)濟(jì)、新工科要求,對(duì)相關(guān)課程進(jìn)行改革、探索和實(shí)踐,調(diào)整教學(xué)內(nèi)容、教學(xué)方式,提高教學(xué)質(zhì)量。
1991 年Linus Torvalds 開發(fā)了Linux 0.01。由于Linux開源免費(fèi)的理念,受到全世界發(fā)燒友、眾多企業(yè)和組織的鼎力支持。眾人拾柴火焰高,Linux 不斷完善,不斷更新版本,當(dāng)前網(wǎng)絡(luò)編程、云計(jì)算、大數(shù)據(jù)和人工智能等相關(guān)研究和應(yīng)用大多依賴Linux 平臺(tái)。幾乎所有高校計(jì)算機(jī)類專業(yè)都開設(shè)了操作系統(tǒng)原理這門課程,但沒有進(jìn)一步開設(shè)Linux操作系統(tǒng)相關(guān)課程,部分學(xué)校雖然開設(shè)了這門課程,但將其設(shè)置為選修課,造成很多高校計(jì)算機(jī)類專業(yè)Linux 課程教學(xué)力量十分薄弱。學(xué)生沒有打好Linux 基礎(chǔ),沒有掌握Linux 基本的操作技能,其后果就是進(jìn)一步學(xué)習(xí)網(wǎng)絡(luò)編程、云計(jì)算、大數(shù)據(jù)和人工智能等課程時(shí)存在一些技術(shù)障礙,比如搭建基于Linux 的大數(shù)據(jù)實(shí)驗(yàn)平臺(tái)時(shí)感到困難。
本文對(duì)傳統(tǒng)Linux 課程教學(xué)現(xiàn)狀進(jìn)行分析,找出存在的問題,在新工科理念下大膽進(jìn)行課程內(nèi)容調(diào)整。對(duì)授課方式進(jìn)行改革,提升學(xué)生思考問題的主動(dòng)性,提高解決問題的能力。
Linux 操作系統(tǒng)是一門實(shí)踐性非常強(qiáng)的課程,學(xué)習(xí)Linux 之前,大多數(shù)學(xué)生已經(jīng)學(xué)過操作系統(tǒng)原理、程序設(shè)計(jì)基礎(chǔ)等課程。有了這些基礎(chǔ),本應(yīng)該將這門課程深入學(xué)習(xí),為后續(xù)課程打下堅(jiān)實(shí)基礎(chǔ),但很多高校由于硬件條件限制,繼續(xù)采用在多媒體教室授課的傳統(tǒng)做法,邊講解邊演示,課程最后才到機(jī)房上機(jī),這時(shí)前面學(xué)的知識(shí)很多已經(jīng)遺忘,上機(jī)練習(xí)交份實(shí)驗(yàn)報(bào)告就結(jié)束課程,學(xué)習(xí)效果很不理想。
現(xiàn)在就業(yè)壓力大,計(jì)算機(jī)相關(guān)專業(yè)學(xué)生特別渴望學(xué)習(xí)一些實(shí)用技術(shù),但因?yàn)闆]有教師細(xì)致的指導(dǎo),理論沒有和實(shí)踐項(xiàng)目有機(jī)結(jié)合,只是機(jī)械記憶了一些操作命令和步驟,掌握也不牢靠。傳統(tǒng)教學(xué)沒有充分調(diào)動(dòng)學(xué)生學(xué)習(xí)的積極性和主動(dòng)性,從課后作業(yè)、上機(jī)實(shí)驗(yàn)到課程設(shè)計(jì),大多數(shù)學(xué)生都是被動(dòng)完成學(xué)習(xí)任務(wù),缺乏深入理解和思考,缺乏創(chuàng)新能力,缺乏綜合解決問題的能力,遇到新問題時(shí)找不到抓手。
企業(yè)對(duì)Linux 從業(yè)人員需求主要有Liunx 系統(tǒng)管理人員和Linux 程序開發(fā)人員兩類。
(1)Linux 系統(tǒng)管理人員要求掌握Linux 操作系統(tǒng)的基本原理,能夠進(jìn)行內(nèi)核參數(shù)調(diào)優(yōu),熟悉Linux 的常用服務(wù)器,能快速進(jìn)行部署、配置、備份、恢復(fù)和排錯(cuò)等,能夠掌握Linux 下使用腳本和程序來高效完成系統(tǒng)的日常維護(hù)工作。要求系統(tǒng)管理人員保障Linux 服務(wù)器順利運(yùn)行。
(2)Linux 編程人員要求熟悉Linux 原理及基本操作,具備Linux 下運(yùn)用C/C++或者Java 的編程能力,掌握Linux 下某些數(shù)據(jù)庫系統(tǒng)運(yùn)用,能利用Linux 平臺(tái)加載大數(shù)據(jù)、人工智能等軟件工具進(jìn)行數(shù)據(jù)分析處理等。
綜上分析,不難看出傳統(tǒng)的Linux 教學(xué)與企業(yè)要求相差甚遠(yuǎn)。當(dāng)然不必苛求僅僅通過學(xué)校的幾門課程就掌握企業(yè)所需的全部技能,但企業(yè)對(duì)實(shí)際技術(shù)的具體需求對(duì)Linux 教學(xué)來說具有很重要的參考和指導(dǎo)意義。因此,教師在教學(xué)過程中要了解企業(yè)需求,并把這些需求傳遞給學(xué)生,讓學(xué)生學(xué)習(xí)更有目標(biāo)性和針對(duì)性,這樣才能將學(xué)習(xí)的基礎(chǔ)知識(shí)、基本原理和企業(yè)需求有機(jī)融合,學(xué)生畢業(yè)進(jìn)入企業(yè)后才能快速適應(yīng)工作要求,達(dá)到學(xué)習(xí)和工作之間的無縫銜接。
Linux 是計(jì)算機(jī)相關(guān)專業(yè)的一門重要課程,與操作系統(tǒng)、數(shù)據(jù)結(jié)構(gòu)、程序設(shè)計(jì)、軟件工程、大數(shù)據(jù)、云計(jì)算和人工智能等課程關(guān)系密切,具備很強(qiáng)的實(shí)踐性。如何根據(jù)普通本科院校學(xué)生特點(diǎn),使Linux 教學(xué)更有成效,梁正平等[6]和吳大親等[7]基于CDIO 理念進(jìn)行了有特色的探索和研究。本文以西華大學(xué)計(jì)算機(jī)與軟件工程學(xué)院為依托,根據(jù)教育部對(duì)新工科的要求,考慮企業(yè)實(shí)際需求,對(duì)Linux 課程教學(xué)進(jìn)行改革和實(shí)踐。參加教改實(shí)驗(yàn)的有西華大學(xué)計(jì)算機(jī)與軟件工程學(xué)院2017-2019 級(jí)相關(guān)專業(yè)500 多名學(xué)生,歷經(jīng)3年。
Linux 這門課程既是對(duì)《操作系統(tǒng)原理》的鞏固和深化,也是后面學(xué)習(xí)云計(jì)算、大數(shù)據(jù)、網(wǎng)絡(luò)編程和機(jī)器學(xué)習(xí)等課程的基礎(chǔ),其先修后繼課程關(guān)系如圖1 所示。
Fig.1 Relationship between pre-study and subsequent courses of Linux圖1 Linux 先修后繼課程關(guān)系
西華大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)和信息安全專業(yè)將Linux 設(shè)為選修課(48 學(xué)時(shí)),而軟件工程專業(yè)和物聯(lián)網(wǎng)專業(yè)將Linux 設(shè)為必修課(48 學(xué)時(shí))。要求云計(jì)算、大數(shù)據(jù)、人工智能和機(jī)器學(xué)習(xí)方向的學(xué)生必須選修Linux 課程,掌握好Linux 這門利器,使學(xué)生在進(jìn)一步學(xué)習(xí)上述方向課程時(shí)能很快上手搭建配置相應(yīng)環(huán)境,學(xué)習(xí)相關(guān)軟件,提高動(dòng)手能力??紤]學(xué)生既要學(xué)習(xí)Linux 系統(tǒng)的基本操作又要學(xué)習(xí)Linux 系統(tǒng)下的編程,所以把《Linux 系統(tǒng)及編程基礎(chǔ)》[8]選作教材,另外提供參考輔導(dǎo)書《Linux C 程序設(shè)計(jì)王者歸來》[9],主要為學(xué)有余力的學(xué)生進(jìn)一步提高編程能力。
根據(jù)技術(shù)發(fā)展和企業(yè)需求,對(duì)教材內(nèi)容進(jìn)行了適當(dāng)?shù)娜∩岷脱a(bǔ)充,具體內(nèi)容和課時(shí)安排如表1 所示。
Table 1 Teaching content and class arrangement表1 教學(xué)內(nèi)容和課時(shí)安排
考慮到Linux 操作系統(tǒng)是一門實(shí)踐性很強(qiáng)的課程,為了增強(qiáng)學(xué)生的動(dòng)手能力,將所有教學(xué)活動(dòng)都安排在實(shí)驗(yàn)機(jī)房中進(jìn)行。教師可以一邊講解一邊指導(dǎo)學(xué)生動(dòng)手操作,將理論、原理和實(shí)踐有機(jī)融合,大大提高了學(xué)生實(shí)踐動(dòng)手能力。教學(xué)內(nèi)容大致分為基礎(chǔ)知識(shí)、系統(tǒng)服務(wù)器配置和編程3 部分。
(1)基礎(chǔ)知識(shí)。包括Linux 發(fā)展歷史、特點(diǎn)、組成、版本介紹;Linux 安裝和基本配置(每個(gè)學(xué)生自帶筆記本,學(xué)會(huì)在VMWare Workstation 虛擬機(jī)下安裝比較常用的Linux 版本之一Ubuntu);Linux 命令基礎(chǔ)(如何登錄、注銷、關(guān)機(jī)、重啟,如何重置密碼、如何獲得幫助);文件系統(tǒng)(了解Linux 文件系統(tǒng)類型、組成和特點(diǎn),掌握Linux 文件操作命令、目錄操作命令、更改文件的存取權(quán)限、創(chuàng)建鏈接文件方法);Vim 編輯器(掌握Vim 三種工作模式,明確當(dāng)前處于什么模式之下,掌握常用的Vim 編輯命令,能夠使用Vim 編寫Shell 腳本和C 程序)。
(2)系統(tǒng)網(wǎng)絡(luò)服務(wù)器管理。包括用戶管理(用戶、組的添加刪除和更改)、設(shè)備管理(磁盤和分區(qū)管理、設(shè)備的掛載和卸載)、進(jìn)程管理、日志管理、網(wǎng)絡(luò)管理(常用網(wǎng)絡(luò)管理命令和網(wǎng)絡(luò)故障的基本排除方法);文件服務(wù)器管理配置(NFS 配置,samba 配置)、DNS 服務(wù)器管理配置、Web 服務(wù)器管理和配置、Mail 服務(wù)器管理和配置、FTP 服務(wù)管理和配置等。
(3)編程。包括Shell 編程(Shell 基本命令、Shell 變量、Shell 腳本的輸入和輸出、Shell 算術(shù)和邏輯運(yùn)算、Shell 的控制結(jié)構(gòu)、Shell 函數(shù)等);C 編程(掌握GCC 編譯器工具、GDB調(diào)試工具和make 程序維護(hù)工具;掌握如何創(chuàng)建進(jìn)程、進(jìn)程的執(zhí)行、進(jìn)程的終止、進(jìn)程的等待及進(jìn)程間的信號(hào)通信等;掌握線程控制系統(tǒng)調(diào)用;掌握如何創(chuàng)建、打開和關(guān)閉文件、掌握文件的讀寫及文件的定位);GTK+圖形界面程序設(shè)計(jì)(掌握實(shí)驗(yàn)GTK+開發(fā)圖形用戶界面程序,能夠創(chuàng)建按鈕和標(biāo)簽、文本輸入框、單選復(fù)選按鈕、組合框、框架、圖像控件,能夠制作菜單、工具欄和狀態(tài)欄)。
整個(gè)過程中精講多練。教師主要講解關(guān)鍵知識(shí)點(diǎn)和技巧,大量的時(shí)間讓學(xué)生動(dòng)手練習(xí),在“做中學(xué)”,掌握知識(shí)和技能更加牢靠。學(xué)生有解決不了的問題由教師給予提醒和指導(dǎo)解答。
該門課程安排8 個(gè)實(shí)驗(yàn),具體實(shí)驗(yàn)內(nèi)容及要求如表2所示。其中實(shí)驗(yàn)8 主要是安排學(xué)生集體合作項(xiàng)目,如搭建具有主從(master-slave)模式的大數(shù)據(jù)處理平臺(tái)等,讓學(xué)生體會(huì)類似企業(yè)中的分工合作,提高團(tuán)隊(duì)意識(shí),鍛煉協(xié)作能力。另外,鼓勵(lì)學(xué)生參加Linux 相關(guān)的各種競賽,通過競賽提高專業(yè)實(shí)踐技能,提高解決技術(shù)難題的能力,也提高了學(xué)生的就業(yè)能力。
Table 2 Course experiment content and class time allocation表2 課程實(shí)驗(yàn)內(nèi)容及課時(shí)分配
為督促學(xué)生認(rèn)真學(xué)習(xí),加強(qiáng)了考核環(huán)節(jié),主要考核學(xué)生的動(dòng)手能力和靈活應(yīng)用知識(shí)的能力,成績構(gòu)成如表3 所示。其中,如果學(xué)生平時(shí)在課堂上積極回答問題,在實(shí)踐環(huán)節(jié)主動(dòng)幫助同學(xué)解決問題,會(huì)加分;對(duì)重要的實(shí)驗(yàn),教師要考察學(xué)生的實(shí)際完成情況;綜合項(xiàng)目要求學(xué)生錄制講解視頻,演示如何理解、分析、設(shè)計(jì)和完成這個(gè)項(xiàng)目。另外,如果學(xué)生在一些Linux 相關(guān)競賽活動(dòng)中取得了好的成績要適當(dāng)加分。
Table 3 Score composition表3 成績構(gòu)成
與傳統(tǒng)的教學(xué)方式相比,新的教學(xué)模式堅(jiān)持“學(xué)生是教學(xué)活動(dòng)的主體”這一基本理念,同時(shí)充分發(fā)揮教師的主導(dǎo)作用。在教學(xué)活動(dòng)中充分調(diào)動(dòng)學(xué)生參與學(xué)習(xí)的積極性,讓學(xué)生主動(dòng)思考,發(fā)現(xiàn)問題,討論問題,提高解決問題的能力。通過觀察比較學(xué)生課堂表現(xiàn)、作業(yè)完成情況、實(shí)驗(yàn)動(dòng)手能力和項(xiàng)目完成情況,證明該教學(xué)方法更加符合普通高校學(xué)生實(shí)際情況。在課程結(jié)束時(shí),通過西華大學(xué)課程質(zhì)量管理系統(tǒng)(http://xhu.mycospxk.com/)匿名調(diào)查,絕大多數(shù)學(xué)生對(duì)該教學(xué)方法表示贊同,2017-2019 級(jí)各專業(yè)對(duì)課程滿意度的綜合評(píng)分如表4 所示,選擇滿意和非常滿意的學(xué)生比例達(dá)到了98.5%。
Table 4 Comprehensive evaluation scove of course satisfaction表4 課程滿意度綜合評(píng)分
Linux 操作系統(tǒng)是計(jì)算機(jī)相關(guān)專業(yè)的一門重要課程。本文根據(jù)Linux 操作系統(tǒng)教學(xué)要求,考慮普通本科院校學(xué)生特點(diǎn),采用案例教學(xué),對(duì)教學(xué)方法進(jìn)行大膽探索,把Linux基本原理、重要操作、服務(wù)器配置、腳本編程、C 編程、圖形化編程有機(jī)結(jié)合起來,精講多練,充分調(diào)動(dòng)學(xué)生的積極性,提高了學(xué)生分析問題和解決問題的能力,得到了學(xué)生的充分支持和高度評(píng)價(jià),取得了良好效果,對(duì)如何培養(yǎng)應(yīng)用型本科人才有一定的指導(dǎo)作用。后續(xù)將與課程教師多溝通,對(duì)Linux 教學(xué)內(nèi)容、教學(xué)方式進(jìn)行調(diào)整,拋棄一些陳舊內(nèi)容,引入新的、后續(xù)必備的基礎(chǔ)內(nèi)容,使學(xué)生能完成相應(yīng)的實(shí)驗(yàn)環(huán)境搭建配置,更順利地完成相應(yīng)的實(shí)驗(yàn)任務(wù)。