袁嵩 莊子健
摘? 要: 在新工科背景下,為了培養(yǎng)能夠適應(yīng)軟件產(chǎn)業(yè)發(fā)展需求的高素質(zhì)應(yīng)用型人才,分析了當(dāng)下軟件工程專業(yè)教學(xué)模式中填鴨式教學(xué)和一錘定音的考核形式的弊端及問(wèn)題,提出采用研討課、電腦課堂、階段性測(cè)試等新型的教學(xué)模式,以及模仿學(xué)習(xí)高質(zhì)量代碼、提高團(tuán)隊(duì)協(xié)作能力、在競(jìng)爭(zhēng)中開(kāi)拓創(chuàng)新思維、雙線齊下的企業(yè)項(xiàng)目實(shí)訓(xùn)等措施,來(lái)提高學(xué)生的實(shí)踐動(dòng)手能力和創(chuàng)新能力,為我國(guó)軟件產(chǎn)業(yè)的發(fā)展提供智力和人才支撐。
關(guān)鍵詞: 新工科; 軟件工程; 教學(xué)模式; 動(dòng)手能力
中圖分類號(hào):G642? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A? ? 文章編號(hào):1006-8228(2020)02-95-03
Research on the teaching mode of software engineering specialty in the
background of new engineering
Yuan Song, Zhuang Zijian
(College of Computer Science and Technology, Wuhan University of Science and Technology, Wuhan, Hubei 430065, China)
Abstract: In the background of new engineering, in order to cultivate the high-quality applied talents who can meet the needs of software industry development, the disadvantages of the current teaching mode for software engineering specialty, such as spoon-feeding teaching and one-stroke assessment, are analyzed, new teaching modes such as seminar, “computer classroom” and periodical achievement test are proposed with the measures such as learning high-quality code by imitating it, improving teamwork ability, developing innovative thinking in competition, and double-line enterprise project training etc., to improve students' practical ability and innovation ability, so as to provide the intellectual and talent support for the development of China's software industry.
Key words: new engineering; software engineering; teaching mode; hands-on ability
0 引言
現(xiàn)如今,世界范圍內(nèi)新一輪科技革命和產(chǎn)業(yè)變革加速進(jìn)行。人工智能、大數(shù)據(jù)、云計(jì)算……已經(jīng)逐漸成為了科技的代名詞。2017年形成的“復(fù)旦共識(shí)”、“天大行動(dòng)”和“北京指南”構(gòu)成了新工科建設(shè)的“三部曲”,奏響了人才培養(yǎng)主旋律,開(kāi)拓了工程教育改革新路徑[1]。同時(shí),對(duì)高等工程教育提出了新要求、新思路。
經(jīng)過(guò)10多年發(fā)展,軟件工程專業(yè)成為新技術(shù)、新產(chǎn)業(yè)、新經(jīng)濟(jì)的基石,被譽(yù)為“新工科的探路者”。培養(yǎng)能夠適應(yīng)軟件產(chǎn)業(yè)需求發(fā)展的高素質(zhì)應(yīng)用型人才,強(qiáng)化學(xué)生的實(shí)踐動(dòng)手能力已成為目前的主要任務(wù)。面對(duì)當(dāng)前軟件工程專業(yè)教學(xué)模式日益凸顯的缺點(diǎn)和短板,必須做出相應(yīng)的調(diào)整與創(chuàng)新。
1 現(xiàn)有的軟件工程專業(yè)教學(xué)模式存在的問(wèn)題
1.1 “填鴨式”教學(xué)易導(dǎo)致同質(zhì)化
目前大部分高校課堂采取的仍是傳統(tǒng)的“填鴨式”教學(xué)模式,教師在講臺(tái)上以灌輸?shù)男问浇o學(xué)生講述知識(shí)?!肮噍敗焙艽蟪潭壬鲜菃蜗颉白龉Α?,容易導(dǎo)致師生之間缺乏交流,教師難以收集到學(xué)生反饋回來(lái)的不同思想,個(gè)性化的培養(yǎng)也就無(wú)從談起。長(zhǎng)此以往,“填鴨式”教學(xué)培育出來(lái)的學(xué)生幾乎都是一個(gè)模子刻出來(lái)的,同質(zhì)化現(xiàn)象十分嚴(yán)重。
1.2 “一錘定音”的考核模式導(dǎo)致學(xué)習(xí)具有“目的性”
目前高校的考核制度大多是以期末閉卷筆試的形式進(jìn)行,在這種形式下,考試重點(diǎn)就成了學(xué)生學(xué)習(xí)知識(shí)的“方向標(biāo)”,一些考試沒(méi)有涉及到的,但是同樣重要的知識(shí)點(diǎn)就會(huì)被選擇性地忽視掉,造成知識(shí)體系的不完整。并且,為了應(yīng)對(duì)考試,學(xué)生在鞏固知識(shí)點(diǎn)的時(shí)候會(huì)局限于紙面上的題目,而忽視實(shí)際中對(duì)知識(shí)點(diǎn)的運(yùn)用。如此惡性循環(huán),就會(huì)導(dǎo)致畢業(yè)之后只會(huì)“紙上談兵”但是實(shí)際動(dòng)手能力較差。
1.3 缺乏工程實(shí)踐經(jīng)驗(yàn)
對(duì)大部分人來(lái)說(shuō),大學(xué)畢業(yè)意味著步入社會(huì)。因此,在大學(xué)期間的社會(huì)預(yù)熱是很重要的。但是目前軟件工程專業(yè)的教學(xué)模式存在工程性缺失的現(xiàn)象,實(shí)踐環(huán)節(jié)較為薄弱,致使學(xué)生在校期間過(guò)于注重理論知識(shí),忽視了實(shí)踐的重要性,缺乏工程實(shí)踐經(jīng)驗(yàn),不了解企業(yè)的項(xiàng)目開(kāi)發(fā)流程。這些畢業(yè)生融入社會(huì)的過(guò)程中就會(huì)經(jīng)歷很多挫折,最終出現(xiàn)“學(xué)生找不到工作,企業(yè)招不到人才”的怪象。
2 軟件工程專業(yè)課程教學(xué)創(chuàng)新
2.1 研討課模式
2018年11月教育部在《關(guān)于政協(xié)十三屆全國(guó)委員會(huì)第一次會(huì)議第4004號(hào)(教育類380號(hào))提案答復(fù)的函》中指出高??赏ㄟ^(guò)研討課模式培養(yǎng)學(xué)生分析和解決問(wèn)題的能力、表達(dá)溝通能力、終身學(xué)習(xí)能力、道德反思能力和全球化視野[2]。為響應(yīng)國(guó)家政策,現(xiàn)就軟件工程專業(yè)實(shí)踐動(dòng)手能力要求較高的課程,嘗試開(kāi)展研討課模式。
在研討課之前,教師可將學(xué)生進(jìn)行分組,對(duì)一個(gè)大的課程設(shè)計(jì)進(jìn)行模式或者功能的分工。在研討課上,小組通過(guò)報(bào)告或是PPT的形式對(duì)自己開(kāi)發(fā)的部分進(jìn)行功能展示以及細(xì)節(jié)描述,包括數(shù)據(jù)結(jié)構(gòu)的選擇,算法設(shè)計(jì)實(shí)現(xiàn)遇到的困難。教師和其他小組的同學(xué)可就任意的疑難點(diǎn)隨時(shí)與發(fā)言者進(jìn)行討論。等所有的小組都展示完畢后,教師可對(duì)表現(xiàn)優(yōu)秀的小組進(jìn)行肯定,對(duì)不足的地方提出改進(jìn)意見(jiàn)。學(xué)生在聽(tīng)取其他小組的功能報(bào)告后,對(duì)自己未實(shí)現(xiàn)的部分也有了一個(gè)大致的了解,再去實(shí)現(xiàn)時(shí),就能夠以此為借鑒去探索更加優(yōu)化的開(kāi)發(fā)途徑。
這種以學(xué)生為主體的研討課模式,學(xué)生即老師,老師即學(xué)生。學(xué)生可以聽(tīng)取別人的想法,并將自己的想法糅合進(jìn)去,開(kāi)發(fā)出有自己創(chuàng)意的課程設(shè)計(jì);教師在指正的同時(shí)也在不斷吸收學(xué)生所提供的新思想,以便歸納總結(jié)并傳播,從而形成一個(gè)互利雙贏的局面。
2.2 “電腦課堂”
軟件工程專業(yè)相關(guān)課程對(duì)學(xué)生的動(dòng)手能力要求很高,無(wú)論是在學(xué)習(xí)一門編程語(yǔ)言(C、C++、Java等),核心課程(數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)等),還是網(wǎng)站開(kāi)發(fā)(.NET架構(gòu)、Java EE等),都需要大量的動(dòng)手操作。
在學(xué)校條件允許或是學(xué)生可自備電腦的情況下,設(shè)計(jì)“電腦課堂”的構(gòu)想。在課前,教師將編程任務(wù)布置給學(xué)生(如給出算法的思想或偽碼要求學(xué)生編程實(shí)現(xiàn)或是將一個(gè)完整程序中的某一小塊核心代碼挖去后由學(xué)生補(bǔ)充);在課堂上,教師先統(tǒng)計(jì)調(diào)試成功的人數(shù),然后選出質(zhì)量最好的代碼進(jìn)行課堂講解。在解決調(diào)試中遇到的問(wèn)題時(shí),教師可以利用電腦投屏軟件,讓所有出現(xiàn)的錯(cuò)誤在全班面前呈現(xiàn)出來(lái);在糾正報(bào)錯(cuò)時(shí),可先由調(diào)試成功的同學(xué)進(jìn)行解答,如果遇到的問(wèn)題比較經(jīng)典或是重要,則由教師負(fù)責(zé)講解。通過(guò)這種“電腦課堂”的形式進(jìn)行授課,一方面能夠更全面地見(jiàn)識(shí)問(wèn)題,以至于更快地發(fā)現(xiàn)問(wèn)題并解決問(wèn)題,同時(shí)能夠調(diào)動(dòng)學(xué)生在課堂上的積極性并提高學(xué)生的編程能力。
2.3 新增階段性測(cè)試,“4+3+3”式考核
突擊應(yīng)對(duì)期末考核是造成學(xué)生基礎(chǔ)不扎實(shí)、應(yīng)用能力弱、實(shí)踐能力差的主要原因[3]。為了提高編程能力需要平時(shí)多加練習(xí),因此提出“階段性測(cè)試”的考核方式,主要包括:①日常算法設(shè)計(jì):教師可在部分章節(jié)學(xué)習(xí)完畢后,根據(jù)所學(xué)內(nèi)容提出一定的需求,旨在運(yùn)用課本理論知識(shí)解決實(shí)際問(wèn)題,要求學(xué)生自行設(shè)計(jì)算法(需給出詳細(xì)注釋以及算法設(shè)計(jì)思路)并規(guī)定提交時(shí)間;②在線編程測(cè)試:教師通過(guò)在線測(cè)試網(wǎng)站,在限定時(shí)間范圍內(nèi)指定若干道編程題讓學(xué)生進(jìn)行在線編程。評(píng)定時(shí),前者根據(jù)算法合理性、代碼規(guī)范化、功能及擴(kuò)展情況進(jìn)行評(píng)分;后者根據(jù)系統(tǒng)上提交成功并調(diào)試通過(guò)的題目數(shù)量進(jìn)行評(píng)分。最終將兩部分的分?jǐn)?shù)綜合,作為階段性測(cè)試的成績(jī),占比40%。根據(jù)平時(shí)的出勤以及作業(yè)完成的認(rèn)真度計(jì)算平時(shí)成績(jī),占比30%。最終通過(guò)期末考試,對(duì)全書(shū)的知識(shí)點(diǎn)進(jìn)行統(tǒng)一考查,占比30%。三個(gè)部分加起來(lái),構(gòu)成該門課的最終成績(jī)。課程成績(jī)構(gòu)成如圖1所示。通過(guò)這種階段性的考核模式,能有效提高學(xué)生對(duì)知識(shí)的掌握程度以及應(yīng)用能力。
3 軟件工程專業(yè)學(xué)生動(dòng)手能力的加強(qiáng)措施
3.1 學(xué)會(huì)模仿
閱讀和維護(hù)高質(zhì)量的開(kāi)源軟件。剛開(kāi)始動(dòng)手編程時(shí),很多學(xué)生面臨著無(wú)從下手的窘境。此時(shí)可以在網(wǎng)上尋找一些高質(zhì)量且具有一定規(guī)模的開(kāi)源代碼,根據(jù)對(duì)開(kāi)源軟件的理解進(jìn)行代碼標(biāo)注、代碼質(zhì)量分析,并對(duì)其進(jìn)行維護(hù),完善其功能,糾正其缺陷[4]。通過(guò)學(xué)習(xí)別人編寫(xiě)的高質(zhì)量代碼以及代碼風(fēng)格,就會(huì)對(duì)編碼規(guī)范和軟件設(shè)計(jì)模式有一個(gè)大體的認(rèn)識(shí),從而可以模仿著寫(xiě)出類似的代碼。通過(guò)不斷地模仿,摸索其中的經(jīng)驗(yàn)并總結(jié)在維護(hù)中遇到的問(wèn)題,對(duì)以后的編程生涯會(huì)有很大幫助。
3.2 貼近企業(yè)化開(kāi)發(fā),從團(tuán)隊(duì)協(xié)作開(kāi)始
一個(gè)復(fù)雜的軟件系統(tǒng)往往是由一個(gè)分工明確、高度協(xié)作的軟件團(tuán)隊(duì)按照工程化的方法共同完成的。團(tuán)隊(duì)協(xié)作能力是貫穿整個(gè)大學(xué)生活以及職業(yè)生涯的主旋律。教師可通過(guò)布置團(tuán)隊(duì)合作項(xiàng)目,或是指導(dǎo)學(xué)生組建團(tuán)隊(duì)參加大學(xué)生課外科技活動(dòng)競(jìng)賽,采用企業(yè)化項(xiàng)目管理模式,實(shí)施團(tuán)隊(duì)分工協(xié)作,培養(yǎng)學(xué)生的團(tuán)隊(duì)協(xié)作能力、集體工作或項(xiàng)目的領(lǐng)導(dǎo)和參與能力(包括參與討論、提出自己的觀點(diǎn)、參與執(zhí)行),并且遵循軟件開(kāi)發(fā)編程規(guī)范及原則,按照軟件開(kāi)發(fā)流程,提高軟件開(kāi)發(fā)、運(yùn)營(yíng)和維護(hù)的效率。
3.3 形成競(jìng)爭(zhēng)氛圍,在競(jìng)爭(zhēng)中開(kāi)拓學(xué)生的創(chuàng)新思維
競(jìng)爭(zhēng)氛圍是一種催化劑,往往能激發(fā)學(xué)生的創(chuàng)新思維。在學(xué)生掌握了一定的基礎(chǔ)理論知識(shí)以后,教師可布置課程設(shè)計(jì)任務(wù),例如給出一個(gè)軟件APP的部分需求或雛形,要求學(xué)生自由組隊(duì)、討論、設(shè)計(jì)、分工,最終實(shí)現(xiàn)。期間教師可抽查小組的工作進(jìn)度,可參與討論或給予適當(dāng)?shù)囊龑?dǎo)。最終選出最有創(chuàng)意,設(shè)計(jì)最完善的作品進(jìn)行展示,并對(duì)其他作品的特色之處進(jìn)行點(diǎn)評(píng)。一旦形成競(jìng)爭(zhēng)氛圍,學(xué)生就不會(huì)僅僅滿足于實(shí)現(xiàn)基本功能,往往會(huì)別出心裁,出奇制勝。
3.4 “雙線齊下”開(kāi)展企業(yè)項(xiàng)目實(shí)訓(xùn)
校企共同制訂培養(yǎng)計(jì)劃,研討實(shí)訓(xùn)內(nèi)容,采用“雙線齊下”的方式對(duì)學(xué)生進(jìn)行工程實(shí)踐指導(dǎo)和疑難解答。線上,企業(yè)將項(xiàng)目?jī)?nèi)容以文檔的形式呈現(xiàn)出來(lái),內(nèi)含程序框架、組成模塊、開(kāi)發(fā)環(huán)境、部分核心代碼的偽碼以及程序運(yùn)行效果圖。在學(xué)生對(duì)項(xiàng)目基本了解之后,再通過(guò)企業(yè)提供的項(xiàng)目開(kāi)發(fā)視頻,聽(tīng)取企業(yè)項(xiàng)目工程師對(duì)部分項(xiàng)目?jī)?nèi)容的開(kāi)發(fā)講解,學(xué)習(xí)他們的開(kāi)發(fā)經(jīng)驗(yàn),最后自己動(dòng)手實(shí)現(xiàn)項(xiàng)目。線下,安排企業(yè)教師就學(xué)生在開(kāi)發(fā)項(xiàng)目過(guò)程中遇到的問(wèn)題進(jìn)行答疑解惑,可就學(xué)生遇到的普遍性問(wèn)題進(jìn)行重點(diǎn)講解。
通過(guò)線上與線下交叉進(jìn)行的方式引導(dǎo)學(xué)生進(jìn)行項(xiàng)目開(kāi)發(fā),讓學(xué)生更深層地了解企業(yè)項(xiàng)目開(kāi)發(fā)流程,適應(yīng)企業(yè)的開(kāi)發(fā)強(qiáng)度,對(duì)學(xué)生將來(lái)步入社會(huì)有很大的幫助。
4 結(jié)束語(yǔ)
在新工科背景下,軟件工程專業(yè)需要通過(guò)教學(xué)模式改革來(lái)培養(yǎng)滿足未來(lái)軟件產(chǎn)業(yè)需要的高素質(zhì)應(yīng)用型人才。堅(jiān)持以學(xué)生為中心的教學(xué)理念,問(wèn)學(xué)生志趣變方法[5],采用新型的課程教學(xué)模式,提高學(xué)生課堂參與度,調(diào)動(dòng)學(xué)生的積極性。增加階段性測(cè)試,強(qiáng)化日常編程訓(xùn)練。加強(qiáng)團(tuán)隊(duì)協(xié)作、形成競(jìng)爭(zhēng)氣氛、積極開(kāi)展企業(yè)實(shí)訓(xùn),最終提高學(xué)生的實(shí)踐動(dòng)手能力,為我國(guó)軟件產(chǎn)業(yè)發(fā)展提供智力和人才支撐。以新工科建設(shè)為重要抓手,持續(xù)深化工程教育改革,是目前高等工程教育發(fā)展的必然趨勢(shì),基于新工科理念的教學(xué)模式仍需要不斷的探索和完善。
參考文獻(xiàn)(References):
[1] 新工科建設(shè)指南(“北京指南”)[J].高等工程教育研究,2017.4:20-21
[2] 教育部印發(fā)《關(guān)于政協(xié)十三屆全國(guó)委員會(huì)第一次會(huì)議第4004號(hào)(教育類380號(hào))提案答復(fù)的函》[EB/OL]http://www.moe.gov.cn/jyb_xxgk/xxgk_jyta/jyta_jyfzyjzx/201901/t20190122_367767.html,2018-11-1
[3] 張其文,張秋余,顧群.面向新工科的軟件工程應(yīng)用型人才培養(yǎng)模式研究[J].西部素質(zhì)教育,2018.4(15):159-160
[4] 毛新軍,尹剛,尹良澤,張春元,毛曉光.新工科背景下的軟件工程課程實(shí)踐教學(xué)建設(shè):思考與探索[J].計(jì)算機(jī)教育,2018.7:5-8,13
[5] “新工科”建設(shè)行動(dòng)路線(“天大行動(dòng)”)[J].高等工程教育研究,2017.2:24-25