摘 要:新工科背景下,網(wǎng)絡(luò)工程專(zhuān)業(yè)學(xué)生需要具備較高創(chuàng)新能力與跨界整合能力。Lua語(yǔ)言具有高性能、方便擴(kuò)展等優(yōu)點(diǎn),適合快速地開(kāi)發(fā)高性能程序。本文結(jié)合Lua語(yǔ)言的優(yōu)點(diǎn)和網(wǎng)絡(luò)工程專(zhuān)業(yè)教學(xué)改革的要求,探討新工科工程教育模式下網(wǎng)絡(luò)專(zhuān)業(yè)開(kāi)設(shè)Lua語(yǔ)言程序設(shè)計(jì)的若干問(wèn)題。
關(guān)鍵詞:網(wǎng)絡(luò)工程專(zhuān)業(yè);Lua語(yǔ)言;程序設(shè)計(jì)課程
一、 引言
2017年,教育部適時(shí)提出新工科的概念,倡導(dǎo)培養(yǎng)創(chuàng)新型工程專(zhuān)業(yè)人才,向工科類(lèi)專(zhuān)業(yè)提出了新挑戰(zhàn)。在此背景下,網(wǎng)絡(luò)工程的人才需求內(nèi)涵正在發(fā)生重大變化。網(wǎng)絡(luò)工程專(zhuān)業(yè)是一個(gè)相對(duì)較新的專(zhuān)業(yè),該專(zhuān)業(yè)不僅要求學(xué)生掌握網(wǎng)絡(luò)工程的基礎(chǔ)理論與方法,還要求學(xué)生具備網(wǎng)絡(luò)應(yīng)用軟件開(kāi)發(fā)的相關(guān)技能,以滿(mǎn)足畢業(yè)后工作與學(xué)習(xí)中的需要。網(wǎng)絡(luò)工程專(zhuān)業(yè)的學(xué)生主要面向網(wǎng)絡(luò)運(yùn)營(yíng)與維護(hù)管理、系統(tǒng)集成、網(wǎng)絡(luò)規(guī)劃與設(shè)計(jì)、網(wǎng)絡(luò)應(yīng)用軟件開(kāi)發(fā)等崗位。但是,新工科強(qiáng)調(diào)學(xué)科的實(shí)用性、交叉性與綜合性。新工科專(zhuān)業(yè)建設(shè)要把握建設(shè)創(chuàng)新型國(guó)家的需要,培養(yǎng)高素質(zhì)、跨領(lǐng)域的創(chuàng)新型工程專(zhuān)業(yè)人才。新工科背景下的教學(xué)改革,不僅要促進(jìn)學(xué)生全面發(fā)展,還要滿(mǎn)足學(xué)生未來(lái)發(fā)展的需要。Lua語(yǔ)言由用標(biāo)準(zhǔn)C語(yǔ)言編寫(xiě),支持面向?qū)ο缶幊?、函?shù)式編程、過(guò)程式編程、數(shù)據(jù)驅(qū)動(dòng)編程等,具有高性能、方便擴(kuò)展、輕量型等優(yōu)點(diǎn)。在網(wǎng)絡(luò)工程專(zhuān)業(yè)開(kāi)設(shè)Lua語(yǔ)言程序設(shè)計(jì)課程,有望提高網(wǎng)絡(luò)工程專(zhuān)業(yè)學(xué)生的程序開(kāi)發(fā)能力。
二、 開(kāi)設(shè)Lua語(yǔ)言程序設(shè)計(jì)課程的意義
計(jì)算機(jī)網(wǎng)絡(luò)的飛速發(fā)展使得網(wǎng)絡(luò)環(huán)境變得錯(cuò)綜復(fù)雜,新的需求層出不窮,各種新的網(wǎng)絡(luò)協(xié)議不斷出現(xiàn),這使得網(wǎng)絡(luò)工程的專(zhuān)業(yè)人才,不僅要具有較強(qiáng)的建網(wǎng)、管網(wǎng)、用網(wǎng)等能力,還要具備高層次網(wǎng)絡(luò)軟件開(kāi)發(fā)的能力與計(jì)算思維能力。程序設(shè)計(jì)課程是培養(yǎng)高層次網(wǎng)絡(luò)開(kāi)發(fā)人才的最好載體。
網(wǎng)絡(luò)應(yīng)用程序開(kāi)發(fā)中,使用較為普遍的是C/C++、Java、C#等程序設(shè)計(jì)語(yǔ)言,但是,涉及網(wǎng)絡(luò)協(xié)議的解析處理、數(shù)據(jù)鏈協(xié)議的開(kāi)發(fā)調(diào)試、服務(wù)端開(kāi)發(fā)等偏底層、高性能要求的應(yīng)用開(kāi)發(fā),則大多采用C語(yǔ)言進(jìn)行開(kāi)發(fā),甚至匯編語(yǔ)言,對(duì)用戶(hù)編程能力要求較高,且開(kāi)發(fā)環(huán)境相對(duì)復(fù)雜。結(jié)合腳本語(yǔ)言與C語(yǔ)言進(jìn)行網(wǎng)絡(luò)應(yīng)用開(kāi)發(fā),能夠更方便地開(kāi)發(fā)高性能網(wǎng)絡(luò)應(yīng)用程序。
腳本語(yǔ)言一般是解釋類(lèi)語(yǔ)言,不需要編譯和鏈接,具有語(yǔ)法簡(jiǎn)單、支持動(dòng)態(tài)數(shù)據(jù)類(lèi)型、自動(dòng)內(nèi)存分配等優(yōu)點(diǎn)。除此之外,各腳本語(yǔ)言還有各自的特性。常用的腳本語(yǔ)言主要有Python、Ruby、Perl、Lua等。其中,Python的功能支持庫(kù)較為豐富,但執(zhí)行速度較慢,性能不高;Ruby有極好的高級(jí)調(diào)試器,但英文文檔極度缺乏;Perl腳本凝練晦澀,可讀性較差。相比于其他腳本語(yǔ)言,除了功能支持庫(kù)沒(méi)有Python豐富之外,Lua幾乎具有它們的全部?jī)?yōu)點(diǎn),而且更為高效,代碼可讀性也更好。Lua語(yǔ)言與C/C++語(yǔ)言結(jié)合,不僅能夠快速地開(kāi)發(fā)高性能網(wǎng)絡(luò)應(yīng)用程序,而且能適應(yīng)不同應(yīng)用領(lǐng)域的程序開(kāi)發(fā)需求。因此,在網(wǎng)絡(luò)工程專(zhuān)業(yè)開(kāi)展Lua語(yǔ)言程序設(shè)計(jì)課程,能夠培養(yǎng)學(xué)生的高性能程序開(kāi)發(fā)能力,提高網(wǎng)絡(luò)工程專(zhuān)業(yè)學(xué)生的創(chuàng)新能力、跨界整合能力。
三、 Lua語(yǔ)言應(yīng)用于網(wǎng)絡(luò)工程教學(xué)中的改革探索
Lua語(yǔ)言?xún)?yōu)點(diǎn)雖多,但鮮有高校開(kāi)設(shè)Lua語(yǔ)言程序課程,因此,Lua語(yǔ)言的程序設(shè)計(jì)教學(xué)經(jīng)驗(yàn)相對(duì)匱乏。本文結(jié)合Lua語(yǔ)言的優(yōu)勢(shì)與網(wǎng)絡(luò)工程專(zhuān)業(yè)的特點(diǎn),從以下幾個(gè)方面進(jìn)行相關(guān)探索:
第一,教學(xué)目標(biāo)方面。在網(wǎng)絡(luò)工程專(zhuān)業(yè)開(kāi)設(shè)Lua語(yǔ)言程序設(shè)計(jì)課程,旨在通過(guò)理論和實(shí)踐教學(xué),使學(xué)生掌握Lua語(yǔ)言的基本語(yǔ)法與基本操作,使學(xué)生具備應(yīng)用模塊化思想進(jìn)行復(fù)雜問(wèn)題的建模能力。此外,還應(yīng)當(dāng)使學(xué)生具有良好的編程習(xí)慣,培養(yǎng)學(xué)生團(tuán)隊(duì)合作精神。
第二,教學(xué)內(nèi)容與學(xué)時(shí)安排方面。
1. 初識(shí)階段,主要了解Lua語(yǔ)言的基本特點(diǎn)、學(xué)習(xí)使用Lua開(kāi)發(fā)環(huán)境以及簡(jiǎn)單的Lua小程序。該階段旨在激發(fā)學(xué)生學(xué)習(xí)Lua語(yǔ)言的興趣,教學(xué)內(nèi)容的難度不宜過(guò)大,建議安排2~4學(xué)時(shí)。
2. 基礎(chǔ)階段,主要講授Lua的基礎(chǔ)語(yǔ)法,包括Lua語(yǔ)言的基本數(shù)據(jù)類(lèi)型,包括number、boolean、string、nil等;Lua的程序流程控制,包括順序、選擇、循環(huán)等控制結(jié)構(gòu);table,table特性、table的構(gòu)造、table常用函數(shù)、table遍歷、table面向?qū)ο蟮?。該階段建議安排12~16學(xué)時(shí)。
3. 深度階段,主要內(nèi)容包括:函數(shù),包括函數(shù)定義、函數(shù)的參數(shù)傳遞與返回值、變量作用域等;Lua模塊與包,包括加載模塊、加載機(jī)制等;Lua文件I/O,包括簡(jiǎn)單模式與完全模式。該階段建議安排12~16學(xué)時(shí)。
4. 應(yīng)用階段,該階段主要結(jié)合網(wǎng)絡(luò)工程的應(yīng)用需求來(lái)展開(kāi),主要包括:Lua的網(wǎng)絡(luò)模塊庫(kù)的學(xué)習(xí)與使用,如LuaSocket模塊庫(kù),能夠?qū)崿F(xiàn)TCP、UDP、FTP、SMTP等多種網(wǎng)絡(luò)協(xié)議的訪(fǎng)問(wèn)操作;學(xué)習(xí)C/C++與Lua語(yǔ)言的交互,通過(guò)C/C++擴(kuò)展功能。該階段建議安排10~12學(xué)時(shí)。
第三,教學(xué)過(guò)程方面。
Lua語(yǔ)言程序設(shè)計(jì)的實(shí)踐性較強(qiáng),因此,在教學(xué)過(guò)程中可以增加與網(wǎng)絡(luò)工程專(zhuān)業(yè)有關(guān)的編程實(shí)踐或者編程案例。在實(shí)踐過(guò)程中,還應(yīng)當(dāng)對(duì)涉及的基礎(chǔ)概念、方法進(jìn)行及時(shí)總結(jié)。此外,由于Lua語(yǔ)言與Python較為相似,兩者皆為腳本語(yǔ)言,語(yǔ)法都比較簡(jiǎn)單,因此,Lua語(yǔ)言程序設(shè)計(jì)課程也可以一定程度上借鑒Python程序課程的相關(guān)教學(xué)經(jīng)驗(yàn)。
四、 小結(jié)
新工科背景下,網(wǎng)絡(luò)工程專(zhuān)業(yè)的學(xué)生需要掌握較強(qiáng)的創(chuàng)新能力與跨界整合能力。Lua語(yǔ)言是常用腳本語(yǔ)言中最為高效的,適合快速開(kāi)發(fā)高性能應(yīng)用程序。本文在探討了Lua語(yǔ)言的特點(diǎn)與優(yōu)勢(shì)后,對(duì)網(wǎng)絡(luò)工程專(zhuān)業(yè)開(kāi)設(shè)Lua語(yǔ)言程序設(shè)計(jì)進(jìn)行了論述,以期促進(jìn)新工科背景下網(wǎng)絡(luò)工程專(zhuān)業(yè)的教學(xué)改革。
參考文獻(xiàn):
[1]紀(jì)其進(jìn),朱艷琴.網(wǎng)絡(luò)工程專(zhuān)業(yè)網(wǎng)絡(luò)程序設(shè)計(jì)課程探討[J].計(jì)算機(jī)教育,2010(23):74-77.
[2]芮立,劉玨.新工科背景下高校網(wǎng)絡(luò)工程專(zhuān)業(yè)建設(shè)方案研究[J].計(jì)算機(jī)時(shí)代,2018(3):79-81.
[3]肖鵬,路瑩,李媛媛.以就業(yè)為導(dǎo)向的網(wǎng)絡(luò)程序設(shè)計(jì)課程教學(xué)改革[J].計(jì)算機(jī)教育,2013(14):21-23.
[4]鄧正陽(yáng),陳和平,蘇鵬.動(dòng)態(tài)腳本語(yǔ)言L(fǎng)ua與C++交互方法的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2010,19(5):198-201.
作者簡(jiǎn)介:
丁凱孟,江蘇省南京市,金陵科技學(xué)院網(wǎng)絡(luò)與通信工程學(xué)院。