楊波 許福 陳志泊
關(guān)鍵詞:軟件工程;課程思政;教學(xué)探索
1引言
2016年12月,全國高校思政工作會議指出:“要堅持把立德樹人作為中心環(huán)節(jié),把思想政治工作貫穿教育教學(xué)全過程,實現(xiàn)全程育人、全方位育人?!薄败浖こ獭弊鳛楦咝S嬎銠C科學(xué)與技術(shù)、軟件工程等專業(yè)的必修課程,如何利用課程思政的思想來助力軟件的開發(fā)與應(yīng)用,如何將課程思政與“軟件工程”課程的理論知識進(jìn)行有機融合,如何將這些知識很好地傳授給學(xué)生,是目前課程思政建設(shè)的一項重要工作。
如今,“軟件工程”課程思政面臨一些難題,主要表現(xiàn)在兩個方面。第一是“軟件工程”課程教學(xué)內(nèi)容多,教學(xué)時間卻偏少,留給課程思政的時間較少。第二是挖掘“軟件工程”課程中的思政內(nèi)容較難,“軟件工程”課程偏重軟件開發(fā)過程中的理論知識,較難挖掘其中的課程思政內(nèi)容。
為此,經(jīng)過多年開展“軟件工程”課程教學(xué),在調(diào)研我國基礎(chǔ)軟件面臨的一系列問題的前提下,本文提出了針對“軟件工程”課程的思政教學(xué)探索。本文主要從我國基礎(chǔ)軟件面臨的一些困境,尤其是基礎(chǔ)軟件還比較薄弱的情況,重點闡述在軟件開發(fā)的過程中,將理論知識和基礎(chǔ)軟件的現(xiàn)實情況相結(jié)合,對涉及的具體情況進(jìn)行解析和總結(jié),從而激發(fā)學(xué)生投身我國基礎(chǔ)軟件開發(fā)的熱情。
2“軟件工程”課程思政研究現(xiàn)狀
針對“軟件工程”課程的培養(yǎng)目標(biāo)和教學(xué)實施,有許多研究者提出了相應(yīng)的課程思政方法。例如,鄧娜等[1]針對“軟件工程”實踐課程的特點,提出了基于“主動思政”和“體悟踐行”的思政教學(xué)模式,并從課程前期準(zhǔn)備到項目實施,從課程內(nèi)外幾個方面,來實施課程思政。張自力等[2]從“軟件工程概論”課程的基本知識點、教學(xué)案例和課程實踐3個維度,提出從課程的傳授、知識領(lǐng)悟、探索等角度來探索“軟件工程概論”課程思政的教學(xué)方式。
還有一些研究者從工程認(rèn)證教育出發(fā),提出了相應(yīng)的課程教學(xué)方法。例如,黃蘭英等[3]從工程教育認(rèn)證的角度,提出了基于“OBE+思政”的軟件專業(yè)人才培養(yǎng)框架,并以實際案例講解了教學(xué)過程。劉強[4]基于OBE理念對整個教學(xué)方案進(jìn)行了改造和優(yōu)化,重新設(shè)計了課程學(xué)習(xí)目標(biāo)、教學(xué)內(nèi)容框架、項目實踐方法和課程實驗環(huán)境等。除此之外,還有一些從新工科的角度提出課程改革。例如,陳志剛等[5]圍繞價值引導(dǎo),針對新工科改革內(nèi)容,在育人文化、培養(yǎng)體系和教學(xué)管理過程等方面進(jìn)行實踐。
上述文章對“軟件工程”課程思政教育研究起到了一定作用,是我們繼續(xù)開展課程思政研究的參考。針對國產(chǎn)化基礎(chǔ)軟件開發(fā)面臨的問題,本文提出了面向“軟件工程”課程思政的教學(xué)方法,重點在于將目前基礎(chǔ)軟件面臨的基礎(chǔ)不強和仍然存在“卡脖子”的問題,融入“軟件工程”課程的教學(xué)過程中?;诖?,我們對“軟件工程”課程內(nèi)容及教學(xué)方法進(jìn)行了規(guī)劃,具體表現(xiàn)在以下幾個方面。
2.1更新教育理念
(1)將“軟件工程”課程內(nèi)容進(jìn)行重新組織,在其中增加課程思政的內(nèi)容。
(2)在軟件工程概述、軟件需求分析及軟件設(shè)計、開發(fā)、管理和維護(hù)等內(nèi)容中增加相應(yīng)的課程思政內(nèi)容,結(jié)合相關(guān)理論和實踐知識的講解,課堂內(nèi)容的深度和廣度都得到了增強。
2.2規(guī)范教學(xué)管理
(1)對理論課和實踐課進(jìn)行規(guī)范化管理。理論課上重在傳授“軟件工程”的基礎(chǔ)知識和方法,實踐課重在動手開發(fā)。根據(jù)兩類課堂的側(cè)重點,對教學(xué)管理進(jìn)行了區(qū)分,相應(yīng)的課程思政內(nèi)容也有所偏重。
(2)理論課上,從講課、提問到分析都制定了相應(yīng)的課程思政內(nèi)容。另外,結(jié)合目前軟件工程中遇到的實際問題,進(jìn)行深層次的分析。
(3)實踐課上,針對理論課上提出的課程思政內(nèi)容,讓學(xué)生在真實的軟件開發(fā)、測試和維護(hù)的場景中,體會“軟件工程”課程思政的內(nèi)在含義。
2.3促進(jìn)學(xué)生持續(xù)發(fā)展
(1)在軟件需求分析這一部分中,增加了目前許多大型企業(yè)軟件項目中使用的敏捷開發(fā)方法,重點講解敏捷開發(fā)中用戶故事的創(chuàng)建與驗證,并設(shè)計了相應(yīng)的實驗環(huán)節(jié),讓學(xué)生從實踐的角度去體會需求對軟件工程的重要作用。
(2)在軟件設(shè)計、開發(fā)、管理及維護(hù)這一部分中,增加了開源軟件的介紹和管理。幫助學(xué)生利用好開源軟件,并且增加了開源項目管理工具Git,同時設(shè)計實驗幫助學(xué)生進(jìn)一步理解軟件項目的開發(fā)與管理。從中不僅可以幫助學(xué)生掌握相關(guān)知識,也能使其體會軟件的開發(fā)過程是一個相互協(xié)作的過程,需要全體人員齊心協(xié)力來完成。
(3)在軟件測試與驗證這一部分中,增加了可信軟件的內(nèi)容,幫助學(xué)生去理解軟件測試與驗證的關(guān)鍵性,并提供實際的案例來進(jìn)行分析和講解。
3“軟件工程”課程思政內(nèi)容設(shè)計
為了對“軟件工程”的課程思政內(nèi)容進(jìn)行設(shè)計,首先需要結(jié)合我國面臨的基礎(chǔ)軟件薄弱的現(xiàn)實情況,對課程內(nèi)容進(jìn)行分析。經(jīng)過分析和總結(jié),對“軟件工程”課程內(nèi)容進(jìn)行重新設(shè)計,將課程思政的內(nèi)容融人其中。其中,軟件工程概述,軟件需求分析及詳細(xì)設(shè)計,軟件過程管理,軟件設(shè)計,開發(fā)和維護(hù),軟件測試與驗證這五大部分都增加了相應(yīng)的課程思政案例。具體如下。
(1)在軟件工程概述中,重點介紹國產(chǎn)軟件的現(xiàn)狀,尤其是比較好的國產(chǎn)軟件,以樹立學(xué)生對國產(chǎn)軟件的信心,將關(guān)鍵核心技術(shù)自主可控的決心融人“軟件工程”課程教學(xué)的過程中。
(2)軟件需求是軟件開發(fā)的基礎(chǔ),因為需求是創(chuàng)新之源,課堂中可以從我們內(nèi)外循環(huán)的需求來講述國家的發(fā)展,正是因為有了這些需求,才有內(nèi)循環(huán)和外循環(huán)。
(3)在軟件項目管理中,可以從國產(chǎn)軟件面臨的問題,重點闡述軟件項目管理在其中的作用。另外,在課程中還可以介紹國內(nèi)外大公司項目管理的成功經(jīng)驗,尤其是敏捷開發(fā)的實際案例。
(4)針對軟件設(shè)計、開發(fā)和維護(hù),主要可以從兩種典型的軟件開發(fā)方法人手,介紹其中的理論和實踐知識,同時增加相應(yīng)的課程思政內(nèi)容。例如,結(jié)構(gòu)化軟件開發(fā)采用的是用戶至上的原則,結(jié)構(gòu)化、模塊化、自頂向下地對系統(tǒng)進(jìn)行分析和設(shè)計的方法。面向?qū)ο蠓椒ǖ谋举|(zhì)是主張參照人們認(rèn)識一個現(xiàn)實系統(tǒng)的方法,完成分析、設(shè)計與實現(xiàn)一個軟件系統(tǒng)的過程,提倡用現(xiàn)實生活中常用的思維方法來認(rèn)識、理解和描述客觀事物。這與平時生活中關(guān)注和處理事情是一致的,都是用客觀規(guī)律與方法來指導(dǎo)學(xué)習(xí)和生活,做到實事求是。
(5)軟件測試和驗證是保證軟件可靠性的重要手段。這部分課程可以結(jié)合人類歷史上出現(xiàn)的飛機失事的典型案例,介紹其中軟件測試與驗證可以發(fā)揮作用的地方。值得注意的是,2019年華為的一號文件中提到了《全面提升軟件工程能力與實踐,打造可信的高質(zhì)量產(chǎn)品》,這里就是說軟件工程領(lǐng)域需要提升,目的是打造可信的高質(zhì)量產(chǎn)品。
在進(jìn)行“軟件工程”課程思政時,需要將理論與案例結(jié)合,即將理論知識與思政內(nèi)容融合,通過實踐結(jié)果與思政內(nèi)容的映射,并結(jié)合實際效果對教學(xué)內(nèi)容和教學(xué)方法進(jìn)行總結(jié)與評估。具體可以采用如下步驟:授課教師參與課程思政及實際案例的設(shè)計;學(xué)生根據(jù)實驗任務(wù)書和實驗內(nèi)容,開展課程實踐;教師與學(xué)生一起分析實踐案例,并根據(jù)教學(xué)及實踐結(jié)果進(jìn)行相關(guān)分析,從而把分析結(jié)果反饋給學(xué)生;學(xué)生得到反饋后,再與授課教師探討,從而繼續(xù)對實踐案例進(jìn)行完善:授課教師和學(xué)生進(jìn)行迭代和總結(jié),在不斷的探索中,完善案例與實踐內(nèi)容。
4“軟件工程”課程思政內(nèi)容的實踐框架
為了更好地讓學(xué)生參與“軟件工程”課程思政教學(xué),授課教師需要設(shè)計課程思政的實踐框架。其中,包括思政內(nèi)容與課程理論知識的融合、課程內(nèi)容的講解、實踐案例的開展、實踐結(jié)果分析、實踐結(jié)果與思政內(nèi)容的映射總結(jié)等。
首先,授課教師需要全程參與課程講授和分析。其次,授課教師結(jié)合具體教學(xué)內(nèi)容,包括課程理論知識及課程思政內(nèi)容,設(shè)計相應(yīng)的實踐案例。一方面,這可以進(jìn)行理論知識與課程思政內(nèi)容的融合:另一方面,也可以為后續(xù)設(shè)計實踐案例做準(zhǔn)備。在進(jìn)行實踐時,需要給學(xué)生提前講解其中的背景知識和所用的方法,后期還需要指導(dǎo)學(xué)生進(jìn)行分析與總結(jié)。
“軟件工程”課程思政教學(xué)的一般框架如圖1所示。針對“軟件工程”課程的某理論部分,分為如下幾個步驟來講解。首先,根據(jù)課程理論知識,調(diào)研相關(guān)思政內(nèi)容的細(xì)節(jié),這里需要收集與整理時事、政治等相關(guān)材料。
教師在課堂上對具體理論知識和思政內(nèi)容進(jìn)行講解的過程中,要順其自然地引出課程思政的內(nèi)容。例如,談到軟件危機時,不僅講述歷史上的軟件危機,也需要談一談國內(nèi)基礎(chǔ)軟件面臨的軟件危機。如此一來,學(xué)生不僅可以了解歷史上的軟件危機,也可以了解現(xiàn)實生活中面臨的“軟件危機”
教師還要基于講解的理論知識與思政內(nèi)容,盡可能地構(gòu)建可以實踐的應(yīng)用場景。例如,在講解完軟件測試與驗證的理論知識時,可以講一些軟件中存在的故障,其可能會引發(fā)重大的人身財產(chǎn)安全問題。在此,可以以近年來的飛機失事為案例,重點說明軟件中存在故障的危害,從而增強學(xué)生對軟件測試和驗證的重視。在實踐的過程中,可以找一些飛控軟件、汽車剎車軟件或電梯軟件的測試、驗證案例,讓學(xué)生理解和掌握軟件測試、驗證理論與應(yīng)用知識。
在構(gòu)建好實踐應(yīng)用場景之后,就可以規(guī)劃實踐的開展。針對實踐案例的背景,可以進(jìn)行具體的功能分析,找出其中能夠應(yīng)用理論知識的場景。在進(jìn)行實踐之前,教師需要講解實踐前的預(yù)備知識,并分析實踐步驟的基本原理和基本思路。此后,可以整理出實踐報告模板。接下來,指導(dǎo)學(xué)生進(jìn)行實踐并收集實踐結(jié)果。最后,還需要對實踐結(jié)果進(jìn)行分析和反饋,以便應(yīng)用到后續(xù)的教學(xué)和實踐中。
實踐結(jié)果需要相應(yīng)地進(jìn)行映射,將思政內(nèi)容也貫穿其中,幫助學(xué)生將理論知識與實踐知識充分融合。如此一來,學(xué)生既收獲了“軟件工程”課程相關(guān)理論與實踐知識,也明白了課程思政內(nèi)容與現(xiàn)實的對應(yīng)關(guān)系。
5結(jié)束語
本文研究了面向本科生的“軟件工程”課程思政教學(xué),其中包括課程思政教學(xué)的一般框架,結(jié)合該框架講解了其中的內(nèi)容,并給出了幾個具體的實例。將一般框架和理論與實踐相結(jié)合的方法,應(yīng)用到本科生課程思政教學(xué)的分析與設(shè)計中。
由于“軟件工程”課程的理論性較強,如何做到思政內(nèi)容與理論實踐的緊密結(jié)合,還需要進(jìn)行多輪迭代,在教學(xué)中不斷改進(jìn)。團(tuán)隊會繼續(xù)加大對“軟件工程”課程思政材料的收集與分析,并根據(jù)這些材料整理出相應(yīng)的實踐案例,把課程思政落到實處,真正體現(xiàn)出“堅持把立德樹人作為中心環(huán)節(jié),把思想政治工作貫穿教育教學(xué)全過程,實現(xiàn)全程育人、全方位育人”。