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